/* These are the core types, advanced types such as lists/dicts contain these core types (among other things). */ const TOKEN SW_TOKEN_STRING_LITERAL = 1; /* using ', ", """, or ''' */ const TOKEN SW_TOKEN_INTEGER = 2; /* 0-9+ */ const TOKEN SW_TOKEN_FLOAT = 3; /* 0-9.(0-9)* */ const TOKEN SW_TOKEN_BOOL_TRUE = 4; /* true */ const TOKEN SW_TOKEN_BOOL_FALSE = 5; /* false */ const TOKEN SW_TOKEN_CONST = 6; /* const */ /* Symbols/Identifiers */ const TOKEN SW_TOKEN_PROCEDURE = 10; /* => */ const TOKEN SW_TOKEN_IDENTIFIER = 11; /* variables, functions, etc. */ /* const TOKEN SW_TOKEN_CONSTRUCT_LABEL = 12; /* eg: for, do, map, etc */ const TOKEN SW_TOKEN_RELATE = 12; /* -> */ const TOKEN SW_TOKEN_DO = 13; /* do: ... ; */ const TOKEN SW_TOKEN_WHILE = 14; /* while cond: ... ; */ const TOKEN SW_TOKEN_FOR = 15; /* for ...: ... ; */ const TOKEN SW_TOKEN_RETURN = 16; /* return ... */ const TOKEN SW_TOKEN_CONT = 17; /* continue */ const TOKEN SW_TOKEN_BREAK = 18; /* break */ /* General symbols that can be ambiguous */ const TOKEN SW_TOKEN_COLON = 20; /* : */ const TOKEN SW_TOKEN_SEMICOLON = 21; /* ; */ const TOKEN SW_TOKEN_PERIOD = 22; /* . */ const TOKEN SW_TOKEN_COMMA = 23; /* , */ const TOKEN SW_TOKEN_SET = 24; /* = */ const TOKEN SW_TOKEN_JOIN = 25; /* _ */ const TOKEN SW_TOKEN_MORE_ARGS = 26; /* ... */ const TOKEN SW_TOKEN_RANGE = 27; /* .. */ /* Operators */ const TOKEN SW_TOKEN_NOT = 30; /* ! */ const TOKEN SW_TOKEN_IS = 31; /* is */ const TOKEN SW_TOKEN_EQUALS = 32; /* == */ const TOKEN SW_TOKEN_IN = 33; /* in */ const TOKEN SW_TOKEN_NOT_EQUALS = 34; /* != */ const TOKEN SW_TOKEN_LOGICAL_AND = 35; /* && */ const TOKEN SW_TOKEN_LOGICAL_OR = 36; /* || */ const TOKEN SW_TOKEN_LOGICAL_XOR = 37; /* ^^ */ const TOKEN SW_TOKEN_LT = 38; /* < */ const TOKEN SW_TOKEN_GT = 39; /* > */ const TOKEN SW_TOKEN_LT_EQUAL = 40; /* <= */ const TOKEN SW_TOKEN_GT_EQUAL = 41; /* >= */ const TOKEN SW_TOKEN_ADD = 43; /* + */ const TOKEN SW_TOKEN_SUBTRACT = 44; /* - */ const TOKEN SW_TOKEN_DIVIDE = 45; /* / */ const TOKEN SW_TOKEN_MULTIPLY = 46; /* * */ const TOKEN SW_TOKEN_EXPONENT = 47; /* ** */ const TOKEN SW_TOKEN_SUBSTITUTE = 48; /* % */ /* Parens/brackets/braces (would be cool if we could have chevrons as well) */ const TOKEN SW_TOKEN_PAREN_OPEN = 50; /* ( */ const TOKEN SW_TOKEN_PAREN_CLOSE = 51; /* ) */ const TOKEN SW_TOKEN_BRACKET_OPEN = 52; /* [ */ const TOKEN SW_TOKEN_BRACKET_CLOSE = 53; /* ] */ const TOKEN SW_TOKEN_BRACE_OPEN = 54; /* { */ const TOKEN SW_TOKEN_BRACE_CLOSE = 55; /* } */ /* Bitwise operators */ const TOKEN SW_TOKEN_BIT_OR = 60; /* | */ const TOKEN SW_TOKEN_BIT_XOR = 61; /* ^ */ const TOKEN SW_TOKEN_BIT_AND = 62; /* & */ const TOKEN SW_TOKEN_BIT_LSHIFT = 64; /* << */ const TOKEN SW_TOKEN_BIT_RSHIFT = 65; /* >> */ const TOKEN SW_TOKEN_BIT_COMPLEMENT = 66; /* ~ */ /* Type casts */ const TOKEN SW_TOKEN_TYPE_DICT = 70; /* dict */ const TOKEN SW_TOKEN_TYPE_LIST = 71; /* list */ const TOKEN SW_TOKEN_TYPE_INT = 72; /* int */ const TOKEN SW_TOKEN_TYPE_FLOAT = 73; /* float */