001package jmri.jmrit.logixng.util.parser; 002 003/** 004 * Types of tokens. 005 * 006 * https://introcs.cs.princeton.edu/java/11precedence/ 007 */ 008 009public enum TokenType { 010 ERROR, // Invalid token, for example an identifier starting with a digit 011 SAME_AS_LAST, // The same token as last time 012 NONE, 013 SPACE, // Any space character outside of a string, like space, newline, ... 014 COMMA, // , , used for parameter lists 015 DOT_DOT, // .. , used for intervalls 016 DOT, // . , used for method calls and properties, for example myVar.myFunc(parameter) 017 ASSIGN, // = 018 ASSIGN_ADD, // += 019 ASSIGN_SUBTRACKT, // -= 020 ASSIGN_MULTIPLY, // *= 021 ASSIGN_DIVIDE, // /= 022 ASSIGN_MODULO, // %= 023 ASSIGN_AND, // &= 024 ASSIGN_OR, // |= 025 ASSIGN_XOR, // ^= 026 ASSIGN_SHIFT_LEFT, // <<= 027 ASSIGN_SHIFT_RIGHT, // >>= 028 ASSIGN_UNSIGNED_SHIFT_RIGHT, // >>>= 029 TERNARY_QUESTION_MARK, // ? 030 TERNARY_COLON, // : 031 BOOLEAN_OR, // || 032 BOOLEAN_XOR, // ^^ (Requested by Bob M) 033 BOOLEAN_AND, // && 034 BINARY_OR, // | 035 BINARY_XOR, // ^ 036 BINARY_AND, // & 037 EQUAL, // == 038 NOT_EQUAL, // != 039 LESS_THAN, // < 040 LESS_OR_EQUAL, // <= 041 GREATER_THAN, // > 042 GREATER_OR_EQUAL, // >= 043 SHIFT_LEFT, // << 044 SHIFT_RIGHT, // >> 045 UNSIGNED_SHIFT_RIGHT, // >>> 046 ADD, // + 047 SUBTRACKT, // - 048 MULTIPLY, // * 049 DIVIDE, // / 050 MODULO, // % 051 BOOLEAN_NOT, // ! 052 BINARY_NOT, // ~ 053 INCREMENT, // ++ 054 DECREMENT, // -- 055 LEFT_PARENTHESIS, // ( 056 RIGHT_PARENTHESIS, // ) 057 LEFT_SQUARE_BRACKET, // [ 058 RIGHT_SQUARE_BRACKET, // ] 059 LEFT_CURLY_BRACKET, // { 060 RIGHT_CURLY_BRACKET, // } 061 IDENTIFIER, 062 INTEGER_NUMBER, 063 FLOATING_NUMBER, 064 STRING; 065}