protected virtual AleToken CreateToken(AleTokenType tokenType, int start, int length, string value = "", List<AleToken> container = null) { AleToken Token = new AleToken(tokenType, start, length, this); Token.Container = container; switch (tokenType) { case AleTokenType.UnknownText: case AleTokenType.DecimalNumber: case AleTokenType.FloatNumber: case AleTokenType.HexNumber: case AleTokenType.TextAtom: case AleTokenType.DateToken: case AleTokenType.Operation: case AleTokenType.Operator: case AleTokenType.Variable: Token.Value = _Text.Substring(start, length); break; case AleTokenType.TextConstant: Token.Value = value; break; case AleTokenType.Parentheses: case AleTokenType.Brackets: Token.Value = _Text.Substring(start, 1); break; case AleTokenType.ListToken: case AleTokenType.ListElement: Token.Value = _ListSep; break; case AleTokenType.KeyValue: Token.Value = _KeyValueSep; break; case AleTokenType.Pair: Token.Value = _PairSep; break; default: Token.Value = value; break; } return Token; }
public AleOperationToken(AleTokenType type, int start, int length, AleOperation op, AleSimpleLexer lexer = null) : base(type, start, length, lexer) { _Associativity = 0; _Operation = op; }
public AleToken(AleTokenType type, int start, int length, AleSimpleLexer lexer = null) { _Type = type; _StartInOrigin = start; _LengthInOrigin = length; _SubElements = null; _Container = null; _Lexer = lexer; _Value = ""; }