Namespace Albatross.Expression.Tokens
Classes
AssignmentToken
BooleanLiteralToken
will only take true or false, case insensitive
ControlToken
DoubleQuoteStringLiteralToken
will take any string literal enclosed by double quotes. use back slash to escape.
Check the GetStringEscape function for escapable chars
InfixOperationToken
NumericLiteralToken
will take any numbers with decimals and without signs.
PrefixOperationToken
SingleDoubleQuoteStringLiteralToken
A string literal token that can use either single quote or double quote as the string boundary. The Boundary property is set to double quote by default. It will be changed to the correct boundary when the expression is parsed.
SingleQuoteStringLiteralToken
will take any string literal enclosed by double quotes. use back slash to escape.
Check the GetStringEscape function for escapable chars
StringLiteralToken
will take any string literal enclosed by double quotes. use back slash to escape.
Check the GetStringEscape function for escapable chars
VariableToken
VariableToken class will look for names in the expression string. It follows the same rule as C# variable names which allows alpha numeric and underline characters. The leading character of a variable cannot be numeric. In addition, it allows two name to be joined together using a period. So "name1.name2" is also OK. However "name1.name2.name3" is not allowed.
Note: a variable name cannot be followed by a open parentheses because it will become a function. Please keep that in mind when creating a custom IVariableToken implementation.
Legal Variable Names
- cat
- cat
- cat
- cat0_
- field.cat0_
- field0.cat0_
Illegal Variable Names
- test.field0.cat0_
- 0cat
- cat.1cat
- 0cat.cat
- $cat$