1 // 2 // Copyright (c) 2010-2023 Antmicro 3 // Copyright (c) 2011-2015 Realtime Embedded 4 // 5 // This file is licensed under the MIT License. 6 // Full license text is available in 'licenses/MIT.txt'. 7 // 8 using System; 9 using Antmicro.Renode.Core; 10 using System.Linq; 11 12 using Range = Antmicro.Renode.Core.Range; 13 14 namespace Antmicro.Renode.UserInterface.Tokenizer 15 { 16 public abstract class RangeToken : Token 17 { GetObjectValue()18 public override object GetObjectValue() 19 { 20 return Value; 21 } 22 ToString()23 public override string ToString() 24 { 25 return string.Format("[RangeToken: Value={0}]", Value); 26 } 27 28 public Range Value { get; protected set; } 29 RangeToken(string value)30 protected RangeToken(string value) : base(value) 31 { 32 } 33 ParseNumbers(string[] input)34 protected ulong[] ParseNumbers(string[] input) 35 { 36 var resultValues = new ulong[2]; 37 for(var i = 0; i < input.Length; ++i) 38 { 39 resultValues[i] = input[i].Contains('x') 40 ? Convert.ToUInt64(input[i].Split('x')[1], 16) 41 : resultValues[i] = ulong.Parse(input[i]); 42 43 } 44 return resultValues; 45 } 46 } 47 } 48 49