123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- namespace NTERA.Engine.Compiler
- {
- public enum Token
- {
- Unknown = 0,
- Identifer,
- Value,
- [LexerCharacter('#')]
- Sharp,
- [LexerCharacter('@')]
- AtSymbol,
- [LexerKeyword("DIM")]
- Dim,
- [LexerKeyword("DIMS")]
- Dims,
- [LexerKeyword("CONST")]
- Const,
- [LexerKeyword("REF")]
- Ref,
- [LexerKeyword("DYNAMIC")]
- Dynamic,
- [LexerKeyword("FUNCTION")]
- [LexerKeyword("FUNCTIONS")]
- ReturnFunction,
- [LexerKeyword("TO")]
- To,
- [LexerCharacter('\n')]
- NewLine,
- [LexerCharacter('"')]
- QuotationMark,
- [LexerCharacter(':')]
- Colon,
- [LexerCharacter(',')]
- Comma,
- //[LexerCharacter('{')]
- OpenBracket,
- //[LexerCharacter('}')]
- CloseBracket,
- [LexerCharacter('%')]
- Modulo,
- Plus,
- Increment,
- Append,
- Minus,
- Decrement,
- [LexerCharacter('/')]
- Slash,
- [LexerCharacter('*')]
- Asterisk,
- [LexerCharacter('^')]
- Caret,
- Equal,
- Less,
- More,
- NotEqual,
- LessEqual,
- MoreEqual,
- Or,
- And,
- [LexerCharacter('!')]
- Not,
- [LexerCharacter('(')]
- LParen,
- [LexerCharacter(')')]
- RParen,
- [LexerCharacter('?')]
- QuestionMark,
- TernaryEscape,
- EOF = -1 //End Of File
- }
- public static class TokenEnumExtensions
- {
- public static bool IsUnary(this Token token)
- {
- return token == Token.Plus
- || token == Token.Minus
- || token == Token.Not;
- }
- public static bool IsArithmetic(this Token token)
- {
- return token == Token.Plus
- || token == Token.Minus
- || token == Token.Slash
- || token == Token.Asterisk
- || token == Token.Modulo
- || token == Token.Caret
- || token == Token.Equal
- || token == Token.NotEqual
- || token == Token.Less
- || token == Token.LessEqual
- || token == Token.More
- || token == Token.MoreEqual
- || token == Token.Or
- || token == Token.And
- || token == Token.Not;
- }
- }
- }
|