# lextab.py. This file automatically created by PLY (version 3.11). Don't edit!
_tabversion   = '3.10'
_lextokens    = set(('ALT_SPRITES', 'AND', 'BASECOST', 'BASE_GRAPHICS', 'BINARY_NOT', 'CARGOTABLE', 'COLON', 'COMMA', 'COMP_EQ', 'COMP_GE', 'COMP_GT', 'COMP_LE', 'COMP_LT', 'COMP_NEQ', 'DEACTIVATE', 'DISABLE_ITEM', 'DIVIDE', 'ELSE', 'ENGINE_OVERRIDE', 'EQ', 'ERROR', 'FLOAT', 'FONTGLYPH', 'GRAPHICS', 'GRF', 'ID', 'IF', 'ITEM', 'LBRACE', 'LBRACKET', 'LIVERYOVERRIDE', 'LOGICAL_AND', 'LOGICAL_NOT', 'LOGICAL_OR', 'LPAREN', 'MINUS', 'MODULO', 'NUMBER', 'OR', 'PARAMETER', 'PLUS', 'PRODUCE', 'PROPERTY', 'RAILTYPETABLE', 'RANDOMSWITCH', 'RANGE', 'RBRACE', 'RBRACKET', 'RECOLOUR_SPRITE', 'REPLACENEWSPRITE', 'REPLACESPRITE', 'RETURN', 'ROADTYPETABLE', 'RPAREN', 'SEMICOLON', 'SHIFTU_RIGHT', 'SHIFT_LEFT', 'SHIFT_RIGHT', 'SKIP_ALL', 'SNOWLINE', 'SORT_VEHICLES', 'SPRITEGROUP', 'SPRITELAYOUT', 'SPRITESET', 'STRING', 'STRING_LITERAL', 'SWITCH', 'TEMPLATE', 'TERNARY_OPEN', 'TILELAYOUT', 'TIMES', 'TOWN_NAMES', 'TRAMTYPETABLE', 'UNIT', 'VARIABLE', 'WHILE', 'XOR'))
_lexreflags   = 64
_lexliterals  = ''
_lexstateinfo = {'INITIAL': 'inclusive'}
_lexstatere   = {'INITIAL': [('(?P<t_FLOAT>\\d+\\.\\d+)|(?P<t_NUMBER>(0x[0-9a-fA-F]+)|(\\d+))|(?P<t_UNIT>(nfo)|(mph)|(km/h)|(m/s)|(hpI)|(hpM)|(hp)|(kW)|(tons)|(ton)|(kg)|(snow%))|(?P<t_ID>[a-zA-Z_][a-zA-Z0-9_]*)|(?P<t_STRING_LITERAL>"([^"\\\\]|\\\\.)*")|(?P<t_ignore_comment>(/\\*(\\n|.)*?\\*/)|(//.*))|(?P<t_ignore_whitespace>[ \t\r]+)|(?P<t_line_directive1>\\#line\\s+\\d+\\s*(\\r?\\n|".*"\\r?\\n))|(?P<t_line_directive2>\\#\\s+\\d+\\s+".*"\\s*(\\d+\\s*)*\\r?\\n)|(?P<t_newline>\\n+)|(?P<t_LOGICAL_OR>\\|\\|)|(?P<t_RANGE>\\.\\.)|(?P<t_SHIFTU_RIGHT>>>>)|(?P<t_COMP_EQ>==)|(?P<t_COMP_GE>>=)|(?P<t_COMP_LE><=)|(?P<t_COMP_NEQ>!=)|(?P<t_LBRACKET>\\[)|(?P<t_LOGICAL_AND>&&)|(?P<t_LPAREN>\\()|(?P<t_OR>\\|)|(?P<t_PLUS>\\+)|(?P<t_RBRACKET>\\])|(?P<t_RPAREN>\\))|(?P<t_SHIFT_LEFT><<)|(?P<t_SHIFT_RIGHT>>>)|(?P<t_TERNARY_OPEN>\\?)|(?P<t_TIMES>\\*)|(?P<t_XOR>\\^)|(?P<t_AND>&)|(?P<t_BINARY_NOT>~)|(?P<t_COLON>:)|(?P<t_COMMA>,)|(?P<t_COMP_GT>>)|(?P<t_COMP_LT><)|(?P<t_DIVIDE>/)|(?P<t_EQ>=)|(?P<t_LBRACE>{)|(?P<t_LOGICAL_NOT>!)|(?P<t_MINUS>-)|(?P<t_MODULO>%)|(?P<t_RBRACE>})|(?P<t_SEMICOLON>;)', [None, ('t_FLOAT', 'FLOAT'), ('t_NUMBER', 'NUMBER'), None, None, ('t_UNIT', 'UNIT'), None, None, None, None, None, None, None, None, None, None, None, None, ('t_ID', 'ID'), ('t_STRING_LITERAL', 'STRING_LITERAL'), None, ('t_ignore_comment', 'ignore_comment'), None, None, None, ('t_ignore_whitespace', 'ignore_whitespace'), ('t_line_directive1', 'line_directive1'), None, ('t_line_directive2', 'line_directive2'), None, ('t_newline', 'newline'), (None, 'LOGICAL_OR'), (None, 'RANGE'), (None, 'SHIFTU_RIGHT'), (None, 'COMP_EQ'), (None, 'COMP_GE'), (None, 'COMP_LE'), (None, 'COMP_NEQ'), (None, 'LBRACKET'), (None, 'LOGICAL_AND'), (None, 'LPAREN'), (None, 'OR'), (None, 'PLUS'), (None, 'RBRACKET'), (None, 'RPAREN'), (None, 'SHIFT_LEFT'), (None, 'SHIFT_RIGHT'), (None, 'TERNARY_OPEN'), (None, 'TIMES'), (None, 'XOR'), (None, 'AND'), (None, 'BINARY_NOT'), (None, 'COLON'), (None, 'COMMA'), (None, 'COMP_GT'), (None, 'COMP_LT'), (None, 'DIVIDE'), (None, 'EQ'), (None, 'LBRACE'), (None, 'LOGICAL_NOT'), (None, 'MINUS'), (None, 'MODULO'), (None, 'RBRACE'), (None, 'SEMICOLON')])]}
_lexstateignore = {'INITIAL': ''}
_lexstateerrorf = {'INITIAL': 't_error'}
_lexstateeoff = {}
