text: 
  # cparsetab.py
  # This file is automatically generated. Do not edit.
  _tabversion = '3.10'
  
  _lr_method = 'LALR'
  
  _lr_signature = 'scriptleftQUESTIONCOLONleftORleftANDleftBITWISEORleftBITWISEXORleftBITWISEANDnonassocEQUALNOTEQUALnonassocLESSERTHANLESSEROREQUALGREATERTHANGREATEROREQUALHASHAS_IMATCHESMATCHES_IleftSHIFTLEFTSHIFTRIGHTleftPLUSMINUSleftMULTIPLYMODULUSDIVIDEnonassocNOTBITWISENOTrightUMINUSleftDOTNUMBER STRING LPAREN RPAREN LBRACE RBRACE LBRACKET RBRACKET COMMA COLON ASSIGN ASSIGNPLUS ASSIGNMINUS ASSIGNMULTIPLY ASSIGNMODULUS ASSIGNDIVIDE INCREMENT DECREMENT STOP EQUAL NOTEQUAL LESSERTHAN LESSEROREQUAL GREATERTHAN GREATEROREQUAL PLUS MINUS MULTIPLY MODULUS DIVIDE RANGE DOT NOT AND OR BITWISENOT BITWISEAND BITWISEOR BITWISEXOR SHIFTLEFT SHIFTRIGHT QUESTION ESICOMMENT ESICOMMENT_CONT SYMBOL REQUIRE INLINE FUNCTION RETURN IF ELSE FOR OF BREAK TRY EXCEPT CATCH EVAL INCLUDE HAS HAS_I MATCHES MATCHES_I AS FALSE TRUE LET VAR CONSTempty :script : declarations\n              | emptydeclarations : declaration\n                    | declarations declaration\n                    declaration : statement\n                   | comment\n                   | functiondef\n                   statements : statements cstatementstatements : emptystatements : cstatementcstatement : comment\n                  | statement\n                  statement : assign\n                 | try\n                 | evalinclude STOP\n                 | functioncall STOP\n                 | condition\n                 | return\n                 | functiondef\n                 | loop\n                 | break\n                 | require\n                 statement : LBRACE statements RBRACEcomment : ESICOMMENTcomment : ESICOMMENT commentcontcommentcont : commentcont ESICOMMENT_CONTcommentcont : ESICOMMENT_CONTletVar : LET\n              | VAR\n              | CONSTassign : letVar assignLvalue ASSIGN expression STOPassign : assignLvalue ASSIGN expression STOPassign : assignLvalue INCREMENT\n              | assignLvalue DECREMENT\n              assign : assignLvalue ASSIGNPLUS expression STOP\n              | assignLvalue ASSIGNMINUS expression STOP\n              | assignLvalue ASSIGNMULTIPLY expression STOP\n              | assignLvalue ASSIGNMODULUS expression STOP\n              | assignLvalue ASSIGNDIVIDE expression STOP\n              assignLvalue : SYMBOL\n                    | SYMBOL LBRACKET expression RBRACKET\n                    require : REQUIRE LPAREN stringLiteral RPAREN STOP\n              | REQUIRE LPAREN stringLiteral COMMA namedExpressionList RPAREN STOP\n              condition : IF LPAREN testExpression RPAREN statement ifOtherwiseifOtherwise : empty\n                   | ELSE IF LPAREN testExpression RPAREN statement ifOtherwise\n                   | ELSE statement\n                   loop : FOR LPAREN letVar SYMBOL OF expression RPAREN statement\n            | FOR LPAREN SYMBOL OF expression RPAREN statement\n            | FOR LPAREN expression RPAREN statement\n            statement : FOR LPAREN assign testExpression STOP assign RPAREN statement\n            break : BREAK STOPtry : TRY statementtry : TRY statement EXCEPT statementtry : TRY statement CATCH LPAREN paramList RPAREN statementevalinclude : EVAL LPAREN namedExpressionList RPAREN\n                   | EVAL LPAREN namedExpressionList COMMA RPAREN\n                   | INCLUDE LPAREN namedExpressionList RPAREN\n                   | INCLUDE LPAREN namedExpressionList COMMA RPAREN\n                   namedExpressionList : empty\n                           | namedExpression\n                           | namedExpressionList COMMA namedExpression\n                           namedExpression : SYMBOL ASSIGN expressionfunctiondef : FUNCTION SYMBOL LPAREN paramList RPAREN LBRACE INLINE statements RBRACEfunctiondef : FUNCTION SYMBOL LPAREN paramList RPAREN LBRACE STRING STOP statements RBRACEfunctiondef : FUNCTION SYMBOL LPAREN paramList RPAREN statementfunctiondef : FUNCTION INLINE SYMBOL LPAREN paramList RPAREN statementparamList : emptyparamList : sParamList\n                 | sParamList COMMA dParamList\n                 | dParamList\n                 sParamList : SYMBOLsParamList : sParamList COMMA SYMBOLdParamList : SYMBOL ASSIGN literaldParamList : dParamList COMMA SYMBOL ASSIGN literalreturn : RETURN expression STOPproperty : expression DOT\n                  statement : STOPtestExpression : expression\n                      | expression MATCHES expression AS SYMBOL\n                      | expression MATCHES_I expression AS SYMBOL\n                      expression : expression EQUAL expression\n                  | expression NOTEQUAL expression\n                  | expression LESSERTHAN expression\n                  | expression LESSEROREQUAL expression\n                  | expression GREATERTHAN expression\n                  | expression GREATEROREQUAL expression\n                  | expression PLUS expression\n                  | expression MINUS expression\n                  | expression MULTIPLY expression\n                  | expression MODULUS expression\n                  | expression DIVIDE expression\n                  | expression AND expression\n                  | expression OR expression\n                  | expression BITWISENOT expression\n                  | expression BITWISEAND expression\n                  | expression BITWISEOR expression\n                  | expression BITWISEXOR expression\n                  | expression SHIFTLEFT expression\n                  | expression SHIFTRIGHT expression\n                  expression : expression HAS expression\n                  | expression HAS_I expression\n                  expression : expression MATCHES expression\n                  | expression MATCHES_I expression\n                  expression : NOT expression\n                  | BITWISENOT expression\n                  expression : MINUS expression %prec UMINUSexpression : factorfactor : functioncallfunctioncall : SYMBOL LPAREN expressionList RPARENfactor : literalfactor : SYMBOLfactor : SYMBOL LBRACKET expression RBRACKETfactor : testExpression QUESTION expression COLON expressionfactor : SYMBOL OR expressionfactor : SYMBOL LBRACKET expression RBRACKET OR expressionfactor : LPAREN expression RPARENfactor : LBRACKET listExpressionList RBRACKET\n              | LBRACKET listExpressionList COMMA RBRACKET\n              listExpressionList : empty\n                          | listExpression\n                          | listExpressionList COMMA listExpression\n                          listExpression : expression\n                      | rangeExpression\n                      rangeExpression : expression RANGE expressionexpressionList : empty\n                      | expression\n                      | expressionList COMMA expression\n                      factor : LBRACE dictionaryList RBRACE\n              | LBRACE dictionaryList COMMA RBRACE\n              dictionaryList : empty\n                      | dictionaryEntry\n                      | dictionaryList COMMA dictionaryEntry\n                      dictionaryEntry : literal COLON expressionliteral : NUMBER\n               | stringLiteral\n               stringLiteral : STRING\n                     | stringLiteral STRING\n                     literal : TRUE\n               | FALSE\n               expression : property SYMBOL\n                    | property SYMBOL OR factor\n                    | property SYMBOL LPAREN expression RPAREN\n                    | property SYMBOL LPAREN expression RPAREN OR factor\n                     '
      
  _lr_action_items = {'$end':([0,1,2,3,4,5,6,7,8,9,11,13,14,15,16,17,20,35,36,37,43,45,46,54,55,61,83,85,91,114,173,174,175,176,177,178,179,230,237,243,258,266,272,273,284,288,289,291,294,295,296,302,305,307,308,],[-1,0,-2,-3,-4,-6,-7,-8,-14,-15,-79,-18,-19,-21,-22,-23,-25,-5,-16,-17,-20,-26,-28,-34,-35,-54,-53,-24,-27,-77,-33,-36,-37,-38,-39,-40,-55,-51,-32,-1,-43,-67,-45,-46,-50,-68,-56,-48,-44,-52,-49,-65,-66,-1,-45,]),'LBRACE':([0,2,4,5,6,7,8,9,11,13,14,15,16,17,18,20,25,29,35,36,37,38,39,40,41,42,43,44,45,46,49,50,53,54,55,56,57,58,59,60,61,64,66,67,68,72,75,83,85,86,87,91,98,105,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,143,144,151,160,161,162,170,173,174,175,176,177,178,179,183,186,187,188,212,213,218,219,223,227,230,232,237,243,254,258,262,265,266,270,271,272,273,274,278,282,283,284,285,288,289,291,292,294,295,296,297,298,300,302,303,305,306,307,308,],[18,18,-4,-6,-7,-8,-14,-15,-79,-18,-19,-21,-22,-23,18,-25,18,77,-5,-16,-17,18,-11,-10,-12,-13,-20,77,-26,-28,77,77,77,-34,-35,77,77,77,77,77,-54,77,77,77,77,77,77,-53,-24,-9,77,-27,77,18,-77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,18,77,-33,-36,-37,-38,-39,-40,-55,77,18,77,77,77,77,77,77,77,77,-51,265,-32,-1,77,-43,18,18,-67,18,18,-45,-46,18,77,18,18,-50,18,-68,-56,-48,77,-44,-52,-49,18,18,77,-65,18,-66,18,-1,-45,]),'FOR':([0,2,4,5,6,7,8,9,11,13,14,15,16,17,18,20,25,35,36,37,38,39,40,41,42,43,45,46,54,55,61,83,85,86,91,105,114,162,173,174,175,176,177,178,179,186,230,232,237,243,258,262,265,266,270,271,272,273,274,282,283,284,285,288,289,291,294,295,296,297,298,302,303,305,306,307,308,],[19,19,-4,-6,-7,-8,-14,-15,-79,-18,-19,-21,-22,-23,19,-25,19,-5,-16,-17,19,-11,-10,-12,-13,-20,-26,-28,-34,-35,-54,-53,-24,-9,-27,19,-77,19,-33,-36,-37,-38,-39,-40,-55,19,-51,19,-32,-1,-43,19,19,-67,19,19,-45,-46,19,19,19,-50,19,-68,-56,-48,-44,-52,-49,19,19,-65,19,-66,19,-1,-45,]),'STOP':([0,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20,25,30,35,36,37,38,39,40,41,42,43,45,46,54,55,61,65,69,71,73,74,78,79,80,81,82,83,85,86,91,99,100,101,102,103,104,105,113,114,139,140,141,142,156,158,162,169,172,173,174,175,176,177,178,179,181,184,186,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,215,216,217,221,224,230,232,237,239,242,243,244,245,248,250,251,255,258,262,265,266,270,271,272,273,274,275,276,277,279,281,282,283,284,285,286,288,289,291,293,294,295,296,297,298,301,302,303,305,306,307,308,],[11,11,-4,-6,-7,-8,-14,-15,36,-79,37,-18,-19,-21,-22,-23,11,-25,11,83,-5,-16,-17,11,-11,-10,-12,-13,-20,-26,-28,-34,-35,-54,114,-109,-113,-110,-112,-136,-137,-140,-141,-138,-53,-24,-9,-27,173,174,175,176,177,178,11,-80,-77,-108,-107,-106,-142,-139,226,11,-111,237,-33,-36,-37,-38,-39,-40,-55,-57,-59,11,-83,-84,-85,-86,-87,-88,-89,-90,-91,-92,-93,-94,-95,-96,-97,-98,-99,-100,-101,-102,-103,-104,-105,-116,-118,-119,-130,258,-51,11,-32,-58,-60,-1,-104,-105,-143,-114,-120,-131,-43,11,11,-67,11,11,-45,-46,11,-81,-82,-144,-115,294,11,11,-50,11,298,-68,-56,-48,-117,-44,-52,-49,11,11,-145,-65,11,-66,11,-1,-45,]),'ESICOMMENT':([0,2,4,5,6,7,8,9,11,13,14,15,16,17,18,20,35,36,37,38,39,40,41,42,43,45,46,54,55,61,83,85,86,91,114,173,174,175,176,177,178,179,230,237,243,258,265,266,272,273,284,285,288,289,291,294,295,296,297,298,302,303,305,307,308,],[20,20,-4,-6,-7,-8,-14,-15,-79,-18,-19,-21,-22,-23,20,-25,-5,-16,-17,20,-11,-10,-12,-13,-20,-26,-28,-34,-35,-54,-53,-24,-9,-27,-77,-33,-36,-37,-38,-39,-40,-55,-51,-32,-1,-43,20,-67,-45,-46,-50,20,-68,-56,-48,-44,-52,-49,20,20,-65,20,-66,-1,-45,]),'FUNCTION':([0,2,4,5,6,7,8,9,11,13,14,15,16,17,18,20,25,35,36,37,38,39,40,41,42,43,45,46,54,55,61,83,85,86,91,105,114,162,173,174,175,176,177,178,179,186,230,232,237,243,258,262,265,266,270,271,272,273,274,282,283,284,285,288,289,291,294,295,296,297,298,302,303,305,306,307,308,],[21,21,-4,-6,-7,-8,-14,-15,-79,-18,-19,-21,-22,-23,21,-25,21,-5,-16,-17,21,-11,-10,-12,-13,-20,-26,-28,-34,-35,-54,-53,-24,-9,-27,21,-77,21,-33,-36,-37,-38,-39,-40,-55,21,-51,21,-32,-1,-43,21,21,-67,21,21,-45,-46,21,21,21,-50,21,-68,-56,-48,-44,-52,-49,21,21,-65,21,-66,21,-1,-45,]),'TRY':([0,2,4,5,6,7,8,9,11,13,14,15,16,17,18,20,25,35,36,37,38,39,40,41,42,43,45,46,54,55,61,83,85,86,91,105,114,162,173,174,175,176,177,178,179,186,230,232,237,243,258,262,265,266,270,271,272,273,274,282,283,284,285,288,289,291,294,295,296,297,298,302,303,305,306,307,308,],[25,25,-4,-6,-7,-8,-14,-15,-79,-18,-19,-21,-22,-23,25,-25,25,-5,-16,-17,25,-11,-10,-12,-13,-20,-26,-28,-34,-35,-54,-53,-24,-9,-27,25,-77,25,-33,-36,-37,-38,-39,-40,-55,25,-51,25,-32,-1,-43,25,25,-67,25,25,-45,-46,25,25,25,-50,25,-68,-56,-48,-44,-52,-49,25,25,-65,25,-66,25,-1,-45,]),'EVAL':([0,2,4,5,6,7,8,9,11,13,14,15,16,17,18,20,25,35,36,37,38,39,40,41,42,43,45,46,54,55,61,83,85,86,91,105,114,162,173,174,175,176,177,178,179,186,230,232,237,243,258,262,265,266,270,271,272,273,274,282,283,284,285,288,289,291,294,295,296,297,298,302,303,305,306,307,308,],[26,26,-4,-6,-7,-8,-14,-15,-79,-18,-19,-21,-22,-23,26,-25,26,-5,-16,-17,26,-11,-10,-12,-13,-20,-26,-28,-34,-35,-54,-53,-24,-9,-27,26,-77,26,-33,-36,-37,-38,-39,-40,-55,26,-51,26,-32,-1,-43,26,26,-67,26,26,-45,-46,26,26,26,-50,26,-68,-56,-48,-44,-52,-49,26,26,-65,26,-66,26,-1,-45,]),'INCLUDE':([0,2,4,5,6,7,8,9,11,13,14,15,16,17,18,20,25,35,36,37,38,39,40,41,42,43,45,46,54,55,61,83,85,86,91,105,114,162,173,174,175,176,177,178,179,186,230,232,237,243,258,262,265,266,270,271,272,273,274,282,283,284,285,288,289,291,294,295,296,297,298,302,303,305,306,307,308,],[27,27,-4,-6,-7,-8,-14,-15,-79,-18,-19,-21,-22,-23,27,-25,27,-5,-16,-17,27,-11,-10,-12,-13,-20,-26,-28,-34,-35,-54,-53,-24,-9,-27,27,-77,27,-33,-36,-37,-38,-39,-40,-55,27,-51,27,-32,-1,-43,27,27,-67,27,27,-45,-46,27,27,27,-50,27,-68,-56,-48,-44,-52,-49,27,27,-65,27,-66,27,-1,-45,]),'SYMBOL':([0,2,4,5,6,7,8,9,11,13,14,15,16,17,18,20,21,23,25,29,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,48,49,50,53,54,55,56,57,58,59,60,61,62,63,64,66,67,68,70,72,75,83,85,86,87,88,91,92,98,105,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,143,144,151,160,161,162,168,170,173,174,175,176,177,178,179,180,182,183,185,186,187,188,212,213,218,219,223,225,226,227,230,232,233,234,237,243,246,247,254,258,262,265,266,270,271,272,273,274,278,280,282,283,284,285,288,289,291,292,294,295,296,297,298,300,302,303,305,306,307,308,],[22,22,-4,-6,-7,-8,-14,-15,-79,-18,-19,-21,-22,-23,22,-25,47,52,22,71,-29,-30,-31,-5,-16,-17,22,-11,-10,-12,-13,-20,89,-26,-28,93,71,71,71,-34,-35,71,71,71,71,71,-54,110,110,71,71,71,71,142,71,71,-53,-24,-9,71,159,-27,163,71,22,-77,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,-78,71,71,71,71,71,22,163,71,-33,-36,-37,-38,-39,-40,-55,163,110,71,110,22,71,71,71,71,71,71,71,110,52,71,-51,22,268,269,-32,-1,275,276,71,-43,22,22,-67,22,22,-45,-46,22,71,110,22,22,-50,22,-68,-56,-48,71,-44,-52,-49,22,22,71,-65,22,-66,22,-1,-45,]),'IF':([0,2,4,5,6,7,8,9,11,13,14,15,16,17,18,20,25,35,36,37,38,39,40,41,42,43,45,46,54,55,61,83,85,86,91,105,114,162,173,174,175,176,177,178,179,186,230,232,237,243,258,262,265,266,270,271,272,273,274,282,283,284,285,288,289,291,294,295,296,297,298,302,303,305,306,307,308,],[28,28,-4,-6,-7,-8,-14,-15,-79,-18,-19,-21,-22,-23,28,-25,28,-5,-16,-17,28,-11,-10,-12,-13,-20,-26,-28,-34,-35,-54,-53,-24,-9,-27,28,-77,28,-33,-36,-37,-38,-39,-40,-55,28,-51,28,-32,-1,-43,28,28,-67,28,28,-45,-46,290,28,28,-50,28,-68,-56,-48,-44,-52,-49,28,28,-65,28,-66,28,-1,-45,]),'RETURN':([0,2,4,5,6,7,8,9,11,13,14,15,16,17,18,20,25,35,36,37,38,39,40,41,42,43,45,46,54,55,61,83,85,86,91,105,114,162,173,174,175,176,177,178,179,186,230,232,237,243,258,262,265,266,270,271,272,273,274,282,283,284,285,288,289,291,294,295,296,297,298,302,303,305,306,307,308,],[29,29,-4,-6,-7,-8,-14,-15,-79,-18,-19,-21,-22,-23,29,-25,29,-5,-16,-17,29,-11,-10,-12,-13,-20,-26,-28,-34,-35,-54,-53,-24,-9,-27,29,-77,29,-33,-36,-37,-38,-39,-40,-55,29,-51,29,-32,-1,-43,29,29,-67,29,29,-45,-46,29,29,29,-50,29,-68,-56,-48,-44,-52,-49,29,29,-65,29,-66,29,-1,-45,]),'BREAK':([0,2,4,5,6,7,8,9,11,13,14,15,16,17,18,20,25,35,36,37,38,39,40,41,42,43,45,46,54,55,61,83,85,86,91,105,114,162,173,174,175,176,177,178,179,186,230,232,237,243,258,262,265,266,270,271,272,273,274,282,283,284,285,288,289,291,294,295,296,297,298,302,303,305,306,307,308,],[30,30,-4,-6,-7,-8,-14,-15,-79,-18,-19,-21,-22,-23,30,-25,30,-5,-16,-17,30,-11,-10,-12,-13,-20,-26,-28,-34,-35,-54,-53,-24,-9,-27,30,-77,30,-33,-36,-37,-38,-39,-40,-55,30,-51,30,-32,-1,-43,30,30,-67,30,30,-45,-46,30,30,30,-50,30,-68,-56,-48,-44,-52,-49,30,30,-65,30,-66,30,-1,-45,]),'REQUIRE':([0,2,4,5,6,7,8,9,11,13,14,15,16,17,18,20,25,35,36,37,38,39,40,41,42,43,45,46,54,55,61,83,85,86,91,105,114,162,173,174,175,176,177,178,179,186,230,232,237,243,258,262,265,266,270,271,272,273,274,282,283,284,285,288,289,291,294,295,296,297,298,302,303,305,306,307,308,],[31,31,-4,-6,-7,-8,-14,-15,-79,-18,-19,-21,-22,-23,31,-25,31,-5,-16,-17,31,-11,-10,-12,-13,-20,-26,-28,-34,-35,-54,-53,-24,-9,-27,31,-77,31,-33,-36,-37,-38,-39,-40,-55,31,-51,31,-32,-1,-43,31,31,-67,31,31,-45,-46,31,31,31,-50,31,-68,-56,-48,-44,-52,-49,31,31,-65,31,-66,31,-1,-45,]),'LET':([0,2,4,5,6,7,8,9,11,13,14,15,16,17,18,20,25,35,36,37,38,39,40,41,42,43,44,45,46,54,55,61,83,85,86,91,105,114,162,173,174,175,176,177,178,179,186,226,230,232,237,243,258,262,265,266,270,271,272,273,274,282,283,284,285,288,289,291,294,295,296,297,298,302,303,305,306,307,308,],[32,32,-4,-6,-7,-8,-14,-15,-79,-18,-19,-21,-22,-23,32,-25,32,-5,-16,-17,32,-11,-10,-12,-13,-20,32,-26,-28,-34,-35,-54,-53,-24,-9,-27,32,-77,32,-33,-36,-37,-38,-39,-40,-55,32,32,-51,32,-32,-1,-43,32,32,-67,32,32,-45,-46,32,32,32,-50,32,-68,-56,-48,-44,-52,-49,32,32,-65,32,-66,32,-1,-45,]),'VAR':([0,2,4,5,6,7,8,9,11,13,14,15,16,17,18,20,25,35,36,37,38,39,40,41,42,43,44,45,46,54,55,61,83,85,86,91,105,114,162,173,174,175,176,177,178,179,186,226,230,232,237,243,258,262,265,266,270,271,272,273,274,282,283,284,285,288,289,291,294,295,296,297,298,302,303,305,306,307,308,],[33,33,-4,-6,-7,-8,-14,-15,-79,-18,-19,-21,-22,-23,33,-25,33,-5,-16,-17,33,-11,-10,-12,-13,-20,33,-26,-28,-34,-35,-54,-53,-24,-9,-27,33,-77,33,-33,-36,-37,-38,-39,-40,-55,33,33,-51,33,-32,-1,-43,33,33,-67,33,33,-45,-46,33,33,33,-50,33,-68,-56,-48,-44,-52,-49,33,33,-65,33,-66,33,-1,-45,]),'CONST':([0,2,4,5,6,7,8,9,11,13,14,15,16,17,18,20,25,35,36,37,38,39,40,41,42,43,44,45,46,54,55,61,83,85,86,91,105,114,162,173,174,175,176,177,178,179,186,226,230,232,237,243,258,262,265,266,270,271,272,273,274,282,283,284,285,288,289,291,294,295,296,297,298,302,303,305,306,307,308,],[34,34,-4,-6,-7,-8,-14,-15,-79,-18,-19,-21,-22,-23,34,-25,34,-5,-16,-17,34,-11,-10,-12,-13,-20,34,-26,-28,-34,-35,-54,-53,-24,-9,-27,34,-77,34,-33,-36,-37,-38,-39,-40,-55,34,34,-51,34,-32,-1,-43,34,34,-67,34,34,-45,-46,34,34,34,-50,34,-68,-56,-48,-44,-52,-49,34,34,-65,34,-66,34,-1,-45,]),'RBRACE':([8,9,11,13,14,15,16,17,18,20,36,37,38,39,40,41,42,43,45,46,54,55,61,69,71,73,74,77,78,79,80,81,82,83,85,86,91,114,139,140,141,142,152,153,154,156,169,173,174,175,176,177,178,179,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,215,216,217,221,222,230,237,243,248,250,251,255,256,257,258,265,266,272,273,277,279,284,285,288,289,291,293,294,295,296,297,298,301,302,303,305,307,308,],[-14,-15,-79,-18,-19,-21,-22,-23,-1,-25,-16,-17,85,-11,-10,-12,-13,-20,-26,-28,-34,-35,-54,-109,-113,-110,-112,-1,-136,-137,-140,-141,-138,-53,-24,-9,-27,-77,-108,-107,-106,-142,221,-132,-133,-139,-111,-33,-36,-37,-38,-39,-40,-55,-83,-84,-85,-86,-87,-88,-89,-90,-91,-92,-93,-94,-95,-96,-97,-98,-99,-100,-101,-102,-103,-104,-105,-116,-118,-119,-130,255,-51,-32,-1,-143,-114,-120,-131,-134,-135,-43,-1,-67,-45,-46,-144,-115,-50,-1,-68,-56,-48,-117,-44,-52,-49,302,-1,-145,-65,305,-66,-1,-45,]),'EXCEPT':([8,9,11,13,14,15,16,17,36,37,43,54,55,61,83,85,114,173,174,175,176,177,178,179,230,237,243,258,266,272,273,284,288,289,291,294,295,296,302,305,307,308,],[-14,-15,-79,-18,-19,-21,-22,-23,-16,-17,-20,-34,-35,105,-53,-24,-77,-33,-36,-37,-38,-39,-40,-55,-51,-32,-1,-43,-67,-45,-46,-50,-68,-56,-48,-44,-52,-49,-65,-66,-1,-45,]),'CATCH':([8,9,11,13,14,15,16,17,36,37,43,54,55,61,83,85,114,173,174,175,176,177,178,179,230,237,243,258,266,272,273,284,288,289,291,294,295,296,302,305,307,308,],[-14,-15,-79,-18,-19,-21,-22,-23,-16,-17,-20,-34,-35,106,-53,-24,-77,-33,-36,-37,-38,-39,-40,-55,-51,-32,-1,-43,-67,-45,-46,-50,-68,-56,-48,-44,-52,-49,-65,-66,-1,-45,]),'ELSE':([8,9,11,13,14,15,16,17,36,37,43,54,55,61,83,85,114,173,174,175,176,177,178,179,230,237,243,258,266,272,273,284,288,289,291,294,295,296,302,305,307,308,],[-14,-15,-79,-18,-19,-21,-22,-23,-16,-17,-20,-34,-35,-54,-53,-24,-77,-33,-36,-37,-38,-39,-40,-55,-51,-32,274,-43,-67,-45,-46,-50,-68,-56,-48,-44,-52,-49,-65,-66,274,-45,]),'LPAREN':([19,22,26,27,28,29,31,44,47,49,50,53,54,55,56,57,58,59,60,64,66,67,68,71,72,75,87,89,93,98,106,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,142,143,144,151,160,161,170,173,174,175,176,177,178,183,187,188,212,213,218,219,223,227,237,254,278,290,292,300,],[44,49,62,63,64,72,84,72,92,72,72,72,-34,-35,72,72,72,72,72,72,72,72,72,49,72,72,72,49,168,72,180,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,213,72,72,72,72,72,72,-33,-36,-37,-38,-39,-40,72,72,72,72,72,72,72,72,72,-32,72,72,300,72,72,]),'ESICOMMENT_CONT':([20,45,46,91,],[46,91,-28,-27,]),'INLINE':([21,265,],[48,285,]),'ASSIGN':([22,24,51,52,89,110,159,163,171,263,268,269,],[-41,53,98,-41,-41,183,-41,231,-42,-42,231,287,]),'INCREMENT':([22,24,52,89,171,263,],[-41,54,-41,-41,-42,-42,]),'DECREMENT':([22,24,52,89,171,263,],[-41,55,-41,-41,-42,-42,]),'ASSIGNPLUS':([22,24,52,89,171,263,],[-41,56,-41,-41,-42,-42,]),'ASSIGNMINUS':([22,24,52,89,171,263,],[-41,57,-41,-41,-42,-42,]),'ASSIGNMULTIPLY':([22,24,52,89,171,263,],[-41,58,-41,-41,-42,-42,]),'ASSIGNMODULUS':([22,24,52,89,171,263,],[-41,59,-41,-41,-42,-42,]),'ASSIGNDIVIDE':([22,24,52,89,171,263,],[-41,60,-41,-41,-42,-42,]),'LBRACKET':([22,29,44,49,50,52,53,54,55,56,57,58,59,60,64,66,67,68,71,72,75,87,89,98,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,143,144,151,159,160,161,170,173,174,175,176,177,178,183,187,188,212,213,218,219,223,227,237,254,278,292,300,],[50,75,75,75,75,50,75,-34,-35,75,75,75,75,75,75,75,75,75,143,75,75,75,161,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,50,75,75,75,-33,-36,-37,-38,-39,-40,75,75,75,75,75,75,75,75,75,-32,75,75,75,75,]),'NOT':([29,44,49,50,53,54,55,56,57,58,59,60,64,66,67,68,72,75,87,98,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,143,144,151,160,161,170,173,174,175,176,177,178,183,187,188,212,213,218,219,223,227,237,254,278,292,300,],[68,68,68,68,68,-34,-35,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,-33,-36,-37,-38,-39,-40,68,68,68,68,68,68,68,68,68,-32,68,68,68,68,]),'BITWISENOT':([29,44,49,50,53,54,55,56,57,58,59,60,64,65,66,67,68,69,71,72,73,74,75,78,79,80,81,82,87,89,90,96,97,98,99,100,101,102,103,104,113,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,139,140,141,142,143,144,145,149,151,156,160,161,169,170,172,173,174,175,176,177,178,183,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,223,227,228,229,236,237,241,244,245,248,249,250,251,253,254,255,257,261,263,277,278,279,292,293,300,301,],[67,67,67,67,67,-34,-35,67,67,67,67,67,67,128,67,67,67,-109,-113,67,-110,-112,67,-136,-137,-140,-141,-138,67,-113,128,128,128,67,128,128,128,128,128,128,128,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,-108,None,None,-142,67,67,128,128,67,-139,67,67,-111,67,128,-33,-36,-37,-38,-39,-40,67,67,67,128,128,128,128,128,128,128,128,128,128,128,128,128,None,128,128,128,128,128,128,128,128,128,67,67,128,128,-118,-119,67,67,128,-130,67,67,128,128,128,-32,128,128,128,-109,128,-114,-120,128,67,-131,128,128,-114,-144,67,128,67,128,67,-109,]),'MINUS':([29,44,49,50,53,54,55,56,57,58,59,60,64,65,66,67,68,69,71,72,73,74,75,78,79,80,81,82,87,89,90,96,97,98,99,100,101,102,103,104,113,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,139,140,141,142,143,144,145,149,151,156,160,161,169,170,172,173,174,175,176,177,178,183,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,223,227,228,229,236,237,241,244,245,248,249,250,251,253,254,255,257,261,263,277,278,279,292,293,300,301,],[66,66,66,66,66,-34,-35,66,66,66,66,66,66,122,66,66,66,-109,-113,66,-110,-112,66,-136,-137,-140,-141,-138,66,-113,122,122,122,66,122,122,122,122,122,122,122,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,-108,-107,-106,-142,66,66,122,122,66,-139,66,66,-111,66,122,-33,-36,-37,-38,-39,-40,66,66,66,122,122,122,122,122,122,-89,-90,-91,-92,-93,122,122,-96,122,122,122,122,122,122,122,122,122,66,66,122,122,-118,-119,66,66,122,-130,66,66,122,122,122,-32,122,122,122,-109,122,-114,-120,122,66,-131,122,122,-114,-144,66,122,66,122,66,-109,]),'NUMBER':([29,44,49,50,53,54,55,56,57,58,59,60,64,66,67,68,72,75,77,87,98,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,143,144,151,160,161,170,173,174,175,176,177,178,183,187,188,212,213,218,219,222,223,227,231,237,254,278,287,292,300,],[78,78,78,78,78,-34,-35,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,-33,-36,-37,-38,-39,-40,78,78,78,78,78,78,78,78,78,78,78,-32,78,78,78,78,78,]),'TRUE':([29,44,49,50,53,54,55,56,57,58,59,60,64,66,67,68,72,75,77,87,98,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,143,144,151,160,161,170,173,174,175,176,177,178,183,187,188,212,213,218,219,222,223,227,231,237,254,278,287,292,300,],[80,80,80,80,80,-34,-35,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,-33,-36,-37,-38,-39,-40,80,80,80,80,80,80,80,80,80,80,80,-32,80,80,80,80,80,]),'FALSE':([29,44,49,50,53,54,55,56,57,58,59,60,64,66,67,68,72,75,77,87,98,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,143,144,151,160,161,170,173,174,175,176,177,178,183,187,188,212,213,218,219,222,223,227,231,237,254,278,287,292,300,],[81,81,81,81,81,-34,-35,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,-33,-36,-37,-38,-39,-40,81,81,81,81,81,81,81,81,81,81,81,-32,81,81,81,81,81,]),'STRING':([29,44,49,50,53,54,55,56,57,58,59,60,64,66,67,68,72,75,77,79,82,84,87,98,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,143,144,151,156,157,160,161,170,173,174,175,176,177,178,183,187,188,212,213,218,219,222,223,227,231,237,254,265,278,287,292,300,],[82,82,82,82,82,-34,-35,82,82,82,82,82,82,82,82,82,82,82,82,156,-138,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,-139,156,82,82,82,-33,-36,-37,-38,-39,-40,82,82,82,82,82,82,82,82,82,82,82,-32,82,286,82,82,82,82,]),'RPAREN':([49,54,55,62,63,69,71,73,74,78,79,80,81,82,89,90,92,94,95,96,107,108,109,111,112,113,139,140,141,142,145,156,157,163,164,165,166,167,168,169,173,174,175,176,177,178,180,182,185,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,215,216,217,221,225,228,235,236,237,238,240,241,244,245,248,249,250,251,255,259,260,261,263,264,267,268,275,276,277,279,293,299,301,304,],[-1,-34,-35,-1,-1,-109,-113,-110,-112,-136,-137,-140,-141,-138,-113,162,-1,169,-127,-128,181,-61,-62,184,186,-80,-108,-107,-106,-142,216,-139,224,-73,232,-69,-70,-72,-1,-111,-33,-36,-37,-38,-39,-40,-1,239,242,-83,-84,-85,-86,-87,-88,-89,-90,-91,-92,-93,-94,-95,-96,-97,-98,-99,-100,-101,-102,-103,-104,-105,-116,-118,-119,-130,-1,262,270,-129,-32,271,-63,-64,-104,-105,-143,277,-114,-120,-131,281,282,283,-114,-75,-71,-74,-81,-82,-144,-115,-117,-76,-145,306,]),'COMMA':([49,62,63,69,71,73,74,75,77,78,79,80,81,82,94,95,96,107,108,109,111,139,140,141,142,146,147,148,149,150,152,153,154,156,157,163,166,167,169,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,215,216,217,221,225,236,240,241,248,250,251,252,253,255,256,257,259,264,267,268,277,279,293,299,301,],[-1,-1,-1,-109,-113,-110,-112,-1,-1,-136,-137,-140,-141,-138,170,-127,-128,182,-61,-62,185,-108,-107,-106,-142,218,-121,-122,-124,-125,222,-132,-133,-139,225,-73,233,234,-111,-83,-84,-85,-86,-87,-88,-89,-90,-91,-92,-93,-94,-95,-96,-97,-98,-99,-100,-101,-102,-103,-104,-105,-116,-118,-119,-130,-1,-129,-63,-64,-143,-114,-120,-123,-126,-131,-134,-135,280,-75,234,-74,-144,-115,-117,-76,-145,]),'EQUAL':([65,69,71,73,74,78,79,80,81,82,89,90,96,97,99,100,101,102,103,104,113,139,140,141,142,145,149,156,169,172,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,214,215,216,217,220,221,228,229,236,241,244,245,248,249,250,251,253,255,257,261,263,277,279,293,301,],[115,-109,-113,-110,-112,-136,-137,-140,-141,-138,-113,115,115,115,115,115,115,115,115,115,115,-108,-107,-106,-142,115,115,-139,-111,115,None,None,-85,-86,-87,-88,-89,-90,-91,-92,-93,115,115,-96,115,115,115,-100,-101,-102,-103,-104,-105,115,115,-118,-119,115,-130,115,115,115,115,-104,-105,-109,115,-114,-120,115,-131,115,115,-114,-144,115,115,-109,]),'NOTEQUAL':([65,69,71,73,74,78,79,80,81,82,89,90,96,97,99,100,101,102,103,104,113,139,140,141,142,145,149,156,169,172,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,214,215,216,217,220,221,228,229,236,241,244,245,248,249,250,251,253,255,257,261,263,277,279,293,301,],[116,-109,-113,-110,-112,-136,-137,-140,-141,-138,-113,116,116,116,116,116,116,116,116,116,116,-108,-107,-106,-142,116,116,-139,-111,116,None,None,-85,-86,-87,-88,-89,-90,-91,-92,-93,116,116,-96,116,116,116,-100,-101,-102,-103,-104,-105,116,116,-118,-119,116,-130,116,116,116,116,-104,-105,-109,116,-114,-120,116,-131,116,116,-114,-144,116,116,-109,]),'LESSERTHAN':([65,69,71,73,74,78,79,80,81,82,89,90,96,97,99,100,101,102,103,104,113,139,140,141,142,145,149,156,169,172,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,214,215,216,217,220,221,228,229,236,241,244,245,248,249,250,251,253,255,257,261,263,277,279,293,301,],[117,-109,-113,-110,-112,-136,-137,-140,-141,-138,-113,117,117,117,117,117,117,117,117,117,117,-108,-107,-106,-142,117,117,-139,-111,117,117,117,None,None,None,None,-89,-90,-91,-92,-93,117,117,-96,117,117,117,-100,-101,None,None,None,None,117,117,-118,-119,117,-130,117,117,117,117,None,None,-109,117,-114,-120,117,-131,117,117,-114,-144,117,117,-109,]),'LESSEROREQUAL':([65,69,71,73,74,78,79,80,81,82,89,90,96,97,99,100,101,102,103,104,113,139,140,141,142,145,149,156,169,172,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,214,215,216,217,220,221,228,229,236,241,244,245,248,249,250,251,253,255,257,261,263,277,279,293,301,],[118,-109,-113,-110,-112,-136,-137,-140,-141,-138,-113,118,118,118,118,118,118,118,118,118,118,-108,-107,-106,-142,118,118,-139,-111,118,118,118,None,None,None,None,-89,-90,-91,-92,-93,118,118,-96,118,118,118,-100,-101,None,None,None,None,118,118,-118,-119,118,-130,118,118,118,118,None,None,-109,118,-114,-120,118,-131,118,118,-114,-144,118,118,-109,]),'GREATERTHAN':([65,69,71,73,74,78,79,80,81,82,89,90,96,97,99,100,101,102,103,104,113,139,140,141,142,145,149,156,169,172,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,214,215,216,217,220,221,228,229,236,241,244,245,248,249,250,251,253,255,257,261,263,277,279,293,301,],[119,-109,-113,-110,-112,-136,-137,-140,-141,-138,-113,119,119,119,119,119,119,119,119,119,119,-108,-107,-106,-142,119,119,-139,-111,119,119,119,None,None,None,None,-89,-90,-91,-92,-93,119,119,-96,119,119,119,-100,-101,None,None,None,None,119,119,-118,-119,119,-130,119,119,119,119,None,None,-109,119,-114,-120,119,-131,119,119,-114,-144,119,119,-109,]),'GREATEROREQUAL':([65,69,71,73,74,78,79,80,81,82,89,90,96,97,99,100,101,102,103,104,113,139,140,141,142,145,149,156,169,172,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,214,215,216,217,220,221,228,229,236,241,244,245,248,249,250,251,253,255,257,261,263,277,279,293,301,],[120,-109,-113,-110,-112,-136,-137,-140,-141,-138,-113,120,120,120,120,120,120,120,120,120,120,-108,-107,-106,-142,120,120,-139,-111,120,120,120,None,None,None,None,-89,-90,-91,-92,-93,120,120,-96,120,120,120,-100,-101,None,None,None,None,120,120,-118,-119,120,-130,120,120,120,120,None,None,-109,120,-114,-120,120,-131,120,120,-114,-144,120,120,-109,]),'PLUS':([65,69,71,73,74,78,79,80,81,82,89,90,96,97,99,100,101,102,103,104,113,139,140,141,142,145,149,156,169,172,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,214,215,216,217,220,221,228,229,236,241,244,245,248,249,250,251,253,255,257,261,263,277,279,293,301,],[121,-109,-113,-110,-112,-136,-137,-140,-141,-138,-113,121,121,121,121,121,121,121,121,121,121,-108,-107,-106,-142,121,121,-139,-111,121,121,121,121,121,121,121,-89,-90,-91,-92,-93,121,121,-96,121,121,121,121,121,121,121,121,121,121,121,-118,-119,121,-130,121,121,121,121,121,121,-109,121,-114,-120,121,-131,121,121,-114,-144,121,121,-109,]),'MULTIPLY':([65,69,71,73,74,78,79,80,81,82,89,90,96,97,99,100,101,102,103,104,113,139,140,141,142,145,149,156,169,172,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,214,215,216,217,220,221,228,229,236,241,244,245,248,249,250,251,253,255,257,261,263,277,279,293,301,],[123,-109,-113,-110,-112,-136,-137,-140,-141,-138,-113,123,123,123,123,123,123,123,123,123,123,-108,-107,-106,-142,123,123,-139,-111,123,123,123,123,123,123,123,123,123,-91,-92,-93,123,123,-96,123,123,123,123,123,123,123,123,123,123,123,-118,-119,123,-130,123,123,123,123,123,123,-109,123,-114,-120,123,-131,123,123,-114,-144,123,123,-109,]),'MODULUS':([65,69,71,73,74,78,79,80,81,82,89,90,96,97,99,100,101,102,103,104,113,139,140,141,142,145,149,156,169,172,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,214,215,216,217,220,221,228,229,236,241,244,245,248,249,250,251,253,255,257,261,263,277,279,293,301,],[124,-109,-113,-110,-112,-136,-137,-140,-141,-138,-113,124,124,124,124,124,124,124,124,124,124,-108,-107,-106,-142,124,124,-139,-111,124,124,124,124,124,124,124,124,124,-91,-92,-93,124,124,-96,124,124,124,124,124,124,124,124,124,124,124,-118,-119,124,-130,124,124,124,124,124,124,-109,124,-114,-120,124,-131,124,124,-114,-144,124,124,-109,]),'DIVIDE':([65,69,71,73,74,78,79,80,81,82,89,90,96,97,99,100,101,102,103,104,113,139,140,141,142,145,149,156,169,172,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,214,215,216,217,220,221,228,229,236,241,244,245,248,249,250,251,253,255,257,261,263,277,279,293,301,],[125,-109,-113,-110,-112,-136,-137,-140,-141,-138,-113,125,125,125,125,125,125,125,125,125,125,-108,-107,-106,-142,125,125,-139,-111,125,125,125,125,125,125,125,125,125,-91,-92,-93,125,125,-96,125,125,125,125,125,125,125,125,125,125,125,-118,-119,125,-130,125,125,125,125,125,125,-109,125,-114,-120,125,-131,125,125,-114,-144,125,125,-109,]),'AND':([65,69,71,73,74,78,79,80,81,82,89,90,96,97,99,100,101,102,103,104,113,139,140,141,142,145,149,156,169,172,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,214,215,216,217,220,221,228,229,236,241,244,245,248,249,250,251,253,255,257,261,263,277,279,293,301,],[126,-109,-113,-110,-112,-136,-137,-140,-141,-138,-113,126,126,126,126,126,126,126,126,126,126,-108,-107,-106,-142,126,126,-139,-111,126,-83,-84,-85,-86,-87,-88,-89,-90,-91,-92,-93,-94,126,-96,-97,-98,-99,-100,-101,-102,-103,-104,-105,126,126,-118,-119,126,-130,126,126,126,126,-104,-105,-109,126,-114,-120,126,-131,126,126,-114,-144,126,126,-109,]),'OR':([65,69,71,73,74,78,79,80,81,82,89,90,96,97,99,100,101,102,103,104,113,139,140,141,142,145,149,156,169,172,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,214,215,216,217,220,221,228,229,236,241,244,245,248,249,250,251,253,255,257,261,263,277,279,293,301,],[127,-109,144,-110,-112,-136,-137,-140,-141,-138,144,127,127,127,127,127,127,127,127,127,127,-108,-107,-106,212,127,127,-139,-111,127,-83,-84,-85,-86,-87,-88,-89,-90,-91,-92,-93,-94,-95,-96,-97,-98,-99,-100,-101,-102,-103,-104,-105,127,-116,-118,-119,127,-130,127,127,127,127,-104,-105,-109,127,278,-120,127,-131,127,127,278,292,127,-117,-109,]),'BITWISEAND':([65,69,71,73,74,78,79,80,81,82,89,90,96,97,99,100,101,102,103,104,113,139,140,141,142,145,149,156,169,172,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,214,215,216,217,220,221,228,229,236,241,244,245,248,249,250,251,253,255,257,261,263,277,279,293,301,],[129,-109,-113,-110,-112,-136,-137,-140,-141,-138,-113,129,129,129,129,129,129,129,129,129,129,-108,-107,-106,-142,129,129,-139,-111,129,-83,-84,-85,-86,-87,-88,-89,-90,-91,-92,-93,129,129,-96,-97,129,129,-100,-101,-102,-103,-104,-105,129,129,-118,-119,129,-130,129,129,129,129,-104,-105,-109,129,-114,-120,129,-131,129,129,-114,-144,129,129,-109,]),'BITWISEOR':([65,69,71,73,74,78,79,80,81,82,89,90,96,97,99,100,101,102,103,104,113,139,140,141,142,145,149,156,169,172,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,214,215,216,217,220,221,228,229,236,241,244,245,248,249,250,251,253,255,257,261,263,277,279,293,301,],[130,-109,-113,-110,-112,-136,-137,-140,-141,-138,-113,130,130,130,130,130,130,130,130,130,130,-108,-107,-106,-142,130,130,-139,-111,130,-83,-84,-85,-86,-87,-88,-89,-90,-91,-92,-93,130,130,-96,-97,-98,-99,-100,-101,-102,-103,-104,-105,130,130,-118,-119,130,-130,130,130,130,130,-104,-105,-109,130,-114,-120,130,-131,130,130,-114,-144,130,130,-109,]),'BITWISEXOR':([65,69,71,73,74,78,79,80,81,82,89,90,96,97,99,100,101,102,103,104,113,139,140,141,142,145,149,156,169,172,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,214,215,216,217,220,221,228,229,236,241,244,245,248,249,250,251,253,255,257,261,263,277,279,293,301,],[131,-109,-113,-110,-112,-136,-137,-140,-141,-138,-113,131,131,131,131,131,131,131,131,131,131,-108,-107,-106,-142,131,131,-139,-111,131,-83,-84,-85,-86,-87,-88,-89,-90,-91,-92,-93,131,131,-96,-97,131,-99,-100,-101,-102,-103,-104,-105,131,131,-118,-119,131,-130,131,131,131,131,-104,-105,-109,131,-114,-120,131,-131,131,131,-114,-144,131,131,-109,]),'SHIFTLEFT':([65,69,71,73,74,78,79,80,81,82,89,90,96,97,99,100,101,102,103,104,113,139,140,141,142,145,149,156,169,172,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,214,215,216,217,220,221,228,229,236,241,244,245,248,249,250,251,253,255,257,261,263,277,279,293,301,],[132,-109,-113,-110,-112,-136,-137,-140,-141,-138,-113,132,132,132,132,132,132,132,132,132,132,-108,-107,-106,-142,132,132,-139,-111,132,132,132,132,132,132,132,-89,-90,-91,-92,-93,132,132,-96,132,132,132,-100,-101,132,132,132,132,132,132,-118,-119,132,-130,132,132,132,132,132,132,-109,132,-114,-120,132,-131,132,132,-114,-144,132,132,-109,]),'SHIFTRIGHT':([65,69,71,73,74,78,79,80,81,82,89,90,96,97,99,100,101,102,103,104,113,139,140,141,142,145,149,156,169,172,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,214,215,216,217,220,221,228,229,236,241,244,245,248,249,250,251,253,255,257,261,263,277,279,293,301,],[133,-109,-113,-110,-112,-136,-137,-140,-141,-138,-113,133,133,133,133,133,133,133,133,133,133,-108,-107,-106,-142,133,133,-139,-111,133,133,133,133,133,133,133,-89,-90,-91,-92,-93,133,133,-96,133,133,133,-100,-101,133,133,133,133,133,133,-118,-119,133,-130,133,133,133,133,133,133,-109,133,-114,-120,133,-131,133,133,-114,-144,133,133,-109,]),'HAS':([65,69,71,73,74,78,79,80,81,82,89,90,96,97,99,100,101,102,103,104,113,139,140,141,142,145,149,156,169,172,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,214,215,216,217,220,221,228,229,236,241,244,245,248,249,250,251,253,255,257,261,263,277,279,293,301,],[134,-109,-113,-110,-112,-136,-137,-140,-141,-138,-113,134,134,134,134,134,134,134,134,134,134,-108,-107,-106,-142,134,134,-139,-111,134,134,134,None,None,None,None,-89,-90,-91,-92,-93,134,134,-96,134,134,134,-100,-101,None,None,None,None,134,134,-118,-119,134,-130,134,134,134,134,None,None,-109,134,-114,-120,134,-131,134,134,-114,-144,134,134,-109,]),'HAS_I':([65,69,71,73,74,78,79,80,81,82,89,90,96,97,99,100,101,102,103,104,113,139,140,141,142,145,149,156,169,172,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,214,215,216,217,220,221,228,229,236,241,244,245,248,249,250,251,253,255,257,261,263,277,279,293,301,],[135,-109,-113,-110,-112,-136,-137,-140,-141,-138,-113,135,135,135,135,135,135,135,135,135,135,-108,-107,-106,-142,135,135,-139,-111,135,135,135,None,None,None,None,-89,-90,-91,-92,-93,135,135,-96,135,135,135,-100,-101,None,None,None,None,135,135,-118,-119,135,-130,135,135,135,135,None,None,-109,135,-114,-120,135,-131,135,135,-114,-144,135,135,-109,]),'MATCHES':([65,69,71,73,74,78,79,80,81,82,89,90,96,97,99,100,101,102,103,104,113,139,140,141,142,145,149,156,169,172,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,214,215,216,217,220,221,228,229,236,241,244,245,248,249,250,251,253,255,257,261,263,277,279,293,301,],[136,-109,-113,-110,-112,-136,-137,-140,-141,-138,-113,136,136,136,136,136,136,136,136,136,187,-108,-107,-106,-142,136,136,-139,-111,136,136,136,136,136,136,136,-89,-90,-91,-92,-93,136,136,-96,136,136,136,-100,-101,136,136,136,136,136,136,-118,-119,136,-130,136,136,136,136,136,136,-109,136,-114,-120,136,-131,136,136,-114,-144,136,136,-109,]),'MATCHES_I':([65,69,71,73,74,78,79,80,81,82,89,90,96,97,99,100,101,102,103,104,113,139,140,141,142,145,149,156,169,172,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,214,215,216,217,220,221,228,229,236,241,244,245,248,249,250,251,253,255,257,261,263,277,279,293,301,],[137,-109,-113,-110,-112,-136,-137,-140,-141,-138,-113,137,137,137,137,137,137,137,137,137,188,-108,-107,-106,-142,137,137,-139,-111,137,137,137,137,137,137,137,-89,-90,-91,-92,-93,137,137,-96,137,137,137,-100,-101,137,137,137,137,137,137,-118,-119,137,-130,137,137,137,137,137,137,-109,137,-114,-120,137,-131,137,137,-114,-144,137,137,-109,]),'DOT':([65,69,71,73,74,78,79,80,81,82,89,90,96,97,99,100,101,102,103,104,113,139,140,141,142,145,149,156,169,172,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,214,215,216,217,220,221,228,229,236,241,244,245,248,249,250,251,253,255,257,261,263,277,279,293,301,],[138,-109,-113,-110,-112,-136,-137,-140,-141,-138,-113,138,138,138,138,138,138,138,138,138,138,138,138,138,-142,138,138,-139,-111,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,-118,-119,138,-130,138,138,138,138,138,138,-109,138,-114,-120,138,-131,138,138,-114,-144,138,138,-109,]),'QUESTION':([65,69,71,73,74,76,78,79,80,81,82,89,90,96,97,99,100,101,102,103,104,112,113,139,140,141,142,145,149,156,158,169,172,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,214,215,216,217,220,221,228,229,236,241,244,245,248,249,250,251,253,255,257,261,263,275,276,277,279,293,301,304,],[-80,-109,-113,-110,-112,151,-136,-137,-140,-141,-138,-113,-80,-80,-80,-80,-80,-80,-80,-80,-80,151,-80,-80,-80,-80,-142,-80,-80,-139,151,-111,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-118,-119,-80,-130,-80,-80,-80,-80,-80,-80,-109,-80,-114,-120,-80,-131,-80,-80,-114,-81,-82,-144,-80,-80,-109,151,]),'RBRACKET':([69,71,73,74,75,78,79,80,81,82,97,139,140,141,142,146,147,148,149,150,156,169,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,214,215,216,217,218,221,229,248,250,251,252,253,255,277,279,293,301,],[-109,-113,-110,-112,-1,-136,-137,-140,-141,-138,171,-108,-107,-106,-142,217,-121,-122,-124,-125,-139,-111,-83,-84,-85,-86,-87,-88,-89,-90,-91,-92,-93,-94,-95,-96,-97,-98,-99,-100,-101,-102,-103,-104,-105,250,-116,-118,-119,251,-130,263,-143,-114,-120,-123,-126,-131,-144,-115,-117,-145,]),'RANGE':([69,71,73,74,78,79,80,81,82,139,140,141,142,149,156,169,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,215,216,217,221,248,250,251,255,277,279,293,301,],[-109,-113,-110,-112,-136,-137,-140,-141,-138,-108,-107,-106,-142,219,-139,-111,-83,-84,-85,-86,-87,-88,-89,-90,-91,-92,-93,-94,-95,-96,-97,-98,-99,-100,-101,-102,-103,-104,-105,-116,-118,-119,-130,-143,-114,-120,-131,-144,-115,-117,-145,]),'AS':([69,71,73,74,78,79,80,81,82,139,140,141,142,156,169,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,215,216,217,221,244,245,248,250,251,255,277,279,293,301,],[-109,-113,-110,-112,-136,-137,-140,-141,-138,-108,-107,-106,-142,-139,-111,-83,-84,-85,-86,-87,-88,-89,-90,-91,-92,-93,-94,-95,-96,-97,-98,-99,-100,-101,-102,-103,-104,-105,-116,-118,-119,-130,246,247,-143,-114,-120,-131,-144,-115,-117,-145,]),'COLON':([69,71,73,74,78,79,80,81,82,139,140,141,142,155,156,169,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,215,216,217,220,221,248,250,251,255,277,279,293,301,],[-109,-113,-110,-112,-136,-137,-140,-141,-138,-108,-107,-106,-142,223,-139,-111,-83,-84,-85,-86,-87,-88,-89,-90,-91,-92,-93,-94,-95,-96,-97,-98,-99,-100,-101,-102,-103,-104,-105,-116,-118,-119,254,-130,-143,-114,-120,-131,-144,-115,-117,-145,]),'OF':([89,159,],[160,227,]),}
  
  _lr_action = {}
  for _k, _v in _lr_action_items.items():
     for _x,_y in zip(_v[0],_v[1]):
        if not _x in _lr_action:  _lr_action[_x] = {}
        _lr_action[_x][_k] = _y
  del _lr_action_items
  
  _lr_goto_items = {'script':([0,],[1,]),'declarations':([0,],[2,]),'empty':([0,18,49,62,63,75,77,92,168,180,225,243,265,285,298,307,],[3,40,95,108,108,147,153,165,165,165,108,273,40,40,40,273,]),'declaration':([0,2,],[4,35,]),'statement':([0,2,18,25,38,105,162,186,232,262,265,270,271,274,282,283,285,297,298,303,306,],[5,5,42,61,42,179,230,243,266,284,42,288,289,291,295,296,42,42,42,42,307,]),'comment':([0,2,18,38,265,285,297,298,303,],[6,6,41,41,41,41,41,41,41,]),'functiondef':([0,2,18,25,38,105,162,186,232,262,265,270,271,274,282,283,285,297,298,303,306,],[7,7,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,]),'assign':([0,2,18,25,38,44,105,162,186,226,232,262,265,270,271,274,282,283,285,297,298,303,306,],[8,8,8,8,8,87,8,8,8,260,8,8,8,8,8,8,8,8,8,8,8,8,8,]),'try':([0,2,18,25,38,105,162,186,232,262,265,270,271,274,282,283,285,297,298,303,306,],[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,]),'evalinclude':([0,2,18,25,38,105,162,186,232,262,265,270,271,274,282,283,285,297,298,303,306,],[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,]),'functioncall':([0,2,18,25,29,38,44,49,50,53,56,57,58,59,60,64,66,67,68,72,75,87,98,105,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,143,144,151,160,161,162,170,183,186,187,188,212,213,218,219,223,227,232,254,262,265,270,271,274,278,282,283,285,292,297,298,300,303,306,],[12,12,12,12,73,12,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,12,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,12,73,73,12,73,73,73,73,73,73,73,73,12,73,12,12,12,12,12,73,12,12,12,73,12,12,73,12,12,]),'condition':([0,2,18,25,38,105,162,186,232,262,265,270,271,274,282,283,285,297,298,303,306,],[13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,]),'return':([0,2,18,25,38,105,162,186,232,262,265,270,271,274,282,283,285,297,298,303,306,],[14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,]),'loop':([0,2,18,25,38,105,162,186,232,262,265,270,271,274,282,283,285,297,298,303,306,],[15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,]),'break':([0,2,18,25,38,105,162,186,232,262,265,270,271,274,282,283,285,297,298,303,306,],[16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,]),'require':([0,2,18,25,38,105,162,186,232,262,265,270,271,274,282,283,285,297,298,303,306,],[17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,]),'letVar':([0,2,18,25,38,44,105,162,186,226,232,262,265,270,271,274,282,283,285,297,298,303,306,],[23,23,23,23,23,88,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,]),'assignLvalue':([0,2,18,23,25,38,44,88,105,162,186,226,232,262,265,270,271,274,282,283,285,297,298,303,306,],[24,24,24,51,24,24,24,51,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,]),'statements':([18,265,285,298,],[38,38,297,303,]),'cstatement':([18,38,265,285,297,298,303,],[39,86,39,39,86,39,86,]),'commentcont':([20,],[45,]),'expression':([29,44,49,50,53,56,57,58,59,60,64,66,67,68,72,75,87,98,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,143,144,151,160,161,170,183,187,188,212,213,218,219,223,227,254,278,292,300,],[65,90,96,97,99,100,101,102,103,104,113,139,140,141,145,149,113,172,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,214,215,220,228,229,236,241,244,245,113,249,149,253,257,261,279,293,113,113,]),'factor':([29,44,49,50,53,56,57,58,59,60,64,66,67,68,72,75,87,98,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,143,144,151,160,161,170,183,187,188,212,213,218,219,223,227,254,278,292,300,],[69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,248,69,69,69,69,69,69,69,301,69,]),'property':([29,44,49,50,53,56,57,58,59,60,64,66,67,68,72,75,87,98,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,143,144,151,160,161,170,183,187,188,212,213,218,219,223,227,254,278,292,300,],[70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,]),'literal':([29,44,49,50,53,56,57,58,59,60,64,66,67,68,72,75,77,87,98,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,143,144,151,160,161,170,183,187,188,212,213,218,219,222,223,227,231,254,278,287,292,300,],[74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,155,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,155,74,74,264,74,74,299,74,74,]),'testExpression':([29,44,49,50,53,56,57,58,59,60,64,66,67,68,72,75,87,98,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,143,144,151,160,161,170,183,187,188,212,213,218,219,223,227,254,278,292,300,],[76,76,76,76,76,76,76,76,76,76,112,76,76,76,76,76,158,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,304,]),'stringLiteral':([29,44,49,50,53,56,57,58,59,60,64,66,67,68,72,75,77,84,87,98,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,143,144,151,160,161,170,183,187,188,212,213,218,219,222,223,227,231,254,278,287,292,300,],[79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,157,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,]),'expressionList':([49,],[94,]),'namedExpressionList':([62,63,225,],[107,111,259,]),'namedExpression':([62,63,182,185,225,280,],[109,109,240,240,109,240,]),'listExpressionList':([75,],[146,]),'listExpression':([75,218,],[148,252,]),'rangeExpression':([75,218,],[150,150,]),'dictionaryList':([77,],[152,]),'dictionaryEntry':([77,222,],[154,256,]),'paramList':([92,168,180,],[164,235,238,]),'sParamList':([92,168,180,],[166,166,166,]),'dParamList':([92,168,180,233,],[167,167,167,267,]),'ifOtherwise':([243,307,],[272,308,]),}
  
  _lr_goto = {}
  for _k, _v in _lr_goto_items.items():
     for _x, _y in zip(_v[0], _v[1]):
         if not _x in _lr_goto: _lr_goto[_x] = {}
         _lr_goto[_x][_k] = _y
  del _lr_goto_items
  _lr_productions = [
    ("S' -> script","S'",1,None,None,None),
    ('empty -> <empty>','empty',0,'p_empty','cparser.py',34),
    ('script -> declarations','script',1,'p_script','cparser.py',39),
    ('script -> empty','script',1,'p_script','cparser.py',40),
    ('declarations -> declaration','declarations',1,'p_declarations','cparser.py',45),
    ('declarations -> declarations declaration','declarations',2,'p_declarations','cparser.py',46),
    ('declaration -> statement','declaration',1,'p_declaration','cparser.py',57),
    ('declaration -> comment','declaration',1,'p_declaration','cparser.py',58),
    ('declaration -> functiondef','declaration',1,'p_declaration','cparser.py',59),
    ('statements -> statements cstatement','statements',2,'p_statements_multi','cparser.py',65),
    ('statements -> empty','statements',1,'p_statements_mt','cparser.py',74),
    ('statements -> cstatement','statements',1,'p_statements_single','cparser.py',79),
    ('cstatement -> comment','cstatement',1,'p_statements_one','cparser.py',84),
    ('cstatement -> statement','cstatement',1,'p_statements_one','cparser.py',85),
    ('statement -> assign','statement',1,'p_statement','cparser.py',91),
    ('statement -> try','statement',1,'p_statement','cparser.py',92),
    ('statement -> evalinclude STOP','statement',2,'p_statement','cparser.py',93),
    ('statement -> functioncall STOP','statement',2,'p_statement','cparser.py',94),
    ('statement -> condition','statement',1,'p_statement','cparser.py',95),
    ('statement -> return','statement',1,'p_statement','cparser.py',96),
    ('statement -> functiondef','statement',1,'p_statement','cparser.py',97),
    ('statement -> loop','statement',1,'p_statement','cparser.py',98),
    ('statement -> break','statement',1,'p_statement','cparser.py',99),
    ('statement -> require','statement',1,'p_statement','cparser.py',100),
    ('statement -> LBRACE statements RBRACE','statement',3,'p_statement_block','cparser.py',112),
    ('comment -> ESICOMMENT','comment',1,'p_comment','cparser.py',120),
    ('comment -> ESICOMMENT commentcont','comment',2,'p_comment_cont','cparser.py',125),
    ('commentcont -> commentcont ESICOMMENT_CONT','commentcont',2,'p_commentcont_multi','cparser.py',137),
    ('commentcont -> ESICOMMENT_CONT','commentcont',1,'p_commentcont','cparser.py',142),
    ('letVar -> LET','letVar',1,'p_assign_def','cparser.py',149),
    ('letVar -> VAR','letVar',1,'p_assign_def','cparser.py',150),
    ('letVar -> CONST','letVar',1,'p_assign_def','cparser.py',151),
    ('assign -> letVar assignLvalue ASSIGN expression STOP','assign',5,'p_assign_strict','cparser.py',155),
    ('assign -> assignLvalue ASSIGN expression STOP','assign',4,'p_assign','cparser.py',160),
    ('assign -> assignLvalue INCREMENT','assign',2,'p_assign_incdec','cparser.py',165),
    ('assign -> assignLvalue DECREMENT','assign',2,'p_assign_incdec','cparser.py',166),
    ('assign -> assignLvalue ASSIGNPLUS expression STOP','assign',4,'p_assign_op','cparser.py',175),
    ('assign -> assignLvalue ASSIGNMINUS expression STOP','assign',4,'p_assign_op','cparser.py',176),
    ('assign -> assignLvalue ASSIGNMULTIPLY expression STOP','assign',4,'p_assign_op','cparser.py',177),
    ('assign -> assignLvalue ASSIGNMODULUS expression STOP','assign',4,'p_assign_op','cparser.py',178),
    ('assign -> assignLvalue ASSIGNDIVIDE expression STOP','assign',4,'p_assign_op','cparser.py',179),
    ('assignLvalue -> SYMBOL','assignLvalue',1,'p_assignLvalue','cparser.py',185),
    ('assignLvalue -> SYMBOL LBRACKET expression RBRACKET','assignLvalue',4,'p_assignLvalue','cparser.py',186),
    ('require -> REQUIRE LPAREN stringLiteral RPAREN STOP','require',5,'p_require','cparser.py',195),
    ('require -> REQUIRE LPAREN stringLiteral COMMA namedExpressionList RPAREN STOP','require',7,'p_require','cparser.py',196),
    ('condition -> IF LPAREN testExpression RPAREN statement ifOtherwise','condition',6,'p_condition_if','cparser.py',209),
    ('ifOtherwise -> empty','ifOtherwise',1,'p_ifOtherwise','cparser.py',214),
    ('ifOtherwise -> ELSE IF LPAREN testExpression RPAREN statement ifOtherwise','ifOtherwise',7,'p_ifOtherwise','cparser.py',215),
    ('ifOtherwise -> ELSE statement','ifOtherwise',2,'p_ifOtherwise','cparser.py',216),
    ('loop -> FOR LPAREN letVar SYMBOL OF expression RPAREN statement','loop',8,'p_foreach_loop','cparser.py',234),
    ('loop -> FOR LPAREN SYMBOL OF expression RPAREN statement','loop',7,'p_foreach_loop','cparser.py',235),
    ('loop -> FOR LPAREN expression RPAREN statement','loop',5,'p_foreach_loop','cparser.py',236),
    ('statement -> FOR LPAREN assign testExpression STOP assign RPAREN statement','statement',8,'p_for_loop','cparser.py',247),
    ('break -> BREAK STOP','break',2,'p_break','cparser.py',261),
    ('try -> TRY statement','try',2,'p_try','cparser.py',267),
    ('try -> TRY statement EXCEPT statement','try',4,'p_tryexcept','cparser.py',272),
    ('try -> TRY statement CATCH LPAREN paramList RPAREN statement','try',7,'p_trycatch','cparser.py',277),
    ('evalinclude -> EVAL LPAREN namedExpressionList RPAREN','evalinclude',4,'p_evalinclude','cparser.py',285),
    ('evalinclude -> EVAL LPAREN namedExpressionList COMMA RPAREN','evalinclude',5,'p_evalinclude','cparser.py',286),
    ('evalinclude -> INCLUDE LPAREN namedExpressionList RPAREN','evalinclude',4,'p_evalinclude','cparser.py',287),
    ('evalinclude -> INCLUDE LPAREN namedExpressionList COMMA RPAREN','evalinclude',5,'p_evalinclude','cparser.py',288),
    ('namedExpressionList -> empty','namedExpressionList',1,'p_namedExpressionList','cparser.py',299),
    ('namedExpressionList -> namedExpression','namedExpressionList',1,'p_namedExpressionList','cparser.py',300),
    ('namedExpressionList -> namedExpressionList COMMA namedExpression','namedExpressionList',3,'p_namedExpressionList','cparser.py',301),
    ('namedExpression -> SYMBOL ASSIGN expression','namedExpression',3,'p_namedExpression','cparser.py',311),
    ('functiondef -> FUNCTION SYMBOL LPAREN paramList RPAREN LBRACE INLINE statements RBRACE','functiondef',9,'p_functiondef_inline','cparser.py',321),
    ('functiondef -> FUNCTION SYMBOL LPAREN paramList RPAREN LBRACE STRING STOP statements RBRACE','functiondef',10,'p_functiondef_jsinline','cparser.py',327),
    ('functiondef -> FUNCTION SYMBOL LPAREN paramList RPAREN statement','functiondef',6,'p_functiondef','cparser.py',337),
    ('functiondef -> FUNCTION INLINE SYMBOL LPAREN paramList RPAREN statement','functiondef',7,'p_functiondef_inline_old','cparser.py',344),
    ('paramList -> empty','paramList',1,'p_paramList_mt','cparser.py',353),
    ('paramList -> sParamList','paramList',1,'p_paramList_s','cparser.py',358),
    ('paramList -> sParamList COMMA dParamList','paramList',3,'p_paramList_s','cparser.py',359),
    ('paramList -> dParamList','paramList',1,'p_paramList_s','cparser.py',360),
    ('sParamList -> SYMBOL','sParamList',1,'p_sParamList','cparser.py',369),
    ('sParamList -> sParamList COMMA SYMBOL','sParamList',3,'p_sParamList_multi','cparser.py',374),
    ('dParamList -> SYMBOL ASSIGN literal','dParamList',3,'p_dParamList','cparser.py',379),
    ('dParamList -> dParamList COMMA SYMBOL ASSIGN literal','dParamList',5,'p_dParamList_multi','cparser.py',384),
    ('return -> RETURN expression STOP','return',3,'p_return','cparser.py',389),
    ('property -> expression DOT','property',2,'p_property','cparser.py',395),
    ('statement -> STOP','statement',1,'p_noop','cparser.py',400),
    ('testExpression -> expression','testExpression',1,'p_testExpression','cparser.py',469),
    ('testExpression -> expression MATCHES expression AS SYMBOL','testExpression',5,'p_testExpression','cparser.py',470),
    ('testExpression -> expression MATCHES_I expression AS SYMBOL','testExpression',5,'p_testExpression','cparser.py',471),
    ('expression -> expression EQUAL expression','expression',3,'p_expression_operator','cparser.py',481),
    ('expression -> expression NOTEQUAL expression','expression',3,'p_expression_operator','cparser.py',482),
    ('expression -> expression LESSERTHAN expression','expression',3,'p_expression_operator','cparser.py',483),
    ('expression -> expression LESSEROREQUAL expression','expression',3,'p_expression_operator','cparser.py',484),
    ('expression -> expression GREATERTHAN expression','expression',3,'p_expression_operator','cparser.py',485),
    ('expression -> expression GREATEROREQUAL expression','expression',3,'p_expression_operator','cparser.py',486),
    ('expression -> expression PLUS expression','expression',3,'p_expression_operator','cparser.py',487),
    ('expression -> expression MINUS expression','expression',3,'p_expression_operator','cparser.py',488),
    ('expression -> expression MULTIPLY expression','expression',3,'p_expression_operator','cparser.py',489),
    ('expression -> expression MODULUS expression','expression',3,'p_expression_operator','cparser.py',490),
    ('expression -> expression DIVIDE expression','expression',3,'p_expression_operator','cparser.py',491),
    ('expression -> expression AND expression','expression',3,'p_expression_operator','cparser.py',492),
    ('expression -> expression OR expression','expression',3,'p_expression_operator','cparser.py',493),
    ('expression -> expression BITWISENOT expression','expression',3,'p_expression_operator','cparser.py',494),
    ('expression -> expression BITWISEAND expression','expression',3,'p_expression_operator','cparser.py',495),
    ('expression -> expression BITWISEOR expression','expression',3,'p_expression_operator','cparser.py',496),
    ('expression -> expression BITWISEXOR expression','expression',3,'p_expression_operator','cparser.py',497),
    ('expression -> expression SHIFTLEFT expression','expression',3,'p_expression_operator','cparser.py',498),
    ('expression -> expression SHIFTRIGHT expression','expression',3,'p_expression_operator','cparser.py',499),
    ('expression -> expression HAS expression','expression',3,'p_expression_has','cparser.py',511),
    ('expression -> expression HAS_I expression','expression',3,'p_expression_has','cparser.py',512),
    ('expression -> expression MATCHES expression','expression',3,'p_expression_matches','cparser.py',518),
    ('expression -> expression MATCHES_I expression','expression',3,'p_expression_matches','cparser.py',519),
    ('expression -> NOT expression','expression',2,'p_expression_unary','cparser.py',525),
    ('expression -> BITWISENOT expression','expression',2,'p_expression_unary','cparser.py',526),
    ('expression -> MINUS expression','expression',2,'p_expression_uminus','cparser.py',532),
    ('expression -> factor','expression',1,'p_expression_factor','cparser.py',537),
    ('factor -> functioncall','factor',1,'p_factor_functioncall','cparser.py',542),
    ('functioncall -> SYMBOL LPAREN expressionList RPAREN','functioncall',4,'p_functioncall','cparser.py',547),
    ('factor -> literal','factor',1,'p_factor_literal','cparser.py',561),
    ('factor -> SYMBOL','factor',1,'p_factor_varref','cparser.py',566),
    ('factor -> SYMBOL LBRACKET expression RBRACKET','factor',4,'p_factor_varref_key','cparser.py',571),
    ('factor -> testExpression QUESTION expression COLON expression','factor',5,'p_factor_varref_ternary','cparser.py',575),
    ('factor -> SYMBOL OR expression','factor',3,'p_factor_varref_default','cparser.py',581),
    ('factor -> SYMBOL LBRACKET expression RBRACKET OR expression','factor',6,'p_factor_varref_key_default','cparser.py',585),
    ('factor -> LPAREN expression RPAREN','factor',3,'p_factor_expr','cparser.py',589),
    ('factor -> LBRACKET listExpressionList RBRACKET','factor',3,'p_factor_list','cparser.py',594),
    ('factor -> LBRACKET listExpressionList COMMA RBRACKET','factor',4,'p_factor_list','cparser.py',595),
    ('listExpressionList -> empty','listExpressionList',1,'p_listExpressionList','cparser.py',601),
    ('listExpressionList -> listExpression','listExpressionList',1,'p_listExpressionList','cparser.py',602),
    ('listExpressionList -> listExpressionList COMMA listExpression','listExpressionList',3,'p_listExpressionList','cparser.py',603),
    ('listExpression -> expression','listExpression',1,'p_listExpression','cparser.py',613),
    ('listExpression -> rangeExpression','listExpression',1,'p_listExpression','cparser.py',614),
    ('rangeExpression -> expression RANGE expression','rangeExpression',3,'p_rangeExpression','cparser.py',620),
    ('expressionList -> empty','expressionList',1,'p_expressionList','cparser.py',625),
    ('expressionList -> expression','expressionList',1,'p_expressionList','cparser.py',626),
    ('expressionList -> expressionList COMMA expression','expressionList',3,'p_expressionList','cparser.py',627),
    ('factor -> LBRACE dictionaryList RBRACE','factor',3,'p_factor_dict','cparser.py',637),
    ('factor -> LBRACE dictionaryList COMMA RBRACE','factor',4,'p_factor_dict','cparser.py',638),
    ('dictionaryList -> empty','dictionaryList',1,'p_dictionaryList','cparser.py',644),
    ('dictionaryList -> dictionaryEntry','dictionaryList',1,'p_dictionaryList','cparser.py',645),
    ('dictionaryList -> dictionaryList COMMA dictionaryEntry','dictionaryList',3,'p_dictionaryList','cparser.py',646),
    ('dictionaryEntry -> literal COLON expression','dictionaryEntry',3,'p_dictionaryEntry','cparser.py',656),
    ('literal -> NUMBER','literal',1,'p_literal','cparser.py',661),
    ('literal -> stringLiteral','literal',1,'p_literal','cparser.py',662),
    ('stringLiteral -> STRING','stringLiteral',1,'p_stringLiteral','cparser.py',688),
    ('stringLiteral -> stringLiteral STRING','stringLiteral',2,'p_stringLiteral','cparser.py',689),
    ('literal -> TRUE','literal',1,'p_literal_bool','cparser.py',697),
    ('literal -> FALSE','literal',1,'p_literal_bool','cparser.py',698),
    ('expression -> property SYMBOL','expression',2,'p_property_string','cparser.py',705),
    ('expression -> property SYMBOL OR factor','expression',4,'p_property_string','cparser.py',706),
    ('expression -> property SYMBOL LPAREN expression RPAREN','expression',5,'p_property_string','cparser.py',707),
    ('expression -> property SYMBOL LPAREN expression RPAREN OR factor','expression',7,'p_property_string','cparser.py',708),
  ]
  