diff --git a/Objects/private/parser/Bindings.cpp b/Objects/private/parser/Bindings.cpp index 1f1ff64..a6c1112 100644 --- a/Objects/private/parser/Bindings.cpp +++ b/Objects/private/parser/Bindings.cpp @@ -158,29 +158,12 @@ void bind(LalrParser& parser) { BIND(stm_var_def_assign); BIND(stm_log); BIND(stm_assign); + stm_while_loop stm_return stm_break BIND(expr_function) BIND(expr_method) BIND(expr_child) BIND(expr_bool_eq) + BIND(expr_bool_negate) BIND(expr_bool_neq) BIND(expr_bool_grater) BIND(expr_bool_lesser) BIND(expr_bool_grater_eq) + BIND(expr_bool_lesser_eq) BIND(expr_add) BIND(expr_subtract) BIND(expr_multiply) BIND(expr_divide) + BIND(expr_compound) BIND(expr_bool) BIND(expr_int) BIND(expr_float) BIND(expr_string) BIND(expr_id) - BIND(expr_function) - BIND(expr_method) - BIND(expr_child) - BIND(expr_bool_eq) - BIND(expr_bool_negate) - BIND(expr_bool_neq) - BIND(expr_bool_grater) - BIND(expr_bool_lesser) - BIND(expr_bool_grater_eq) - BIND(expr_bool_lesser_eq) - BIND(expr_add) - BIND(expr_subtract) - BIND(expr_multiply) - BIND(expr_divide) - BIND(expr_compound) - BIND(expr_bool) - BIND(expr_int) - BIND(expr_float) - BIND(expr_string) - BIND(expr_id) + BIND(tmp) - BIND(tmp) - - parser.set_lexer_action_handler("string", &lalr::string_literal); + parser.set_lexer_action_handler("string", &lalr::string_literal); } \ No newline at end of file diff --git a/Objects/private/parser/oscript.cpp b/Objects/private/parser/oscript.cpp index 03ec7cc..164b426 100644 --- a/Objects/private/parser/oscript.cpp +++ b/Objects/private/parser/oscript.cpp @@ -27,36 +27,41 @@ extern const ParserState states []; const ParserAction actions [] = { - {0, "scope"}, - {1, "stm_list_append"}, - {2, "stm_list_create"}, - {3, "tmp"}, - {4, "stm_var_def_new_type"}, - {5, "stm_var_def_assign"}, - {6, "stm_log"}, - {7, "stm_assign"}, - {8, "expr_list_append"}, - {9, "expr_list_create"}, - {10, "expr_function"}, - {11, "expr_method"}, - {12, "expr_child"}, - {13, "expr_bool_eq"}, - {14, "expr_bool_negate"}, - {15, "expr_bool_neq"}, - {16, "expr_bool_grater"}, - {17, "expr_bool_lesser"}, - {18, "expr_bool_grater_eq"}, - {19, "expr_bool_lesser_eq"}, - {20, "expr_add"}, - {21, "expr_subtract"}, - {22, "expr_multiply"}, - {23, "expr_divide"}, - {24, "expr_compound"}, - {25, "expr_bool"}, - {26, "expr_int"}, - {27, "expr_float"}, - {28, "expr_string"}, - {29, "expr_id"}, + {0, "tmp"}, + {1, "scope"}, + {2, "stm_list_append"}, + {3, "stm_list_create"}, + {4, "stm_def_class"}, + {5, "stm_if"}, + {6, "stm_break"}, + {7, "stm_return"}, + {8, "stm_while_loop"}, + {9, "stm_var_def_new_type"}, + {10, "stm_var_def_assign"}, + {11, "stm_log"}, + {12, "stm_assign"}, + {13, "expr_list_append"}, + {14, "expr_list_create"}, + {15, "expr_function"}, + {16, "expr_method"}, + {17, "expr_child"}, + {18, "expr_bool_eq"}, + {19, "expr_bool_negate"}, + {20, "expr_bool_neq"}, + {21, "expr_bool_grater"}, + {22, "expr_bool_lesser"}, + {23, "expr_bool_grater_eq"}, + {24, "expr_bool_lesser_eq"}, + {25, "expr_add"}, + {26, "expr_subtract"}, + {27, "expr_multiply"}, + {28, "expr_divide"}, + {29, "expr_compound"}, + {30, "expr_bool"}, + {31, "expr_int"}, + {32, "expr_float"}, + {33, "expr_string"}, + {34, "expr_id"}, {-1, nullptr} }; @@ -81,729 +86,966 @@ const ParserSymbol symbols [] = {16, (SymbolType) 1, "lt__eq_terminal", "<=", "<="}, {17, (SymbolType) 1, "bang__eq_terminal", "!=", "!="}, {18, (SymbolType) 1, "bang_terminal", "!", "!"}, - {19, (SymbolType) 2, "scope", "scope", "scope"}, - {20, (SymbolType) 1, "left_curly_brace_terminal", "{", "{"}, + {19, (SymbolType) 1, "semi_colon_terminal", ";", ";"}, + {20, (SymbolType) 2, "script", "script", "script"}, {21, (SymbolType) 2, "stmts", "stmts", "stmts"}, - {22, (SymbolType) 1, "right_curly_brace_terminal", "}", "}"}, - {23, (SymbolType) 1, "semi_colon_terminal", ";", ";"}, - {24, (SymbolType) 2, "stmt", "stmt", "stmt"}, - {25, (SymbolType) 2, "stm_var_def_new_type", "stm_var_def_new_type", "stm_var_def_new_type"}, - {26, (SymbolType) 2, "stm_var_def_assign", "stm_var_def_assign", "stm_var_def_assign"}, - {27, (SymbolType) 2, "stm_log", "stm_log", "stm_log"}, - {28, (SymbolType) 2, "stm_assign", "stm_assign", "stm_assign"}, - {29, (SymbolType) 1, "var_terminal", "var", "var"}, - {30, (SymbolType) 1, "colon_terminal", ":", ":"}, - {31, (SymbolType) 2, "expr", "expr", "expr"}, - {32, (SymbolType) 1, "print_terminal", "print", "print"}, - {33, (SymbolType) 2, "expr_list", "expr_list", "expr_list"}, - {34, (SymbolType) 1, "comma_terminal", ",", ","}, - {35, (SymbolType) 1, "id", "[a-z]", "id"}, - {36, (SymbolType) 1, "boolean", "true|false", "boolean"}, - {37, (SymbolType) 1, "integer", "(\\+|\\-)?[0-9]+", "integer"}, - {38, (SymbolType) 1, "real", "(\\+|\\-)?[0-9]+(\\.[0-9]+)?((e|E)(\\+|\\-)?[0-9]+)?", "real"}, - {39, (SymbolType) 1, "string", "[\\\"']:string:", "string"}, + {22, (SymbolType) 2, "scope", "scope", "scope"}, + {23, (SymbolType) 1, "left_curly_brace_terminal", "{", "{"}, + {24, (SymbolType) 1, "right_curly_brace_terminal", "}", "}"}, + {25, (SymbolType) 2, "stmt", "stmt", "stmt"}, + {26, (SymbolType) 2, "stm_var_def_new_type", "stm_var_def_new_type", "stm_var_def_new_type"}, + {27, (SymbolType) 2, "stm_var_def_assign", "stm_var_def_assign", "stm_var_def_assign"}, + {28, (SymbolType) 2, "stm_log", "stm_log", "stm_log"}, + {29, (SymbolType) 2, "stm_assign", "stm_assign", "stm_assign"}, + {30, (SymbolType) 2, "stm_while", "stm_while", "stm_while"}, + {31, (SymbolType) 2, "stm_return", "stm_return", "stm_return"}, + {32, (SymbolType) 2, "stm_break", "stm_break", "stm_break"}, + {33, (SymbolType) 2, "stm_if", "stm_if", "stm_if"}, + {34, (SymbolType) 2, "stm_def_class", "stm_def_class", "stm_def_class"}, + {35, (SymbolType) 1, "class_terminal", "class", "class"}, + {36, (SymbolType) 1, "if_terminal", "if", "if"}, + {37, (SymbolType) 2, "expr", "expr", "expr"}, + {38, (SymbolType) 1, "else_terminal", "else", "else"}, + {39, (SymbolType) 1, "break_terminal", "break", "break"}, + {40, (SymbolType) 1, "return_terminal", "return", "return"}, + {41, (SymbolType) 1, "while_terminal", "while", "while"}, + {42, (SymbolType) 1, "var_terminal", "var", "var"}, + {43, (SymbolType) 1, "colon_terminal", ":", ":"}, + {44, (SymbolType) 1, "print_terminal", "print", "print"}, + {45, (SymbolType) 2, "expr_list", "expr_list", "expr_list"}, + {46, (SymbolType) 1, "comma_terminal", ",", ","}, + {47, (SymbolType) 1, "id", "[a-z]", "id"}, + {48, (SymbolType) 1, "boolean", "true|false", "boolean"}, + {49, (SymbolType) 1, "integer", "(\\+|\\-)?[0-9]+", "integer"}, + {50, (SymbolType) 1, "real", "(\\+|\\-)?[0-9]+(\\.[0-9]+)?((e|E)(\\+|\\-)?[0-9]+)?", "real"}, + {51, (SymbolType) 1, "string", "[\\\"']:string:", "string"}, {-1, (SymbolType) 0, nullptr, nullptr, nullptr} }; const ParserTransition transitions [] = { - {&symbols[19], &states[1], nullptr, 0, 0, 0, 0}, - {&symbols[20], &states[2], nullptr, 0, 0, 0, 1}, - {&symbols[1], nullptr, &symbols[19], 0, 0, -1, 2}, - {&symbols[1], nullptr, &symbols[0], 1, 0, -1, 3}, - {&symbols[4], &states[43], nullptr, 0, 0, 0, 4}, - {&symbols[18], &states[33], nullptr, 0, 0, 0, 5}, - {&symbols[21], &states[3], nullptr, 0, 0, 0, 6}, - {&symbols[24], &states[8], nullptr, 0, 0, 0, 7}, - {&symbols[25], &states[9], nullptr, 0, 0, 0, 8}, - {&symbols[26], &states[10], nullptr, 0, 0, 0, 9}, - {&symbols[27], &states[11], nullptr, 0, 0, 0, 10}, - {&symbols[28], &states[12], nullptr, 0, 0, 0, 11}, - {&symbols[29], &states[13], nullptr, 0, 0, 0, 12}, - {&symbols[31], &states[21], nullptr, 0, 0, 0, 13}, - {&symbols[32], &states[19], nullptr, 0, 0, 0, 14}, - {&symbols[35], &states[44], nullptr, 0, 0, 0, 15}, - {&symbols[36], &states[62], nullptr, 0, 0, 0, 16}, - {&symbols[37], &states[63], nullptr, 0, 0, 0, 17}, - {&symbols[38], &states[64], nullptr, 0, 0, 0, 18}, - {&symbols[39], &states[65], nullptr, 0, 0, 0, 19}, - {&symbols[22], nullptr, &symbols[21], 0, 0, -1, 20}, - {&symbols[23], nullptr, &symbols[21], 0, 0, -1, 21}, - {&symbols[22], &states[4], nullptr, 0, 0, 0, 22}, - {&symbols[23], &states[5], nullptr, 0, 0, 0, 23}, - {&symbols[1], nullptr, &symbols[19], 3, 0, 0, 24}, - {&symbols[4], &states[43], nullptr, 0, 0, 0, 25}, - {&symbols[18], &states[33], nullptr, 0, 0, 0, 26}, - {&symbols[24], &states[6], nullptr, 0, 0, 0, 27}, - {&symbols[25], &states[9], nullptr, 0, 0, 0, 28}, - {&symbols[26], &states[10], nullptr, 0, 0, 0, 29}, - {&symbols[27], &states[11], nullptr, 0, 0, 0, 30}, - {&symbols[28], &states[12], nullptr, 0, 0, 0, 31}, - {&symbols[29], &states[13], nullptr, 0, 0, 0, 32}, - {&symbols[31], &states[21], nullptr, 0, 0, 0, 33}, - {&symbols[32], &states[19], nullptr, 0, 0, 0, 34}, - {&symbols[35], &states[44], nullptr, 0, 0, 0, 35}, - {&symbols[36], &states[62], nullptr, 0, 0, 0, 36}, - {&symbols[37], &states[63], nullptr, 0, 0, 0, 37}, - {&symbols[38], &states[64], nullptr, 0, 0, 0, 38}, - {&symbols[39], &states[65], nullptr, 0, 0, 0, 39}, - {&symbols[23], &states[7], nullptr, 0, 0, 0, 40}, - {&symbols[22], nullptr, &symbols[21], 4, 0, 1, 41}, - {&symbols[23], nullptr, &symbols[21], 4, 0, 1, 42}, - {&symbols[22], nullptr, &symbols[21], 1, 0, 2, 43}, - {&symbols[23], nullptr, &symbols[21], 1, 0, 2, 44}, - {&symbols[22], nullptr, &symbols[24], 1, 0, 3, 45}, - {&symbols[23], nullptr, &symbols[24], 1, 0, 3, 46}, - {&symbols[22], nullptr, &symbols[24], 1, 0, 3, 47}, - {&symbols[23], nullptr, &symbols[24], 1, 0, 3, 48}, - {&symbols[22], nullptr, &symbols[24], 1, 0, 3, 49}, - {&symbols[23], nullptr, &symbols[24], 1, 0, 3, 50}, - {&symbols[22], nullptr, &symbols[24], 1, 0, 3, 51}, - {&symbols[23], nullptr, &symbols[24], 1, 0, 3, 52}, - {&symbols[35], &states[14], nullptr, 0, 0, 0, 53}, - {&symbols[11], &states[17], nullptr, 0, 0, 0, 54}, - {&symbols[30], &states[15], nullptr, 0, 0, 0, 55}, - {&symbols[35], &states[16], nullptr, 0, 0, 0, 56}, - {&symbols[22], nullptr, &symbols[25], 4, 0, 4, 57}, - {&symbols[23], nullptr, &symbols[25], 4, 0, 4, 58}, - {&symbols[4], &states[43], nullptr, 0, 0, 0, 59}, - {&symbols[18], &states[33], nullptr, 0, 0, 0, 60}, - {&symbols[31], &states[18], nullptr, 0, 0, 0, 61}, - {&symbols[35], &states[44], nullptr, 0, 0, 0, 62}, - {&symbols[36], &states[62], nullptr, 0, 0, 0, 63}, - {&symbols[37], &states[63], nullptr, 0, 0, 0, 64}, - {&symbols[38], &states[64], nullptr, 0, 0, 0, 65}, - {&symbols[39], &states[65], nullptr, 0, 0, 0, 66}, - {&symbols[6], &states[39], nullptr, 0, 0, 0, 67}, - {&symbols[7], &states[40], nullptr, 0, 0, 0, 68}, - {&symbols[8], &states[41], nullptr, 0, 0, 0, 69}, - {&symbols[9], &states[42], nullptr, 0, 0, 0, 70}, - {&symbols[10], &states[58], nullptr, 0, 0, 0, 71}, - {&symbols[12], &states[32], nullptr, 0, 0, 0, 72}, - {&symbols[13], &states[35], nullptr, 0, 0, 0, 73}, - {&symbols[14], &states[36], nullptr, 0, 0, 0, 74}, - {&symbols[15], &states[37], nullptr, 0, 0, 0, 75}, - {&symbols[16], &states[38], nullptr, 0, 0, 0, 76}, - {&symbols[17], &states[34], nullptr, 0, 0, 0, 77}, - {&symbols[22], nullptr, &symbols[26], 4, 6, 5, 78}, - {&symbols[23], nullptr, &symbols[26], 4, 6, 5, 79}, - {&symbols[4], &states[43], nullptr, 0, 0, 0, 80}, - {&symbols[18], &states[33], nullptr, 0, 0, 0, 81}, - {&symbols[31], &states[20], nullptr, 0, 0, 0, 82}, - {&symbols[35], &states[44], nullptr, 0, 0, 0, 83}, - {&symbols[36], &states[62], nullptr, 0, 0, 0, 84}, - {&symbols[37], &states[63], nullptr, 0, 0, 0, 85}, - {&symbols[38], &states[64], nullptr, 0, 0, 0, 86}, - {&symbols[39], &states[65], nullptr, 0, 0, 0, 87}, - {&symbols[6], &states[39], nullptr, 0, 0, 0, 88}, - {&symbols[7], &states[40], nullptr, 0, 0, 0, 89}, - {&symbols[8], &states[41], nullptr, 0, 0, 0, 90}, - {&symbols[9], &states[42], nullptr, 0, 0, 0, 91}, - {&symbols[10], &states[58], nullptr, 0, 0, 0, 92}, - {&symbols[12], &states[32], nullptr, 0, 0, 0, 93}, - {&symbols[13], &states[35], nullptr, 0, 0, 0, 94}, - {&symbols[14], &states[36], nullptr, 0, 0, 0, 95}, - {&symbols[15], &states[37], nullptr, 0, 0, 0, 96}, - {&symbols[16], &states[38], nullptr, 0, 0, 0, 97}, - {&symbols[17], &states[34], nullptr, 0, 0, 0, 98}, - {&symbols[22], nullptr, &symbols[27], 2, 0, 6, 99}, - {&symbols[23], nullptr, &symbols[27], 2, 0, 6, 100}, - {&symbols[6], &states[39], nullptr, 0, 0, 0, 101}, - {&symbols[7], &states[40], nullptr, 0, 0, 0, 102}, - {&symbols[8], &states[41], nullptr, 0, 0, 0, 103}, - {&symbols[9], &states[42], nullptr, 0, 0, 0, 104}, - {&symbols[10], &states[58], nullptr, 0, 0, 0, 105}, - {&symbols[11], &states[22], nullptr, 0, 0, 0, 106}, - {&symbols[12], &states[32], nullptr, 0, 0, 0, 107}, - {&symbols[13], &states[35], nullptr, 0, 0, 0, 108}, - {&symbols[14], &states[36], nullptr, 0, 0, 0, 109}, - {&symbols[15], &states[37], nullptr, 0, 0, 0, 110}, - {&symbols[16], &states[38], nullptr, 0, 0, 0, 111}, - {&symbols[17], &states[34], nullptr, 0, 0, 0, 112}, - {&symbols[4], &states[43], nullptr, 0, 0, 0, 113}, - {&symbols[18], &states[33], nullptr, 0, 0, 0, 114}, - {&symbols[31], &states[23], nullptr, 0, 0, 0, 115}, - {&symbols[35], &states[44], nullptr, 0, 0, 0, 116}, - {&symbols[36], &states[62], nullptr, 0, 0, 0, 117}, - {&symbols[37], &states[63], nullptr, 0, 0, 0, 118}, - {&symbols[38], &states[64], nullptr, 0, 0, 0, 119}, - {&symbols[39], &states[65], nullptr, 0, 0, 0, 120}, - {&symbols[6], &states[39], nullptr, 0, 0, 0, 121}, - {&symbols[7], &states[40], nullptr, 0, 0, 0, 122}, - {&symbols[8], &states[41], nullptr, 0, 0, 0, 123}, - {&symbols[9], &states[42], nullptr, 0, 0, 0, 124}, - {&symbols[10], &states[58], nullptr, 0, 0, 0, 125}, - {&symbols[12], &states[32], nullptr, 0, 0, 0, 126}, - {&symbols[13], &states[35], nullptr, 0, 0, 0, 127}, - {&symbols[14], &states[36], nullptr, 0, 0, 0, 128}, - {&symbols[15], &states[37], nullptr, 0, 0, 0, 129}, - {&symbols[16], &states[38], nullptr, 0, 0, 0, 130}, - {&symbols[17], &states[34], nullptr, 0, 0, 0, 131}, - {&symbols[22], nullptr, &symbols[28], 3, 6, 7, 132}, - {&symbols[23], nullptr, &symbols[28], 3, 6, 7, 133}, - {&symbols[4], &states[43], nullptr, 0, 0, 0, 134}, - {&symbols[18], &states[33], nullptr, 0, 0, 0, 135}, - {&symbols[31], &states[31], nullptr, 0, 0, 0, 136}, - {&symbols[33], &states[26], nullptr, 0, 0, 0, 137}, - {&symbols[35], &states[44], nullptr, 0, 0, 0, 138}, - {&symbols[36], &states[62], nullptr, 0, 0, 0, 139}, - {&symbols[37], &states[63], nullptr, 0, 0, 0, 140}, - {&symbols[38], &states[64], nullptr, 0, 0, 0, 141}, - {&symbols[39], &states[65], nullptr, 0, 0, 0, 142}, - {&symbols[5], nullptr, &symbols[33], 0, 0, -1, 143}, - {&symbols[34], nullptr, &symbols[33], 0, 0, -1, 144}, - {&symbols[4], &states[43], nullptr, 0, 0, 0, 145}, - {&symbols[18], &states[33], nullptr, 0, 0, 0, 146}, - {&symbols[31], &states[31], nullptr, 0, 0, 0, 147}, - {&symbols[33], &states[27], nullptr, 0, 0, 0, 148}, - {&symbols[35], &states[44], nullptr, 0, 0, 0, 149}, - {&symbols[36], &states[62], nullptr, 0, 0, 0, 150}, - {&symbols[37], &states[63], nullptr, 0, 0, 0, 151}, - {&symbols[38], &states[64], nullptr, 0, 0, 0, 152}, - {&symbols[39], &states[65], nullptr, 0, 0, 0, 153}, - {&symbols[5], nullptr, &symbols[33], 0, 0, -1, 154}, - {&symbols[34], nullptr, &symbols[33], 0, 0, -1, 155}, - {&symbols[5], &states[45], nullptr, 0, 0, 0, 156}, - {&symbols[34], &states[28], nullptr, 0, 0, 0, 157}, - {&symbols[5], &states[60], nullptr, 0, 0, 0, 158}, - {&symbols[34], &states[28], nullptr, 0, 0, 0, 159}, - {&symbols[4], &states[43], nullptr, 0, 0, 0, 160}, - {&symbols[18], &states[33], nullptr, 0, 0, 0, 161}, - {&symbols[31], &states[29], nullptr, 0, 0, 0, 162}, - {&symbols[35], &states[44], nullptr, 0, 0, 0, 163}, - {&symbols[36], &states[62], nullptr, 0, 0, 0, 164}, - {&symbols[37], &states[63], nullptr, 0, 0, 0, 165}, - {&symbols[38], &states[64], nullptr, 0, 0, 0, 166}, - {&symbols[39], &states[65], nullptr, 0, 0, 0, 167}, - {&symbols[6], &states[39], nullptr, 0, 0, 0, 168}, - {&symbols[7], &states[40], nullptr, 0, 0, 0, 169}, - {&symbols[8], &states[41], nullptr, 0, 0, 0, 170}, - {&symbols[9], &states[42], nullptr, 0, 0, 0, 171}, - {&symbols[10], &states[58], nullptr, 0, 0, 0, 172}, - {&symbols[12], &states[32], nullptr, 0, 0, 0, 173}, - {&symbols[13], &states[35], nullptr, 0, 0, 0, 174}, - {&symbols[14], &states[36], nullptr, 0, 0, 0, 175}, - {&symbols[15], &states[37], nullptr, 0, 0, 0, 176}, - {&symbols[16], &states[38], nullptr, 0, 0, 0, 177}, - {&symbols[17], &states[34], nullptr, 0, 0, 0, 178}, - {&symbols[34], &states[30], nullptr, 0, 0, 0, 179}, - {&symbols[5], nullptr, &symbols[33], 4, 0, 8, 180}, - {&symbols[34], nullptr, &symbols[33], 4, 0, 8, 181}, - {&symbols[6], &states[39], nullptr, 0, 0, 0, 182}, - {&symbols[7], &states[40], nullptr, 0, 0, 0, 183}, - {&symbols[8], &states[41], nullptr, 0, 0, 0, 184}, - {&symbols[9], &states[42], nullptr, 0, 0, 0, 185}, - {&symbols[10], &states[58], nullptr, 0, 0, 0, 186}, - {&symbols[12], &states[32], nullptr, 0, 0, 0, 187}, - {&symbols[13], &states[35], nullptr, 0, 0, 0, 188}, - {&symbols[14], &states[36], nullptr, 0, 0, 0, 189}, - {&symbols[15], &states[37], nullptr, 0, 0, 0, 190}, - {&symbols[16], &states[38], nullptr, 0, 0, 0, 191}, - {&symbols[17], &states[34], nullptr, 0, 0, 0, 192}, - {&symbols[5], nullptr, &symbols[33], 1, 0, 9, 193}, - {&symbols[34], nullptr, &symbols[33], 1, 0, 9, 194}, - {&symbols[4], &states[43], nullptr, 0, 0, 0, 195}, - {&symbols[18], &states[33], nullptr, 0, 0, 0, 196}, - {&symbols[31], &states[46], nullptr, 0, 0, 0, 197}, - {&symbols[35], &states[44], nullptr, 0, 0, 0, 198}, - {&symbols[36], &states[62], nullptr, 0, 0, 0, 199}, - {&symbols[37], &states[63], nullptr, 0, 0, 0, 200}, - {&symbols[38], &states[64], nullptr, 0, 0, 0, 201}, - {&symbols[39], &states[65], nullptr, 0, 0, 0, 202}, - {&symbols[4], &states[43], nullptr, 0, 0, 0, 203}, - {&symbols[18], &states[33], nullptr, 0, 0, 0, 204}, - {&symbols[31], &states[47], nullptr, 0, 0, 0, 205}, - {&symbols[35], &states[44], nullptr, 0, 0, 0, 206}, - {&symbols[36], &states[62], nullptr, 0, 0, 0, 207}, - {&symbols[37], &states[63], nullptr, 0, 0, 0, 208}, - {&symbols[38], &states[64], nullptr, 0, 0, 0, 209}, - {&symbols[39], &states[65], nullptr, 0, 0, 0, 210}, - {&symbols[4], &states[43], nullptr, 0, 0, 0, 211}, - {&symbols[18], &states[33], nullptr, 0, 0, 0, 212}, - {&symbols[31], &states[48], nullptr, 0, 0, 0, 213}, - {&symbols[35], &states[44], nullptr, 0, 0, 0, 214}, - {&symbols[36], &states[62], nullptr, 0, 0, 0, 215}, - {&symbols[37], &states[63], nullptr, 0, 0, 0, 216}, - {&symbols[38], &states[64], nullptr, 0, 0, 0, 217}, - {&symbols[39], &states[65], nullptr, 0, 0, 0, 218}, - {&symbols[4], &states[43], nullptr, 0, 0, 0, 219}, - {&symbols[18], &states[33], nullptr, 0, 0, 0, 220}, - {&symbols[31], &states[49], nullptr, 0, 0, 0, 221}, - {&symbols[35], &states[44], nullptr, 0, 0, 0, 222}, - {&symbols[36], &states[62], nullptr, 0, 0, 0, 223}, - {&symbols[37], &states[63], nullptr, 0, 0, 0, 224}, - {&symbols[38], &states[64], nullptr, 0, 0, 0, 225}, - {&symbols[39], &states[65], nullptr, 0, 0, 0, 226}, - {&symbols[4], &states[43], nullptr, 0, 0, 0, 227}, - {&symbols[18], &states[33], nullptr, 0, 0, 0, 228}, - {&symbols[31], &states[50], nullptr, 0, 0, 0, 229}, - {&symbols[35], &states[44], nullptr, 0, 0, 0, 230}, - {&symbols[36], &states[62], nullptr, 0, 0, 0, 231}, - {&symbols[37], &states[63], nullptr, 0, 0, 0, 232}, - {&symbols[38], &states[64], nullptr, 0, 0, 0, 233}, - {&symbols[39], &states[65], nullptr, 0, 0, 0, 234}, - {&symbols[4], &states[43], nullptr, 0, 0, 0, 235}, - {&symbols[18], &states[33], nullptr, 0, 0, 0, 236}, - {&symbols[31], &states[51], nullptr, 0, 0, 0, 237}, - {&symbols[35], &states[44], nullptr, 0, 0, 0, 238}, - {&symbols[36], &states[62], nullptr, 0, 0, 0, 239}, - {&symbols[37], &states[63], nullptr, 0, 0, 0, 240}, - {&symbols[38], &states[64], nullptr, 0, 0, 0, 241}, - {&symbols[39], &states[65], nullptr, 0, 0, 0, 242}, - {&symbols[4], &states[43], nullptr, 0, 0, 0, 243}, - {&symbols[18], &states[33], nullptr, 0, 0, 0, 244}, - {&symbols[31], &states[52], nullptr, 0, 0, 0, 245}, - {&symbols[35], &states[44], nullptr, 0, 0, 0, 246}, - {&symbols[36], &states[62], nullptr, 0, 0, 0, 247}, - {&symbols[37], &states[63], nullptr, 0, 0, 0, 248}, - {&symbols[38], &states[64], nullptr, 0, 0, 0, 249}, - {&symbols[39], &states[65], nullptr, 0, 0, 0, 250}, - {&symbols[4], &states[43], nullptr, 0, 0, 0, 251}, - {&symbols[18], &states[33], nullptr, 0, 0, 0, 252}, - {&symbols[31], &states[53], nullptr, 0, 0, 0, 253}, - {&symbols[35], &states[44], nullptr, 0, 0, 0, 254}, - {&symbols[36], &states[62], nullptr, 0, 0, 0, 255}, - {&symbols[37], &states[63], nullptr, 0, 0, 0, 256}, - {&symbols[38], &states[64], nullptr, 0, 0, 0, 257}, - {&symbols[39], &states[65], nullptr, 0, 0, 0, 258}, - {&symbols[4], &states[43], nullptr, 0, 0, 0, 259}, - {&symbols[18], &states[33], nullptr, 0, 0, 0, 260}, - {&symbols[31], &states[54], nullptr, 0, 0, 0, 261}, - {&symbols[35], &states[44], nullptr, 0, 0, 0, 262}, - {&symbols[36], &states[62], nullptr, 0, 0, 0, 263}, - {&symbols[37], &states[63], nullptr, 0, 0, 0, 264}, - {&symbols[38], &states[64], nullptr, 0, 0, 0, 265}, - {&symbols[39], &states[65], nullptr, 0, 0, 0, 266}, - {&symbols[4], &states[43], nullptr, 0, 0, 0, 267}, - {&symbols[18], &states[33], nullptr, 0, 0, 0, 268}, - {&symbols[31], &states[55], nullptr, 0, 0, 0, 269}, - {&symbols[35], &states[44], nullptr, 0, 0, 0, 270}, - {&symbols[36], &states[62], nullptr, 0, 0, 0, 271}, - {&symbols[37], &states[63], nullptr, 0, 0, 0, 272}, - {&symbols[38], &states[64], nullptr, 0, 0, 0, 273}, - {&symbols[39], &states[65], nullptr, 0, 0, 0, 274}, - {&symbols[4], &states[43], nullptr, 0, 0, 0, 275}, - {&symbols[18], &states[33], nullptr, 0, 0, 0, 276}, - {&symbols[31], &states[56], nullptr, 0, 0, 0, 277}, - {&symbols[35], &states[44], nullptr, 0, 0, 0, 278}, - {&symbols[36], &states[62], nullptr, 0, 0, 0, 279}, - {&symbols[37], &states[63], nullptr, 0, 0, 0, 280}, - {&symbols[38], &states[64], nullptr, 0, 0, 0, 281}, - {&symbols[39], &states[65], nullptr, 0, 0, 0, 282}, - {&symbols[4], &states[43], nullptr, 0, 0, 0, 283}, - {&symbols[18], &states[33], nullptr, 0, 0, 0, 284}, - {&symbols[31], &states[57], nullptr, 0, 0, 0, 285}, - {&symbols[35], &states[44], nullptr, 0, 0, 0, 286}, - {&symbols[36], &states[62], nullptr, 0, 0, 0, 287}, - {&symbols[37], &states[63], nullptr, 0, 0, 0, 288}, - {&symbols[38], &states[64], nullptr, 0, 0, 0, 289}, - {&symbols[39], &states[65], nullptr, 0, 0, 0, 290}, - {&symbols[4], &states[24], nullptr, 0, 0, 0, 291}, - {&symbols[5], nullptr, &symbols[31], 1, 0, 29, 292}, - {&symbols[6], nullptr, &symbols[31], 1, 0, 29, 293}, - {&symbols[7], nullptr, &symbols[31], 1, 0, 29, 294}, - {&symbols[8], nullptr, &symbols[31], 1, 0, 29, 295}, - {&symbols[9], nullptr, &symbols[31], 1, 0, 29, 296}, - {&symbols[10], nullptr, &symbols[31], 1, 0, 29, 297}, - {&symbols[11], nullptr, &symbols[31], 1, 0, 29, 298}, - {&symbols[12], nullptr, &symbols[31], 1, 0, 29, 299}, - {&symbols[13], nullptr, &symbols[31], 1, 0, 29, 300}, - {&symbols[14], nullptr, &symbols[31], 1, 0, 29, 301}, - {&symbols[15], nullptr, &symbols[31], 1, 0, 29, 302}, - {&symbols[16], nullptr, &symbols[31], 1, 0, 29, 303}, - {&symbols[17], nullptr, &symbols[31], 1, 0, 29, 304}, - {&symbols[22], nullptr, &symbols[31], 1, 0, 29, 305}, - {&symbols[23], nullptr, &symbols[31], 1, 0, 29, 306}, - {&symbols[34], nullptr, &symbols[31], 1, 0, 29, 307}, - {&symbols[5], nullptr, &symbols[31], 4, 3, 10, 308}, - {&symbols[6], nullptr, &symbols[31], 4, 3, 10, 309}, - {&symbols[7], nullptr, &symbols[31], 4, 3, 10, 310}, - {&symbols[8], nullptr, &symbols[31], 4, 3, 10, 311}, - {&symbols[9], nullptr, &symbols[31], 4, 3, 10, 312}, - {&symbols[10], nullptr, &symbols[31], 4, 3, 10, 313}, - {&symbols[11], nullptr, &symbols[31], 4, 3, 10, 314}, - {&symbols[12], nullptr, &symbols[31], 4, 3, 10, 315}, - {&symbols[13], nullptr, &symbols[31], 4, 3, 10, 316}, - {&symbols[14], nullptr, &symbols[31], 4, 3, 10, 317}, - {&symbols[15], nullptr, &symbols[31], 4, 3, 10, 318}, - {&symbols[16], nullptr, &symbols[31], 4, 3, 10, 319}, - {&symbols[17], nullptr, &symbols[31], 4, 3, 10, 320}, - {&symbols[22], nullptr, &symbols[31], 4, 3, 10, 321}, - {&symbols[23], nullptr, &symbols[31], 4, 3, 10, 322}, - {&symbols[34], nullptr, &symbols[31], 4, 3, 10, 323}, - {&symbols[6], nullptr, &symbols[31], 3, 7, 13, 324}, - {&symbols[7], nullptr, &symbols[31], 3, 7, 13, 325}, - {&symbols[8], nullptr, &symbols[31], 3, 7, 13, 326}, - {&symbols[9], nullptr, &symbols[31], 3, 7, 13, 327}, - {&symbols[10], nullptr, &symbols[31], 3, 7, 13, 328}, - {&symbols[12], &states[32], nullptr, 0, 0, 0, 329}, - {&symbols[13], &states[35], nullptr, 0, 0, 0, 330}, - {&symbols[14], &states[36], nullptr, 0, 0, 0, 331}, - {&symbols[15], &states[37], nullptr, 0, 0, 0, 332}, - {&symbols[16], &states[38], nullptr, 0, 0, 0, 333}, - {&symbols[17], &states[34], nullptr, 0, 0, 0, 334}, - {&symbols[5], nullptr, &symbols[31], 3, 7, 13, 335}, - {&symbols[11], nullptr, &symbols[31], 3, 7, 13, 336}, - {&symbols[22], nullptr, &symbols[31], 3, 7, 13, 337}, - {&symbols[23], nullptr, &symbols[31], 3, 7, 13, 338}, - {&symbols[34], nullptr, &symbols[31], 3, 7, 13, 339}, - {&symbols[6], nullptr, &symbols[31], 2, 7, 14, 340}, - {&symbols[7], nullptr, &symbols[31], 2, 7, 14, 341}, - {&symbols[8], nullptr, &symbols[31], 2, 7, 14, 342}, - {&symbols[9], nullptr, &symbols[31], 2, 7, 14, 343}, - {&symbols[10], nullptr, &symbols[31], 2, 7, 14, 344}, - {&symbols[12], &states[32], nullptr, 0, 0, 0, 345}, - {&symbols[13], &states[35], nullptr, 0, 0, 0, 346}, - {&symbols[14], &states[36], nullptr, 0, 0, 0, 347}, - {&symbols[15], &states[37], nullptr, 0, 0, 0, 348}, - {&symbols[16], &states[38], nullptr, 0, 0, 0, 349}, - {&symbols[17], &states[34], nullptr, 0, 0, 0, 350}, - {&symbols[5], nullptr, &symbols[31], 2, 7, 14, 351}, - {&symbols[11], nullptr, &symbols[31], 2, 7, 14, 352}, - {&symbols[22], nullptr, &symbols[31], 2, 7, 14, 353}, - {&symbols[23], nullptr, &symbols[31], 2, 7, 14, 354}, - {&symbols[34], nullptr, &symbols[31], 2, 7, 14, 355}, - {&symbols[6], nullptr, &symbols[31], 3, 7, 15, 356}, - {&symbols[7], nullptr, &symbols[31], 3, 7, 15, 357}, - {&symbols[8], nullptr, &symbols[31], 3, 7, 15, 358}, - {&symbols[9], nullptr, &symbols[31], 3, 7, 15, 359}, - {&symbols[10], nullptr, &symbols[31], 3, 7, 15, 360}, - {&symbols[12], &states[32], nullptr, 0, 0, 0, 361}, - {&symbols[13], &states[35], nullptr, 0, 0, 0, 362}, - {&symbols[14], &states[36], nullptr, 0, 0, 0, 363}, - {&symbols[15], &states[37], nullptr, 0, 0, 0, 364}, - {&symbols[16], &states[38], nullptr, 0, 0, 0, 365}, - {&symbols[17], &states[34], nullptr, 0, 0, 0, 366}, - {&symbols[5], nullptr, &symbols[31], 3, 7, 15, 367}, - {&symbols[11], nullptr, &symbols[31], 3, 7, 15, 368}, - {&symbols[22], nullptr, &symbols[31], 3, 7, 15, 369}, - {&symbols[23], nullptr, &symbols[31], 3, 7, 15, 370}, - {&symbols[34], nullptr, &symbols[31], 3, 7, 15, 371}, - {&symbols[6], nullptr, &symbols[31], 3, 7, 16, 372}, - {&symbols[7], nullptr, &symbols[31], 3, 7, 16, 373}, - {&symbols[8], nullptr, &symbols[31], 3, 7, 16, 374}, - {&symbols[9], nullptr, &symbols[31], 3, 7, 16, 375}, - {&symbols[10], nullptr, &symbols[31], 3, 7, 16, 376}, - {&symbols[12], &states[32], nullptr, 0, 0, 0, 377}, - {&symbols[13], &states[35], nullptr, 0, 0, 0, 378}, - {&symbols[14], &states[36], nullptr, 0, 0, 0, 379}, - {&symbols[15], &states[37], nullptr, 0, 0, 0, 380}, - {&symbols[16], &states[38], nullptr, 0, 0, 0, 381}, - {&symbols[17], &states[34], nullptr, 0, 0, 0, 382}, - {&symbols[5], nullptr, &symbols[31], 3, 7, 16, 383}, - {&symbols[11], nullptr, &symbols[31], 3, 7, 16, 384}, - {&symbols[22], nullptr, &symbols[31], 3, 7, 16, 385}, - {&symbols[23], nullptr, &symbols[31], 3, 7, 16, 386}, - {&symbols[34], nullptr, &symbols[31], 3, 7, 16, 387}, - {&symbols[6], nullptr, &symbols[31], 3, 7, 17, 388}, - {&symbols[7], nullptr, &symbols[31], 3, 7, 17, 389}, - {&symbols[8], nullptr, &symbols[31], 3, 7, 17, 390}, - {&symbols[9], nullptr, &symbols[31], 3, 7, 17, 391}, - {&symbols[10], nullptr, &symbols[31], 3, 7, 17, 392}, - {&symbols[12], &states[32], nullptr, 0, 0, 0, 393}, - {&symbols[13], &states[35], nullptr, 0, 0, 0, 394}, - {&symbols[14], &states[36], nullptr, 0, 0, 0, 395}, - {&symbols[15], &states[37], nullptr, 0, 0, 0, 396}, - {&symbols[16], &states[38], nullptr, 0, 0, 0, 397}, - {&symbols[17], &states[34], nullptr, 0, 0, 0, 398}, - {&symbols[5], nullptr, &symbols[31], 3, 7, 17, 399}, - {&symbols[11], nullptr, &symbols[31], 3, 7, 17, 400}, - {&symbols[22], nullptr, &symbols[31], 3, 7, 17, 401}, - {&symbols[23], nullptr, &symbols[31], 3, 7, 17, 402}, - {&symbols[34], nullptr, &symbols[31], 3, 7, 17, 403}, - {&symbols[6], nullptr, &symbols[31], 3, 7, 18, 404}, - {&symbols[7], nullptr, &symbols[31], 3, 7, 18, 405}, - {&symbols[8], nullptr, &symbols[31], 3, 7, 18, 406}, - {&symbols[9], nullptr, &symbols[31], 3, 7, 18, 407}, - {&symbols[10], nullptr, &symbols[31], 3, 7, 18, 408}, - {&symbols[12], &states[32], nullptr, 0, 0, 0, 409}, - {&symbols[13], &states[35], nullptr, 0, 0, 0, 410}, - {&symbols[14], &states[36], nullptr, 0, 0, 0, 411}, - {&symbols[15], &states[37], nullptr, 0, 0, 0, 412}, - {&symbols[16], &states[38], nullptr, 0, 0, 0, 413}, - {&symbols[17], &states[34], nullptr, 0, 0, 0, 414}, - {&symbols[5], nullptr, &symbols[31], 3, 7, 18, 415}, - {&symbols[11], nullptr, &symbols[31], 3, 7, 18, 416}, - {&symbols[22], nullptr, &symbols[31], 3, 7, 18, 417}, - {&symbols[23], nullptr, &symbols[31], 3, 7, 18, 418}, - {&symbols[34], nullptr, &symbols[31], 3, 7, 18, 419}, - {&symbols[6], nullptr, &symbols[31], 3, 7, 19, 420}, - {&symbols[7], nullptr, &symbols[31], 3, 7, 19, 421}, - {&symbols[8], nullptr, &symbols[31], 3, 7, 19, 422}, - {&symbols[9], nullptr, &symbols[31], 3, 7, 19, 423}, - {&symbols[10], nullptr, &symbols[31], 3, 7, 19, 424}, - {&symbols[12], &states[32], nullptr, 0, 0, 0, 425}, - {&symbols[13], &states[35], nullptr, 0, 0, 0, 426}, - {&symbols[14], &states[36], nullptr, 0, 0, 0, 427}, - {&symbols[15], &states[37], nullptr, 0, 0, 0, 428}, - {&symbols[16], &states[38], nullptr, 0, 0, 0, 429}, - {&symbols[17], &states[34], nullptr, 0, 0, 0, 430}, - {&symbols[5], nullptr, &symbols[31], 3, 7, 19, 431}, - {&symbols[11], nullptr, &symbols[31], 3, 7, 19, 432}, - {&symbols[22], nullptr, &symbols[31], 3, 7, 19, 433}, - {&symbols[23], nullptr, &symbols[31], 3, 7, 19, 434}, - {&symbols[34], nullptr, &symbols[31], 3, 7, 19, 435}, - {&symbols[6], &states[39], nullptr, 0, 0, 0, 436}, - {&symbols[7], &states[40], nullptr, 0, 0, 0, 437}, - {&symbols[8], &states[41], nullptr, 0, 0, 0, 438}, - {&symbols[9], &states[42], nullptr, 0, 0, 0, 439}, - {&symbols[10], &states[58], nullptr, 0, 0, 0, 440}, - {&symbols[12], &states[32], nullptr, 0, 0, 0, 441}, - {&symbols[13], &states[35], nullptr, 0, 0, 0, 442}, - {&symbols[14], &states[36], nullptr, 0, 0, 0, 443}, - {&symbols[15], &states[37], nullptr, 0, 0, 0, 444}, - {&symbols[16], &states[38], nullptr, 0, 0, 0, 445}, - {&symbols[17], &states[34], nullptr, 0, 0, 0, 446}, - {&symbols[5], nullptr, &symbols[31], 3, 4, 20, 447}, - {&symbols[11], nullptr, &symbols[31], 3, 4, 20, 448}, - {&symbols[22], nullptr, &symbols[31], 3, 4, 20, 449}, - {&symbols[23], nullptr, &symbols[31], 3, 4, 20, 450}, - {&symbols[34], nullptr, &symbols[31], 3, 4, 20, 451}, - {&symbols[6], &states[39], nullptr, 0, 0, 0, 452}, - {&symbols[7], &states[40], nullptr, 0, 0, 0, 453}, - {&symbols[8], &states[41], nullptr, 0, 0, 0, 454}, - {&symbols[9], &states[42], nullptr, 0, 0, 0, 455}, - {&symbols[10], &states[58], nullptr, 0, 0, 0, 456}, - {&symbols[12], &states[32], nullptr, 0, 0, 0, 457}, - {&symbols[13], &states[35], nullptr, 0, 0, 0, 458}, - {&symbols[14], &states[36], nullptr, 0, 0, 0, 459}, - {&symbols[15], &states[37], nullptr, 0, 0, 0, 460}, - {&symbols[16], &states[38], nullptr, 0, 0, 0, 461}, - {&symbols[17], &states[34], nullptr, 0, 0, 0, 462}, - {&symbols[5], nullptr, &symbols[31], 3, 4, 21, 463}, - {&symbols[11], nullptr, &symbols[31], 3, 4, 21, 464}, - {&symbols[22], nullptr, &symbols[31], 3, 4, 21, 465}, - {&symbols[23], nullptr, &symbols[31], 3, 4, 21, 466}, - {&symbols[34], nullptr, &symbols[31], 3, 4, 21, 467}, - {&symbols[6], nullptr, &symbols[31], 3, 5, 22, 468}, - {&symbols[7], nullptr, &symbols[31], 3, 5, 22, 469}, - {&symbols[8], &states[41], nullptr, 0, 0, 0, 470}, - {&symbols[9], &states[42], nullptr, 0, 0, 0, 471}, - {&symbols[10], &states[58], nullptr, 0, 0, 0, 472}, - {&symbols[12], &states[32], nullptr, 0, 0, 0, 473}, - {&symbols[13], &states[35], nullptr, 0, 0, 0, 474}, - {&symbols[14], &states[36], nullptr, 0, 0, 0, 475}, - {&symbols[15], &states[37], nullptr, 0, 0, 0, 476}, - {&symbols[16], &states[38], nullptr, 0, 0, 0, 477}, - {&symbols[17], &states[34], nullptr, 0, 0, 0, 478}, - {&symbols[5], nullptr, &symbols[31], 3, 5, 22, 479}, - {&symbols[11], nullptr, &symbols[31], 3, 5, 22, 480}, - {&symbols[22], nullptr, &symbols[31], 3, 5, 22, 481}, - {&symbols[23], nullptr, &symbols[31], 3, 5, 22, 482}, - {&symbols[34], nullptr, &symbols[31], 3, 5, 22, 483}, - {&symbols[6], nullptr, &symbols[31], 3, 5, 23, 484}, - {&symbols[7], nullptr, &symbols[31], 3, 5, 23, 485}, - {&symbols[8], &states[41], nullptr, 0, 0, 0, 486}, - {&symbols[9], &states[42], nullptr, 0, 0, 0, 487}, - {&symbols[10], &states[58], nullptr, 0, 0, 0, 488}, - {&symbols[12], &states[32], nullptr, 0, 0, 0, 489}, - {&symbols[13], &states[35], nullptr, 0, 0, 0, 490}, - {&symbols[14], &states[36], nullptr, 0, 0, 0, 491}, - {&symbols[15], &states[37], nullptr, 0, 0, 0, 492}, - {&symbols[16], &states[38], nullptr, 0, 0, 0, 493}, - {&symbols[17], &states[34], nullptr, 0, 0, 0, 494}, - {&symbols[5], nullptr, &symbols[31], 3, 5, 23, 495}, - {&symbols[11], nullptr, &symbols[31], 3, 5, 23, 496}, - {&symbols[22], nullptr, &symbols[31], 3, 5, 23, 497}, - {&symbols[23], nullptr, &symbols[31], 3, 5, 23, 498}, - {&symbols[34], nullptr, &symbols[31], 3, 5, 23, 499}, - {&symbols[5], &states[61], nullptr, 0, 0, 0, 500}, - {&symbols[6], &states[39], nullptr, 0, 0, 0, 501}, - {&symbols[7], &states[40], nullptr, 0, 0, 0, 502}, - {&symbols[8], &states[41], nullptr, 0, 0, 0, 503}, - {&symbols[9], &states[42], nullptr, 0, 0, 0, 504}, - {&symbols[10], &states[58], nullptr, 0, 0, 0, 505}, - {&symbols[12], &states[32], nullptr, 0, 0, 0, 506}, - {&symbols[13], &states[35], nullptr, 0, 0, 0, 507}, - {&symbols[14], &states[36], nullptr, 0, 0, 0, 508}, - {&symbols[15], &states[37], nullptr, 0, 0, 0, 509}, - {&symbols[16], &states[38], nullptr, 0, 0, 0, 510}, - {&symbols[17], &states[34], nullptr, 0, 0, 0, 511}, - {&symbols[35], &states[59], nullptr, 0, 0, 0, 512}, - {&symbols[4], &states[25], nullptr, 0, 0, 0, 513}, - {&symbols[5], nullptr, &symbols[31], 3, 0, 12, 514}, - {&symbols[6], nullptr, &symbols[31], 3, 0, 12, 515}, - {&symbols[7], nullptr, &symbols[31], 3, 0, 12, 516}, - {&symbols[8], nullptr, &symbols[31], 3, 0, 12, 517}, - {&symbols[9], nullptr, &symbols[31], 3, 0, 12, 518}, - {&symbols[10], nullptr, &symbols[31], 3, 0, 12, 519}, - {&symbols[11], nullptr, &symbols[31], 3, 0, 12, 520}, - {&symbols[12], nullptr, &symbols[31], 3, 0, 12, 521}, - {&symbols[13], nullptr, &symbols[31], 3, 0, 12, 522}, - {&symbols[14], nullptr, &symbols[31], 3, 0, 12, 523}, - {&symbols[15], nullptr, &symbols[31], 3, 0, 12, 524}, - {&symbols[16], nullptr, &symbols[31], 3, 0, 12, 525}, - {&symbols[17], nullptr, &symbols[31], 3, 0, 12, 526}, - {&symbols[22], nullptr, &symbols[31], 3, 0, 12, 527}, - {&symbols[23], nullptr, &symbols[31], 3, 0, 12, 528}, - {&symbols[34], nullptr, &symbols[31], 3, 0, 12, 529}, - {&symbols[5], nullptr, &symbols[31], 6, 3, 11, 530}, - {&symbols[6], nullptr, &symbols[31], 6, 3, 11, 531}, - {&symbols[7], nullptr, &symbols[31], 6, 3, 11, 532}, - {&symbols[8], nullptr, &symbols[31], 6, 3, 11, 533}, - {&symbols[9], nullptr, &symbols[31], 6, 3, 11, 534}, - {&symbols[10], nullptr, &symbols[31], 6, 3, 11, 535}, - {&symbols[11], nullptr, &symbols[31], 6, 3, 11, 536}, - {&symbols[12], nullptr, &symbols[31], 6, 3, 11, 537}, - {&symbols[13], nullptr, &symbols[31], 6, 3, 11, 538}, - {&symbols[14], nullptr, &symbols[31], 6, 3, 11, 539}, - {&symbols[15], nullptr, &symbols[31], 6, 3, 11, 540}, - {&symbols[16], nullptr, &symbols[31], 6, 3, 11, 541}, - {&symbols[17], nullptr, &symbols[31], 6, 3, 11, 542}, - {&symbols[22], nullptr, &symbols[31], 6, 3, 11, 543}, - {&symbols[23], nullptr, &symbols[31], 6, 3, 11, 544}, - {&symbols[34], nullptr, &symbols[31], 6, 3, 11, 545}, - {&symbols[5], nullptr, &symbols[31], 3, 3, 24, 546}, - {&symbols[6], nullptr, &symbols[31], 3, 3, 24, 547}, - {&symbols[7], nullptr, &symbols[31], 3, 3, 24, 548}, - {&symbols[8], nullptr, &symbols[31], 3, 3, 24, 549}, - {&symbols[9], nullptr, &symbols[31], 3, 3, 24, 550}, - {&symbols[10], nullptr, &symbols[31], 3, 3, 24, 551}, - {&symbols[11], nullptr, &symbols[31], 3, 3, 24, 552}, - {&symbols[12], nullptr, &symbols[31], 3, 3, 24, 553}, - {&symbols[13], nullptr, &symbols[31], 3, 3, 24, 554}, - {&symbols[14], nullptr, &symbols[31], 3, 3, 24, 555}, - {&symbols[15], nullptr, &symbols[31], 3, 3, 24, 556}, - {&symbols[16], nullptr, &symbols[31], 3, 3, 24, 557}, - {&symbols[17], nullptr, &symbols[31], 3, 3, 24, 558}, - {&symbols[22], nullptr, &symbols[31], 3, 3, 24, 559}, - {&symbols[23], nullptr, &symbols[31], 3, 3, 24, 560}, - {&symbols[34], nullptr, &symbols[31], 3, 3, 24, 561}, - {&symbols[5], nullptr, &symbols[31], 1, 0, 25, 562}, - {&symbols[6], nullptr, &symbols[31], 1, 0, 25, 563}, - {&symbols[7], nullptr, &symbols[31], 1, 0, 25, 564}, - {&symbols[8], nullptr, &symbols[31], 1, 0, 25, 565}, - {&symbols[9], nullptr, &symbols[31], 1, 0, 25, 566}, - {&symbols[10], nullptr, &symbols[31], 1, 0, 25, 567}, - {&symbols[11], nullptr, &symbols[31], 1, 0, 25, 568}, - {&symbols[12], nullptr, &symbols[31], 1, 0, 25, 569}, - {&symbols[13], nullptr, &symbols[31], 1, 0, 25, 570}, - {&symbols[14], nullptr, &symbols[31], 1, 0, 25, 571}, - {&symbols[15], nullptr, &symbols[31], 1, 0, 25, 572}, - {&symbols[16], nullptr, &symbols[31], 1, 0, 25, 573}, - {&symbols[17], nullptr, &symbols[31], 1, 0, 25, 574}, - {&symbols[22], nullptr, &symbols[31], 1, 0, 25, 575}, - {&symbols[23], nullptr, &symbols[31], 1, 0, 25, 576}, - {&symbols[34], nullptr, &symbols[31], 1, 0, 25, 577}, - {&symbols[5], nullptr, &symbols[31], 1, 2, 26, 578}, - {&symbols[6], nullptr, &symbols[31], 1, 2, 26, 579}, - {&symbols[7], nullptr, &symbols[31], 1, 2, 26, 580}, - {&symbols[8], nullptr, &symbols[31], 1, 2, 26, 581}, - {&symbols[9], nullptr, &symbols[31], 1, 2, 26, 582}, - {&symbols[10], nullptr, &symbols[31], 1, 2, 26, 583}, - {&symbols[11], nullptr, &symbols[31], 1, 2, 26, 584}, - {&symbols[12], nullptr, &symbols[31], 1, 2, 26, 585}, - {&symbols[13], nullptr, &symbols[31], 1, 2, 26, 586}, - {&symbols[14], nullptr, &symbols[31], 1, 2, 26, 587}, - {&symbols[15], nullptr, &symbols[31], 1, 2, 26, 588}, - {&symbols[16], nullptr, &symbols[31], 1, 2, 26, 589}, - {&symbols[17], nullptr, &symbols[31], 1, 2, 26, 590}, - {&symbols[22], nullptr, &symbols[31], 1, 2, 26, 591}, - {&symbols[23], nullptr, &symbols[31], 1, 2, 26, 592}, - {&symbols[34], nullptr, &symbols[31], 1, 2, 26, 593}, - {&symbols[5], nullptr, &symbols[31], 1, 0, 27, 594}, - {&symbols[6], nullptr, &symbols[31], 1, 0, 27, 595}, - {&symbols[7], nullptr, &symbols[31], 1, 0, 27, 596}, - {&symbols[8], nullptr, &symbols[31], 1, 0, 27, 597}, - {&symbols[9], nullptr, &symbols[31], 1, 0, 27, 598}, - {&symbols[10], nullptr, &symbols[31], 1, 0, 27, 599}, - {&symbols[11], nullptr, &symbols[31], 1, 0, 27, 600}, - {&symbols[12], nullptr, &symbols[31], 1, 0, 27, 601}, - {&symbols[13], nullptr, &symbols[31], 1, 0, 27, 602}, - {&symbols[14], nullptr, &symbols[31], 1, 0, 27, 603}, - {&symbols[15], nullptr, &symbols[31], 1, 0, 27, 604}, - {&symbols[16], nullptr, &symbols[31], 1, 0, 27, 605}, - {&symbols[17], nullptr, &symbols[31], 1, 0, 27, 606}, - {&symbols[22], nullptr, &symbols[31], 1, 0, 27, 607}, - {&symbols[23], nullptr, &symbols[31], 1, 0, 27, 608}, - {&symbols[34], nullptr, &symbols[31], 1, 0, 27, 609}, - {&symbols[5], nullptr, &symbols[31], 1, 0, 28, 610}, - {&symbols[6], nullptr, &symbols[31], 1, 0, 28, 611}, - {&symbols[7], nullptr, &symbols[31], 1, 0, 28, 612}, - {&symbols[8], nullptr, &symbols[31], 1, 0, 28, 613}, - {&symbols[9], nullptr, &symbols[31], 1, 0, 28, 614}, - {&symbols[10], nullptr, &symbols[31], 1, 0, 28, 615}, - {&symbols[11], nullptr, &symbols[31], 1, 0, 28, 616}, - {&symbols[12], nullptr, &symbols[31], 1, 0, 28, 617}, - {&symbols[13], nullptr, &symbols[31], 1, 0, 28, 618}, - {&symbols[14], nullptr, &symbols[31], 1, 0, 28, 619}, - {&symbols[15], nullptr, &symbols[31], 1, 0, 28, 620}, - {&symbols[16], nullptr, &symbols[31], 1, 0, 28, 621}, - {&symbols[17], nullptr, &symbols[31], 1, 0, 28, 622}, - {&symbols[22], nullptr, &symbols[31], 1, 0, 28, 623}, - {&symbols[23], nullptr, &symbols[31], 1, 0, 28, 624}, - {&symbols[34], nullptr, &symbols[31], 1, 0, 28, 625}, + {&symbols[4], &states[67], nullptr, 0, 0, 0, 0}, + {&symbols[18], &states[57], nullptr, 0, 0, 0, 1}, + {&symbols[20], &states[1], nullptr, 0, 0, 0, 2}, + {&symbols[21], &states[2], nullptr, 0, 0, 0, 3}, + {&symbols[25], &states[13], nullptr, 0, 0, 0, 4}, + {&symbols[26], &states[14], nullptr, 0, 0, 0, 5}, + {&symbols[27], &states[15], nullptr, 0, 0, 0, 6}, + {&symbols[28], &states[16], nullptr, 0, 0, 0, 7}, + {&symbols[29], &states[17], nullptr, 0, 0, 0, 8}, + {&symbols[30], &states[18], nullptr, 0, 0, 0, 9}, + {&symbols[31], &states[19], nullptr, 0, 0, 0, 10}, + {&symbols[32], &states[20], nullptr, 0, 0, 0, 11}, + {&symbols[33], &states[21], nullptr, 0, 0, 0, 12}, + {&symbols[34], &states[22], nullptr, 0, 0, 0, 13}, + {&symbols[35], &states[23], nullptr, 0, 0, 0, 14}, + {&symbols[36], &states[25], nullptr, 0, 0, 0, 15}, + {&symbols[37], &states[45], nullptr, 0, 0, 0, 16}, + {&symbols[39], &states[30], nullptr, 0, 0, 0, 17}, + {&symbols[40], &states[31], nullptr, 0, 0, 0, 18}, + {&symbols[41], &states[33], nullptr, 0, 0, 0, 19}, + {&symbols[42], &states[37], nullptr, 0, 0, 0, 20}, + {&symbols[44], &states[43], nullptr, 0, 0, 0, 21}, + {&symbols[47], &states[68], nullptr, 0, 0, 0, 22}, + {&symbols[48], &states[86], nullptr, 0, 0, 0, 23}, + {&symbols[49], &states[87], nullptr, 0, 0, 0, 24}, + {&symbols[50], &states[88], nullptr, 0, 0, 0, 25}, + {&symbols[51], &states[89], nullptr, 0, 0, 0, 26}, + {&symbols[1], nullptr, &symbols[21], 0, 0, -1, 27}, + {&symbols[19], nullptr, &symbols[21], 0, 0, -1, 28}, + {&symbols[1], nullptr, &symbols[0], 1, 0, -1, 29}, + {&symbols[19], &states[10], nullptr, 0, 0, 0, 30}, + {&symbols[1], nullptr, &symbols[20], 1, 0, 0, 31}, + {&symbols[22], &states[24], nullptr, 0, 0, 0, 32}, + {&symbols[23], &states[7], nullptr, 0, 0, 0, 33}, + {&symbols[1], nullptr, &symbols[22], 0, 0, -1, 34}, + {&symbols[19], nullptr, &symbols[22], 0, 0, -1, 35}, + {&symbols[24], nullptr, &symbols[22], 0, 0, -1, 36}, + {&symbols[22], &states[28], nullptr, 0, 0, 0, 37}, + {&symbols[23], &states[7], nullptr, 0, 0, 0, 38}, + {&symbols[1], nullptr, &symbols[22], 0, 0, -1, 39}, + {&symbols[19], nullptr, &symbols[22], 0, 0, -1, 40}, + {&symbols[24], nullptr, &symbols[22], 0, 0, -1, 41}, + {&symbols[38], nullptr, &symbols[22], 0, 0, -1, 42}, + {&symbols[22], &states[29], nullptr, 0, 0, 0, 43}, + {&symbols[23], &states[7], nullptr, 0, 0, 0, 44}, + {&symbols[1], nullptr, &symbols[22], 0, 0, -1, 45}, + {&symbols[19], nullptr, &symbols[22], 0, 0, -1, 46}, + {&symbols[24], nullptr, &symbols[22], 0, 0, -1, 47}, + {&symbols[22], &states[36], nullptr, 0, 0, 0, 48}, + {&symbols[23], &states[7], nullptr, 0, 0, 0, 49}, + {&symbols[1], nullptr, &symbols[22], 0, 0, -1, 50}, + {&symbols[19], nullptr, &symbols[22], 0, 0, -1, 51}, + {&symbols[24], nullptr, &symbols[22], 0, 0, -1, 52}, + {&symbols[4], &states[67], nullptr, 0, 0, 0, 53}, + {&symbols[18], &states[57], nullptr, 0, 0, 0, 54}, + {&symbols[21], &states[8], nullptr, 0, 0, 0, 55}, + {&symbols[25], &states[13], nullptr, 0, 0, 0, 56}, + {&symbols[26], &states[14], nullptr, 0, 0, 0, 57}, + {&symbols[27], &states[15], nullptr, 0, 0, 0, 58}, + {&symbols[28], &states[16], nullptr, 0, 0, 0, 59}, + {&symbols[29], &states[17], nullptr, 0, 0, 0, 60}, + {&symbols[30], &states[18], nullptr, 0, 0, 0, 61}, + {&symbols[31], &states[19], nullptr, 0, 0, 0, 62}, + {&symbols[32], &states[20], nullptr, 0, 0, 0, 63}, + {&symbols[33], &states[21], nullptr, 0, 0, 0, 64}, + {&symbols[34], &states[22], nullptr, 0, 0, 0, 65}, + {&symbols[35], &states[23], nullptr, 0, 0, 0, 66}, + {&symbols[36], &states[25], nullptr, 0, 0, 0, 67}, + {&symbols[37], &states[45], nullptr, 0, 0, 0, 68}, + {&symbols[39], &states[30], nullptr, 0, 0, 0, 69}, + {&symbols[40], &states[31], nullptr, 0, 0, 0, 70}, + {&symbols[41], &states[33], nullptr, 0, 0, 0, 71}, + {&symbols[42], &states[37], nullptr, 0, 0, 0, 72}, + {&symbols[44], &states[43], nullptr, 0, 0, 0, 73}, + {&symbols[47], &states[68], nullptr, 0, 0, 0, 74}, + {&symbols[48], &states[86], nullptr, 0, 0, 0, 75}, + {&symbols[49], &states[87], nullptr, 0, 0, 0, 76}, + {&symbols[50], &states[88], nullptr, 0, 0, 0, 77}, + {&symbols[51], &states[89], nullptr, 0, 0, 0, 78}, + {&symbols[19], nullptr, &symbols[21], 0, 0, -1, 79}, + {&symbols[24], nullptr, &symbols[21], 0, 0, -1, 80}, + {&symbols[19], &states[10], nullptr, 0, 0, 0, 81}, + {&symbols[24], &states[9], nullptr, 0, 0, 0, 82}, + {&symbols[1], nullptr, &symbols[22], 3, 0, 1, 83}, + {&symbols[19], nullptr, &symbols[22], 3, 0, 1, 84}, + {&symbols[24], nullptr, &symbols[22], 3, 0, 1, 85}, + {&symbols[38], nullptr, &symbols[22], 3, 0, 1, 86}, + {&symbols[4], &states[67], nullptr, 0, 0, 0, 87}, + {&symbols[18], &states[57], nullptr, 0, 0, 0, 88}, + {&symbols[25], &states[11], nullptr, 0, 0, 0, 89}, + {&symbols[26], &states[14], nullptr, 0, 0, 0, 90}, + {&symbols[27], &states[15], nullptr, 0, 0, 0, 91}, + {&symbols[28], &states[16], nullptr, 0, 0, 0, 92}, + {&symbols[29], &states[17], nullptr, 0, 0, 0, 93}, + {&symbols[30], &states[18], nullptr, 0, 0, 0, 94}, + {&symbols[31], &states[19], nullptr, 0, 0, 0, 95}, + {&symbols[32], &states[20], nullptr, 0, 0, 0, 96}, + {&symbols[33], &states[21], nullptr, 0, 0, 0, 97}, + {&symbols[34], &states[22], nullptr, 0, 0, 0, 98}, + {&symbols[35], &states[23], nullptr, 0, 0, 0, 99}, + {&symbols[36], &states[25], nullptr, 0, 0, 0, 100}, + {&symbols[37], &states[45], nullptr, 0, 0, 0, 101}, + {&symbols[39], &states[30], nullptr, 0, 0, 0, 102}, + {&symbols[40], &states[31], nullptr, 0, 0, 0, 103}, + {&symbols[41], &states[33], nullptr, 0, 0, 0, 104}, + {&symbols[42], &states[37], nullptr, 0, 0, 0, 105}, + {&symbols[44], &states[43], nullptr, 0, 0, 0, 106}, + {&symbols[47], &states[68], nullptr, 0, 0, 0, 107}, + {&symbols[48], &states[86], nullptr, 0, 0, 0, 108}, + {&symbols[49], &states[87], nullptr, 0, 0, 0, 109}, + {&symbols[50], &states[88], nullptr, 0, 0, 0, 110}, + {&symbols[51], &states[89], nullptr, 0, 0, 0, 111}, + {&symbols[19], &states[12], nullptr, 0, 0, 0, 112}, + {&symbols[1], nullptr, &symbols[21], 4, 8, 2, 113}, + {&symbols[19], nullptr, &symbols[21], 4, 8, 2, 114}, + {&symbols[24], nullptr, &symbols[21], 4, 8, 2, 115}, + {&symbols[1], nullptr, &symbols[21], 1, 0, 3, 116}, + {&symbols[19], nullptr, &symbols[21], 1, 0, 3, 117}, + {&symbols[24], nullptr, &symbols[21], 1, 0, 3, 118}, + {&symbols[1], nullptr, &symbols[25], 1, 0, 0, 119}, + {&symbols[19], nullptr, &symbols[25], 1, 0, 0, 120}, + {&symbols[24], nullptr, &symbols[25], 1, 0, 0, 121}, + {&symbols[1], nullptr, &symbols[25], 1, 0, 0, 122}, + {&symbols[19], nullptr, &symbols[25], 1, 0, 0, 123}, + {&symbols[24], nullptr, &symbols[25], 1, 0, 0, 124}, + {&symbols[1], nullptr, &symbols[25], 1, 0, 0, 125}, + {&symbols[19], nullptr, &symbols[25], 1, 0, 0, 126}, + {&symbols[24], nullptr, &symbols[25], 1, 0, 0, 127}, + {&symbols[1], nullptr, &symbols[25], 1, 0, 0, 128}, + {&symbols[19], nullptr, &symbols[25], 1, 0, 0, 129}, + {&symbols[24], nullptr, &symbols[25], 1, 0, 0, 130}, + {&symbols[1], nullptr, &symbols[25], 1, 0, 0, 131}, + {&symbols[19], nullptr, &symbols[25], 1, 0, 0, 132}, + {&symbols[24], nullptr, &symbols[25], 1, 0, 0, 133}, + {&symbols[1], nullptr, &symbols[25], 1, 0, 0, 134}, + {&symbols[19], nullptr, &symbols[25], 1, 0, 0, 135}, + {&symbols[24], nullptr, &symbols[25], 1, 0, 0, 136}, + {&symbols[1], nullptr, &symbols[25], 1, 0, 0, 137}, + {&symbols[19], nullptr, &symbols[25], 1, 0, 0, 138}, + {&symbols[24], nullptr, &symbols[25], 1, 0, 0, 139}, + {&symbols[1], nullptr, &symbols[25], 1, 0, 0, 140}, + {&symbols[19], nullptr, &symbols[25], 1, 0, 0, 141}, + {&symbols[24], nullptr, &symbols[25], 1, 0, 0, 142}, + {&symbols[1], nullptr, &symbols[25], 1, 0, 0, 143}, + {&symbols[19], nullptr, &symbols[25], 1, 0, 0, 144}, + {&symbols[24], nullptr, &symbols[25], 1, 0, 0, 145}, + {&symbols[47], &states[3], nullptr, 0, 0, 0, 146}, + {&symbols[1], nullptr, &symbols[34], 3, 0, 4, 147}, + {&symbols[19], nullptr, &symbols[34], 3, 0, 4, 148}, + {&symbols[24], nullptr, &symbols[34], 3, 0, 4, 149}, + {&symbols[4], &states[26], nullptr, 0, 0, 0, 150}, + {&symbols[4], &states[67], nullptr, 0, 0, 0, 151}, + {&symbols[18], &states[57], nullptr, 0, 0, 0, 152}, + {&symbols[37], &states[27], nullptr, 0, 0, 0, 153}, + {&symbols[47], &states[68], nullptr, 0, 0, 0, 154}, + {&symbols[48], &states[86], nullptr, 0, 0, 0, 155}, + {&symbols[49], &states[87], nullptr, 0, 0, 0, 156}, + {&symbols[50], &states[88], nullptr, 0, 0, 0, 157}, + {&symbols[51], &states[89], nullptr, 0, 0, 0, 158}, + {&symbols[5], &states[4], nullptr, 0, 0, 0, 159}, + {&symbols[6], &states[63], nullptr, 0, 0, 0, 160}, + {&symbols[7], &states[64], nullptr, 0, 0, 0, 161}, + {&symbols[8], &states[65], nullptr, 0, 0, 0, 162}, + {&symbols[9], &states[66], nullptr, 0, 0, 0, 163}, + {&symbols[10], &states[82], nullptr, 0, 0, 0, 164}, + {&symbols[12], &states[56], nullptr, 0, 0, 0, 165}, + {&symbols[13], &states[59], nullptr, 0, 0, 0, 166}, + {&symbols[14], &states[60], nullptr, 0, 0, 0, 167}, + {&symbols[15], &states[61], nullptr, 0, 0, 0, 168}, + {&symbols[16], &states[62], nullptr, 0, 0, 0, 169}, + {&symbols[17], &states[58], nullptr, 0, 0, 0, 170}, + {&symbols[38], &states[5], nullptr, 0, 0, 0, 171}, + {&symbols[1], nullptr, &symbols[33], 5, 3, 5, 172}, + {&symbols[19], nullptr, &symbols[33], 5, 3, 5, 173}, + {&symbols[24], nullptr, &symbols[33], 5, 3, 5, 174}, + {&symbols[1], nullptr, &symbols[33], 7, 0, 5, 175}, + {&symbols[19], nullptr, &symbols[33], 7, 0, 5, 176}, + {&symbols[24], nullptr, &symbols[33], 7, 0, 5, 177}, + {&symbols[1], nullptr, &symbols[32], 1, 0, 6, 178}, + {&symbols[19], nullptr, &symbols[32], 1, 0, 6, 179}, + {&symbols[24], nullptr, &symbols[32], 1, 0, 6, 180}, + {&symbols[4], &states[67], nullptr, 0, 0, 0, 181}, + {&symbols[18], &states[57], nullptr, 0, 0, 0, 182}, + {&symbols[37], &states[32], nullptr, 0, 0, 0, 183}, + {&symbols[47], &states[68], nullptr, 0, 0, 0, 184}, + {&symbols[48], &states[86], nullptr, 0, 0, 0, 185}, + {&symbols[49], &states[87], nullptr, 0, 0, 0, 186}, + {&symbols[50], &states[88], nullptr, 0, 0, 0, 187}, + {&symbols[51], &states[89], nullptr, 0, 0, 0, 188}, + {&symbols[1], nullptr, &symbols[31], 1, 0, 7, 189}, + {&symbols[19], nullptr, &symbols[31], 1, 0, 7, 190}, + {&symbols[24], nullptr, &symbols[31], 1, 0, 7, 191}, + {&symbols[6], &states[63], nullptr, 0, 0, 0, 192}, + {&symbols[7], &states[64], nullptr, 0, 0, 0, 193}, + {&symbols[8], &states[65], nullptr, 0, 0, 0, 194}, + {&symbols[9], &states[66], nullptr, 0, 0, 0, 195}, + {&symbols[10], &states[82], nullptr, 0, 0, 0, 196}, + {&symbols[12], &states[56], nullptr, 0, 0, 0, 197}, + {&symbols[13], &states[59], nullptr, 0, 0, 0, 198}, + {&symbols[14], &states[60], nullptr, 0, 0, 0, 199}, + {&symbols[15], &states[61], nullptr, 0, 0, 0, 200}, + {&symbols[16], &states[62], nullptr, 0, 0, 0, 201}, + {&symbols[17], &states[58], nullptr, 0, 0, 0, 202}, + {&symbols[1], nullptr, &symbols[31], 2, 0, 7, 203}, + {&symbols[19], nullptr, &symbols[31], 2, 0, 7, 204}, + {&symbols[24], nullptr, &symbols[31], 2, 0, 7, 205}, + {&symbols[4], &states[34], nullptr, 0, 0, 0, 206}, + {&symbols[4], &states[67], nullptr, 0, 0, 0, 207}, + {&symbols[18], &states[57], nullptr, 0, 0, 0, 208}, + {&symbols[37], &states[35], nullptr, 0, 0, 0, 209}, + {&symbols[47], &states[68], nullptr, 0, 0, 0, 210}, + {&symbols[48], &states[86], nullptr, 0, 0, 0, 211}, + {&symbols[49], &states[87], nullptr, 0, 0, 0, 212}, + {&symbols[50], &states[88], nullptr, 0, 0, 0, 213}, + {&symbols[51], &states[89], nullptr, 0, 0, 0, 214}, + {&symbols[5], &states[6], nullptr, 0, 0, 0, 215}, + {&symbols[6], &states[63], nullptr, 0, 0, 0, 216}, + {&symbols[7], &states[64], nullptr, 0, 0, 0, 217}, + {&symbols[8], &states[65], nullptr, 0, 0, 0, 218}, + {&symbols[9], &states[66], nullptr, 0, 0, 0, 219}, + {&symbols[10], &states[82], nullptr, 0, 0, 0, 220}, + {&symbols[12], &states[56], nullptr, 0, 0, 0, 221}, + {&symbols[13], &states[59], nullptr, 0, 0, 0, 222}, + {&symbols[14], &states[60], nullptr, 0, 0, 0, 223}, + {&symbols[15], &states[61], nullptr, 0, 0, 0, 224}, + {&symbols[16], &states[62], nullptr, 0, 0, 0, 225}, + {&symbols[17], &states[58], nullptr, 0, 0, 0, 226}, + {&symbols[1], nullptr, &symbols[30], 5, 3, 8, 227}, + {&symbols[19], nullptr, &symbols[30], 5, 3, 8, 228}, + {&symbols[24], nullptr, &symbols[30], 5, 3, 8, 229}, + {&symbols[47], &states[38], nullptr, 0, 0, 0, 230}, + {&symbols[11], &states[41], nullptr, 0, 0, 0, 231}, + {&symbols[43], &states[39], nullptr, 0, 0, 0, 232}, + {&symbols[47], &states[40], nullptr, 0, 0, 0, 233}, + {&symbols[1], nullptr, &symbols[26], 4, 0, 9, 234}, + {&symbols[19], nullptr, &symbols[26], 4, 0, 9, 235}, + {&symbols[24], nullptr, &symbols[26], 4, 0, 9, 236}, + {&symbols[4], &states[67], nullptr, 0, 0, 0, 237}, + {&symbols[18], &states[57], nullptr, 0, 0, 0, 238}, + {&symbols[37], &states[42], nullptr, 0, 0, 0, 239}, + {&symbols[47], &states[68], nullptr, 0, 0, 0, 240}, + {&symbols[48], &states[86], nullptr, 0, 0, 0, 241}, + {&symbols[49], &states[87], nullptr, 0, 0, 0, 242}, + {&symbols[50], &states[88], nullptr, 0, 0, 0, 243}, + {&symbols[51], &states[89], nullptr, 0, 0, 0, 244}, + {&symbols[6], &states[63], nullptr, 0, 0, 0, 245}, + {&symbols[7], &states[64], nullptr, 0, 0, 0, 246}, + {&symbols[8], &states[65], nullptr, 0, 0, 0, 247}, + {&symbols[9], &states[66], nullptr, 0, 0, 0, 248}, + {&symbols[10], &states[82], nullptr, 0, 0, 0, 249}, + {&symbols[12], &states[56], nullptr, 0, 0, 0, 250}, + {&symbols[13], &states[59], nullptr, 0, 0, 0, 251}, + {&symbols[14], &states[60], nullptr, 0, 0, 0, 252}, + {&symbols[15], &states[61], nullptr, 0, 0, 0, 253}, + {&symbols[16], &states[62], nullptr, 0, 0, 0, 254}, + {&symbols[17], &states[58], nullptr, 0, 0, 0, 255}, + {&symbols[1], nullptr, &symbols[27], 4, 6, 10, 256}, + {&symbols[19], nullptr, &symbols[27], 4, 6, 10, 257}, + {&symbols[24], nullptr, &symbols[27], 4, 6, 10, 258}, + {&symbols[4], &states[67], nullptr, 0, 0, 0, 259}, + {&symbols[18], &states[57], nullptr, 0, 0, 0, 260}, + {&symbols[37], &states[44], nullptr, 0, 0, 0, 261}, + {&symbols[47], &states[68], nullptr, 0, 0, 0, 262}, + {&symbols[48], &states[86], nullptr, 0, 0, 0, 263}, + {&symbols[49], &states[87], nullptr, 0, 0, 0, 264}, + {&symbols[50], &states[88], nullptr, 0, 0, 0, 265}, + {&symbols[51], &states[89], nullptr, 0, 0, 0, 266}, + {&symbols[6], &states[63], nullptr, 0, 0, 0, 267}, + {&symbols[7], &states[64], nullptr, 0, 0, 0, 268}, + {&symbols[8], &states[65], nullptr, 0, 0, 0, 269}, + {&symbols[9], &states[66], nullptr, 0, 0, 0, 270}, + {&symbols[10], &states[82], nullptr, 0, 0, 0, 271}, + {&symbols[12], &states[56], nullptr, 0, 0, 0, 272}, + {&symbols[13], &states[59], nullptr, 0, 0, 0, 273}, + {&symbols[14], &states[60], nullptr, 0, 0, 0, 274}, + {&symbols[15], &states[61], nullptr, 0, 0, 0, 275}, + {&symbols[16], &states[62], nullptr, 0, 0, 0, 276}, + {&symbols[17], &states[58], nullptr, 0, 0, 0, 277}, + {&symbols[1], nullptr, &symbols[28], 2, 0, 11, 278}, + {&symbols[19], nullptr, &symbols[28], 2, 0, 11, 279}, + {&symbols[24], nullptr, &symbols[28], 2, 0, 11, 280}, + {&symbols[6], &states[63], nullptr, 0, 0, 0, 281}, + {&symbols[7], &states[64], nullptr, 0, 0, 0, 282}, + {&symbols[8], &states[65], nullptr, 0, 0, 0, 283}, + {&symbols[9], &states[66], nullptr, 0, 0, 0, 284}, + {&symbols[10], &states[82], nullptr, 0, 0, 0, 285}, + {&symbols[11], &states[46], nullptr, 0, 0, 0, 286}, + {&symbols[12], &states[56], nullptr, 0, 0, 0, 287}, + {&symbols[13], &states[59], nullptr, 0, 0, 0, 288}, + {&symbols[14], &states[60], nullptr, 0, 0, 0, 289}, + {&symbols[15], &states[61], nullptr, 0, 0, 0, 290}, + {&symbols[16], &states[62], nullptr, 0, 0, 0, 291}, + {&symbols[17], &states[58], nullptr, 0, 0, 0, 292}, + {&symbols[4], &states[67], nullptr, 0, 0, 0, 293}, + {&symbols[18], &states[57], nullptr, 0, 0, 0, 294}, + {&symbols[37], &states[47], nullptr, 0, 0, 0, 295}, + {&symbols[47], &states[68], nullptr, 0, 0, 0, 296}, + {&symbols[48], &states[86], nullptr, 0, 0, 0, 297}, + {&symbols[49], &states[87], nullptr, 0, 0, 0, 298}, + {&symbols[50], &states[88], nullptr, 0, 0, 0, 299}, + {&symbols[51], &states[89], nullptr, 0, 0, 0, 300}, + {&symbols[6], &states[63], nullptr, 0, 0, 0, 301}, + {&symbols[7], &states[64], nullptr, 0, 0, 0, 302}, + {&symbols[8], &states[65], nullptr, 0, 0, 0, 303}, + {&symbols[9], &states[66], nullptr, 0, 0, 0, 304}, + {&symbols[10], &states[82], nullptr, 0, 0, 0, 305}, + {&symbols[12], &states[56], nullptr, 0, 0, 0, 306}, + {&symbols[13], &states[59], nullptr, 0, 0, 0, 307}, + {&symbols[14], &states[60], nullptr, 0, 0, 0, 308}, + {&symbols[15], &states[61], nullptr, 0, 0, 0, 309}, + {&symbols[16], &states[62], nullptr, 0, 0, 0, 310}, + {&symbols[17], &states[58], nullptr, 0, 0, 0, 311}, + {&symbols[1], nullptr, &symbols[29], 3, 6, 12, 312}, + {&symbols[19], nullptr, &symbols[29], 3, 6, 12, 313}, + {&symbols[24], nullptr, &symbols[29], 3, 6, 12, 314}, + {&symbols[4], &states[67], nullptr, 0, 0, 0, 315}, + {&symbols[18], &states[57], nullptr, 0, 0, 0, 316}, + {&symbols[37], &states[55], nullptr, 0, 0, 0, 317}, + {&symbols[45], &states[50], nullptr, 0, 0, 0, 318}, + {&symbols[47], &states[68], nullptr, 0, 0, 0, 319}, + {&symbols[48], &states[86], nullptr, 0, 0, 0, 320}, + {&symbols[49], &states[87], nullptr, 0, 0, 0, 321}, + {&symbols[50], &states[88], nullptr, 0, 0, 0, 322}, + {&symbols[51], &states[89], nullptr, 0, 0, 0, 323}, + {&symbols[5], nullptr, &symbols[45], 0, 0, -1, 324}, + {&symbols[46], nullptr, &symbols[45], 0, 0, -1, 325}, + {&symbols[4], &states[67], nullptr, 0, 0, 0, 326}, + {&symbols[18], &states[57], nullptr, 0, 0, 0, 327}, + {&symbols[37], &states[55], nullptr, 0, 0, 0, 328}, + {&symbols[45], &states[51], nullptr, 0, 0, 0, 329}, + {&symbols[47], &states[68], nullptr, 0, 0, 0, 330}, + {&symbols[48], &states[86], nullptr, 0, 0, 0, 331}, + {&symbols[49], &states[87], nullptr, 0, 0, 0, 332}, + {&symbols[50], &states[88], nullptr, 0, 0, 0, 333}, + {&symbols[51], &states[89], nullptr, 0, 0, 0, 334}, + {&symbols[5], nullptr, &symbols[45], 0, 0, -1, 335}, + {&symbols[46], nullptr, &symbols[45], 0, 0, -1, 336}, + {&symbols[5], &states[69], nullptr, 0, 0, 0, 337}, + {&symbols[46], &states[52], nullptr, 0, 0, 0, 338}, + {&symbols[5], &states[84], nullptr, 0, 0, 0, 339}, + {&symbols[46], &states[52], nullptr, 0, 0, 0, 340}, + {&symbols[4], &states[67], nullptr, 0, 0, 0, 341}, + {&symbols[18], &states[57], nullptr, 0, 0, 0, 342}, + {&symbols[37], &states[53], nullptr, 0, 0, 0, 343}, + {&symbols[47], &states[68], nullptr, 0, 0, 0, 344}, + {&symbols[48], &states[86], nullptr, 0, 0, 0, 345}, + {&symbols[49], &states[87], nullptr, 0, 0, 0, 346}, + {&symbols[50], &states[88], nullptr, 0, 0, 0, 347}, + {&symbols[51], &states[89], nullptr, 0, 0, 0, 348}, + {&symbols[6], &states[63], nullptr, 0, 0, 0, 349}, + {&symbols[7], &states[64], nullptr, 0, 0, 0, 350}, + {&symbols[8], &states[65], nullptr, 0, 0, 0, 351}, + {&symbols[9], &states[66], nullptr, 0, 0, 0, 352}, + {&symbols[10], &states[82], nullptr, 0, 0, 0, 353}, + {&symbols[12], &states[56], nullptr, 0, 0, 0, 354}, + {&symbols[13], &states[59], nullptr, 0, 0, 0, 355}, + {&symbols[14], &states[60], nullptr, 0, 0, 0, 356}, + {&symbols[15], &states[61], nullptr, 0, 0, 0, 357}, + {&symbols[16], &states[62], nullptr, 0, 0, 0, 358}, + {&symbols[17], &states[58], nullptr, 0, 0, 0, 359}, + {&symbols[46], &states[54], nullptr, 0, 0, 0, 360}, + {&symbols[5], nullptr, &symbols[45], 4, 0, 13, 361}, + {&symbols[46], nullptr, &symbols[45], 4, 0, 13, 362}, + {&symbols[6], &states[63], nullptr, 0, 0, 0, 363}, + {&symbols[7], &states[64], nullptr, 0, 0, 0, 364}, + {&symbols[8], &states[65], nullptr, 0, 0, 0, 365}, + {&symbols[9], &states[66], nullptr, 0, 0, 0, 366}, + {&symbols[10], &states[82], nullptr, 0, 0, 0, 367}, + {&symbols[12], &states[56], nullptr, 0, 0, 0, 368}, + {&symbols[13], &states[59], nullptr, 0, 0, 0, 369}, + {&symbols[14], &states[60], nullptr, 0, 0, 0, 370}, + {&symbols[15], &states[61], nullptr, 0, 0, 0, 371}, + {&symbols[16], &states[62], nullptr, 0, 0, 0, 372}, + {&symbols[17], &states[58], nullptr, 0, 0, 0, 373}, + {&symbols[5], nullptr, &symbols[45], 1, 0, 14, 374}, + {&symbols[46], nullptr, &symbols[45], 1, 0, 14, 375}, + {&symbols[4], &states[67], nullptr, 0, 0, 0, 376}, + {&symbols[18], &states[57], nullptr, 0, 0, 0, 377}, + {&symbols[37], &states[70], nullptr, 0, 0, 0, 378}, + {&symbols[47], &states[68], nullptr, 0, 0, 0, 379}, + {&symbols[48], &states[86], nullptr, 0, 0, 0, 380}, + {&symbols[49], &states[87], nullptr, 0, 0, 0, 381}, + {&symbols[50], &states[88], nullptr, 0, 0, 0, 382}, + {&symbols[51], &states[89], nullptr, 0, 0, 0, 383}, + {&symbols[4], &states[67], nullptr, 0, 0, 0, 384}, + {&symbols[18], &states[57], nullptr, 0, 0, 0, 385}, + {&symbols[37], &states[71], nullptr, 0, 0, 0, 386}, + {&symbols[47], &states[68], nullptr, 0, 0, 0, 387}, + {&symbols[48], &states[86], nullptr, 0, 0, 0, 388}, + {&symbols[49], &states[87], nullptr, 0, 0, 0, 389}, + {&symbols[50], &states[88], nullptr, 0, 0, 0, 390}, + {&symbols[51], &states[89], nullptr, 0, 0, 0, 391}, + {&symbols[4], &states[67], nullptr, 0, 0, 0, 392}, + {&symbols[18], &states[57], nullptr, 0, 0, 0, 393}, + {&symbols[37], &states[72], nullptr, 0, 0, 0, 394}, + {&symbols[47], &states[68], nullptr, 0, 0, 0, 395}, + {&symbols[48], &states[86], nullptr, 0, 0, 0, 396}, + {&symbols[49], &states[87], nullptr, 0, 0, 0, 397}, + {&symbols[50], &states[88], nullptr, 0, 0, 0, 398}, + {&symbols[51], &states[89], nullptr, 0, 0, 0, 399}, + {&symbols[4], &states[67], nullptr, 0, 0, 0, 400}, + {&symbols[18], &states[57], nullptr, 0, 0, 0, 401}, + {&symbols[37], &states[73], nullptr, 0, 0, 0, 402}, + {&symbols[47], &states[68], nullptr, 0, 0, 0, 403}, + {&symbols[48], &states[86], nullptr, 0, 0, 0, 404}, + {&symbols[49], &states[87], nullptr, 0, 0, 0, 405}, + {&symbols[50], &states[88], nullptr, 0, 0, 0, 406}, + {&symbols[51], &states[89], nullptr, 0, 0, 0, 407}, + {&symbols[4], &states[67], nullptr, 0, 0, 0, 408}, + {&symbols[18], &states[57], nullptr, 0, 0, 0, 409}, + {&symbols[37], &states[74], nullptr, 0, 0, 0, 410}, + {&symbols[47], &states[68], nullptr, 0, 0, 0, 411}, + {&symbols[48], &states[86], nullptr, 0, 0, 0, 412}, + {&symbols[49], &states[87], nullptr, 0, 0, 0, 413}, + {&symbols[50], &states[88], nullptr, 0, 0, 0, 414}, + {&symbols[51], &states[89], nullptr, 0, 0, 0, 415}, + {&symbols[4], &states[67], nullptr, 0, 0, 0, 416}, + {&symbols[18], &states[57], nullptr, 0, 0, 0, 417}, + {&symbols[37], &states[75], nullptr, 0, 0, 0, 418}, + {&symbols[47], &states[68], nullptr, 0, 0, 0, 419}, + {&symbols[48], &states[86], nullptr, 0, 0, 0, 420}, + {&symbols[49], &states[87], nullptr, 0, 0, 0, 421}, + {&symbols[50], &states[88], nullptr, 0, 0, 0, 422}, + {&symbols[51], &states[89], nullptr, 0, 0, 0, 423}, + {&symbols[4], &states[67], nullptr, 0, 0, 0, 424}, + {&symbols[18], &states[57], nullptr, 0, 0, 0, 425}, + {&symbols[37], &states[76], nullptr, 0, 0, 0, 426}, + {&symbols[47], &states[68], nullptr, 0, 0, 0, 427}, + {&symbols[48], &states[86], nullptr, 0, 0, 0, 428}, + {&symbols[49], &states[87], nullptr, 0, 0, 0, 429}, + {&symbols[50], &states[88], nullptr, 0, 0, 0, 430}, + {&symbols[51], &states[89], nullptr, 0, 0, 0, 431}, + {&symbols[4], &states[67], nullptr, 0, 0, 0, 432}, + {&symbols[18], &states[57], nullptr, 0, 0, 0, 433}, + {&symbols[37], &states[77], nullptr, 0, 0, 0, 434}, + {&symbols[47], &states[68], nullptr, 0, 0, 0, 435}, + {&symbols[48], &states[86], nullptr, 0, 0, 0, 436}, + {&symbols[49], &states[87], nullptr, 0, 0, 0, 437}, + {&symbols[50], &states[88], nullptr, 0, 0, 0, 438}, + {&symbols[51], &states[89], nullptr, 0, 0, 0, 439}, + {&symbols[4], &states[67], nullptr, 0, 0, 0, 440}, + {&symbols[18], &states[57], nullptr, 0, 0, 0, 441}, + {&symbols[37], &states[78], nullptr, 0, 0, 0, 442}, + {&symbols[47], &states[68], nullptr, 0, 0, 0, 443}, + {&symbols[48], &states[86], nullptr, 0, 0, 0, 444}, + {&symbols[49], &states[87], nullptr, 0, 0, 0, 445}, + {&symbols[50], &states[88], nullptr, 0, 0, 0, 446}, + {&symbols[51], &states[89], nullptr, 0, 0, 0, 447}, + {&symbols[4], &states[67], nullptr, 0, 0, 0, 448}, + {&symbols[18], &states[57], nullptr, 0, 0, 0, 449}, + {&symbols[37], &states[79], nullptr, 0, 0, 0, 450}, + {&symbols[47], &states[68], nullptr, 0, 0, 0, 451}, + {&symbols[48], &states[86], nullptr, 0, 0, 0, 452}, + {&symbols[49], &states[87], nullptr, 0, 0, 0, 453}, + {&symbols[50], &states[88], nullptr, 0, 0, 0, 454}, + {&symbols[51], &states[89], nullptr, 0, 0, 0, 455}, + {&symbols[4], &states[67], nullptr, 0, 0, 0, 456}, + {&symbols[18], &states[57], nullptr, 0, 0, 0, 457}, + {&symbols[37], &states[80], nullptr, 0, 0, 0, 458}, + {&symbols[47], &states[68], nullptr, 0, 0, 0, 459}, + {&symbols[48], &states[86], nullptr, 0, 0, 0, 460}, + {&symbols[49], &states[87], nullptr, 0, 0, 0, 461}, + {&symbols[50], &states[88], nullptr, 0, 0, 0, 462}, + {&symbols[51], &states[89], nullptr, 0, 0, 0, 463}, + {&symbols[4], &states[67], nullptr, 0, 0, 0, 464}, + {&symbols[18], &states[57], nullptr, 0, 0, 0, 465}, + {&symbols[37], &states[81], nullptr, 0, 0, 0, 466}, + {&symbols[47], &states[68], nullptr, 0, 0, 0, 467}, + {&symbols[48], &states[86], nullptr, 0, 0, 0, 468}, + {&symbols[49], &states[87], nullptr, 0, 0, 0, 469}, + {&symbols[50], &states[88], nullptr, 0, 0, 0, 470}, + {&symbols[51], &states[89], nullptr, 0, 0, 0, 471}, + {&symbols[4], &states[48], nullptr, 0, 0, 0, 472}, + {&symbols[1], nullptr, &symbols[37], 1, 0, 34, 473}, + {&symbols[5], nullptr, &symbols[37], 1, 0, 34, 474}, + {&symbols[6], nullptr, &symbols[37], 1, 0, 34, 475}, + {&symbols[7], nullptr, &symbols[37], 1, 0, 34, 476}, + {&symbols[8], nullptr, &symbols[37], 1, 0, 34, 477}, + {&symbols[9], nullptr, &symbols[37], 1, 0, 34, 478}, + {&symbols[10], nullptr, &symbols[37], 1, 0, 34, 479}, + {&symbols[11], nullptr, &symbols[37], 1, 0, 34, 480}, + {&symbols[12], nullptr, &symbols[37], 1, 0, 34, 481}, + {&symbols[13], nullptr, &symbols[37], 1, 0, 34, 482}, + {&symbols[14], nullptr, &symbols[37], 1, 0, 34, 483}, + {&symbols[15], nullptr, &symbols[37], 1, 0, 34, 484}, + {&symbols[16], nullptr, &symbols[37], 1, 0, 34, 485}, + {&symbols[17], nullptr, &symbols[37], 1, 0, 34, 486}, + {&symbols[19], nullptr, &symbols[37], 1, 0, 34, 487}, + {&symbols[24], nullptr, &symbols[37], 1, 0, 34, 488}, + {&symbols[46], nullptr, &symbols[37], 1, 0, 34, 489}, + {&symbols[1], nullptr, &symbols[37], 4, 3, 15, 490}, + {&symbols[5], nullptr, &symbols[37], 4, 3, 15, 491}, + {&symbols[6], nullptr, &symbols[37], 4, 3, 15, 492}, + {&symbols[7], nullptr, &symbols[37], 4, 3, 15, 493}, + {&symbols[8], nullptr, &symbols[37], 4, 3, 15, 494}, + {&symbols[9], nullptr, &symbols[37], 4, 3, 15, 495}, + {&symbols[10], nullptr, &symbols[37], 4, 3, 15, 496}, + {&symbols[11], nullptr, &symbols[37], 4, 3, 15, 497}, + {&symbols[12], nullptr, &symbols[37], 4, 3, 15, 498}, + {&symbols[13], nullptr, &symbols[37], 4, 3, 15, 499}, + {&symbols[14], nullptr, &symbols[37], 4, 3, 15, 500}, + {&symbols[15], nullptr, &symbols[37], 4, 3, 15, 501}, + {&symbols[16], nullptr, &symbols[37], 4, 3, 15, 502}, + {&symbols[17], nullptr, &symbols[37], 4, 3, 15, 503}, + {&symbols[19], nullptr, &symbols[37], 4, 3, 15, 504}, + {&symbols[24], nullptr, &symbols[37], 4, 3, 15, 505}, + {&symbols[46], nullptr, &symbols[37], 4, 3, 15, 506}, + {&symbols[6], nullptr, &symbols[37], 3, 7, 18, 507}, + {&symbols[7], nullptr, &symbols[37], 3, 7, 18, 508}, + {&symbols[8], nullptr, &symbols[37], 3, 7, 18, 509}, + {&symbols[9], nullptr, &symbols[37], 3, 7, 18, 510}, + {&symbols[10], nullptr, &symbols[37], 3, 7, 18, 511}, + {&symbols[12], &states[56], nullptr, 0, 0, 0, 512}, + {&symbols[13], &states[59], nullptr, 0, 0, 0, 513}, + {&symbols[14], &states[60], nullptr, 0, 0, 0, 514}, + {&symbols[15], &states[61], nullptr, 0, 0, 0, 515}, + {&symbols[16], &states[62], nullptr, 0, 0, 0, 516}, + {&symbols[17], &states[58], nullptr, 0, 0, 0, 517}, + {&symbols[1], nullptr, &symbols[37], 3, 7, 18, 518}, + {&symbols[5], nullptr, &symbols[37], 3, 7, 18, 519}, + {&symbols[11], nullptr, &symbols[37], 3, 7, 18, 520}, + {&symbols[19], nullptr, &symbols[37], 3, 7, 18, 521}, + {&symbols[24], nullptr, &symbols[37], 3, 7, 18, 522}, + {&symbols[46], nullptr, &symbols[37], 3, 7, 18, 523}, + {&symbols[6], nullptr, &symbols[37], 2, 7, 19, 524}, + {&symbols[7], nullptr, &symbols[37], 2, 7, 19, 525}, + {&symbols[8], nullptr, &symbols[37], 2, 7, 19, 526}, + {&symbols[9], nullptr, &symbols[37], 2, 7, 19, 527}, + {&symbols[10], nullptr, &symbols[37], 2, 7, 19, 528}, + {&symbols[12], &states[56], nullptr, 0, 0, 0, 529}, + {&symbols[13], &states[59], nullptr, 0, 0, 0, 530}, + {&symbols[14], &states[60], nullptr, 0, 0, 0, 531}, + {&symbols[15], &states[61], nullptr, 0, 0, 0, 532}, + {&symbols[16], &states[62], nullptr, 0, 0, 0, 533}, + {&symbols[17], &states[58], nullptr, 0, 0, 0, 534}, + {&symbols[1], nullptr, &symbols[37], 2, 7, 19, 535}, + {&symbols[5], nullptr, &symbols[37], 2, 7, 19, 536}, + {&symbols[11], nullptr, &symbols[37], 2, 7, 19, 537}, + {&symbols[19], nullptr, &symbols[37], 2, 7, 19, 538}, + {&symbols[24], nullptr, &symbols[37], 2, 7, 19, 539}, + {&symbols[46], nullptr, &symbols[37], 2, 7, 19, 540}, + {&symbols[6], nullptr, &symbols[37], 3, 7, 20, 541}, + {&symbols[7], nullptr, &symbols[37], 3, 7, 20, 542}, + {&symbols[8], nullptr, &symbols[37], 3, 7, 20, 543}, + {&symbols[9], nullptr, &symbols[37], 3, 7, 20, 544}, + {&symbols[10], nullptr, &symbols[37], 3, 7, 20, 545}, + {&symbols[12], &states[56], nullptr, 0, 0, 0, 546}, + {&symbols[13], &states[59], nullptr, 0, 0, 0, 547}, + {&symbols[14], &states[60], nullptr, 0, 0, 0, 548}, + {&symbols[15], &states[61], nullptr, 0, 0, 0, 549}, + {&symbols[16], &states[62], nullptr, 0, 0, 0, 550}, + {&symbols[17], &states[58], nullptr, 0, 0, 0, 551}, + {&symbols[1], nullptr, &symbols[37], 3, 7, 20, 552}, + {&symbols[5], nullptr, &symbols[37], 3, 7, 20, 553}, + {&symbols[11], nullptr, &symbols[37], 3, 7, 20, 554}, + {&symbols[19], nullptr, &symbols[37], 3, 7, 20, 555}, + {&symbols[24], nullptr, &symbols[37], 3, 7, 20, 556}, + {&symbols[46], nullptr, &symbols[37], 3, 7, 20, 557}, + {&symbols[6], nullptr, &symbols[37], 3, 7, 21, 558}, + {&symbols[7], nullptr, &symbols[37], 3, 7, 21, 559}, + {&symbols[8], nullptr, &symbols[37], 3, 7, 21, 560}, + {&symbols[9], nullptr, &symbols[37], 3, 7, 21, 561}, + {&symbols[10], nullptr, &symbols[37], 3, 7, 21, 562}, + {&symbols[12], &states[56], nullptr, 0, 0, 0, 563}, + {&symbols[13], &states[59], nullptr, 0, 0, 0, 564}, + {&symbols[14], &states[60], nullptr, 0, 0, 0, 565}, + {&symbols[15], &states[61], nullptr, 0, 0, 0, 566}, + {&symbols[16], &states[62], nullptr, 0, 0, 0, 567}, + {&symbols[17], &states[58], nullptr, 0, 0, 0, 568}, + {&symbols[1], nullptr, &symbols[37], 3, 7, 21, 569}, + {&symbols[5], nullptr, &symbols[37], 3, 7, 21, 570}, + {&symbols[11], nullptr, &symbols[37], 3, 7, 21, 571}, + {&symbols[19], nullptr, &symbols[37], 3, 7, 21, 572}, + {&symbols[24], nullptr, &symbols[37], 3, 7, 21, 573}, + {&symbols[46], nullptr, &symbols[37], 3, 7, 21, 574}, + {&symbols[6], nullptr, &symbols[37], 3, 7, 22, 575}, + {&symbols[7], nullptr, &symbols[37], 3, 7, 22, 576}, + {&symbols[8], nullptr, &symbols[37], 3, 7, 22, 577}, + {&symbols[9], nullptr, &symbols[37], 3, 7, 22, 578}, + {&symbols[10], nullptr, &symbols[37], 3, 7, 22, 579}, + {&symbols[12], &states[56], nullptr, 0, 0, 0, 580}, + {&symbols[13], &states[59], nullptr, 0, 0, 0, 581}, + {&symbols[14], &states[60], nullptr, 0, 0, 0, 582}, + {&symbols[15], &states[61], nullptr, 0, 0, 0, 583}, + {&symbols[16], &states[62], nullptr, 0, 0, 0, 584}, + {&symbols[17], &states[58], nullptr, 0, 0, 0, 585}, + {&symbols[1], nullptr, &symbols[37], 3, 7, 22, 586}, + {&symbols[5], nullptr, &symbols[37], 3, 7, 22, 587}, + {&symbols[11], nullptr, &symbols[37], 3, 7, 22, 588}, + {&symbols[19], nullptr, &symbols[37], 3, 7, 22, 589}, + {&symbols[24], nullptr, &symbols[37], 3, 7, 22, 590}, + {&symbols[46], nullptr, &symbols[37], 3, 7, 22, 591}, + {&symbols[6], nullptr, &symbols[37], 3, 7, 23, 592}, + {&symbols[7], nullptr, &symbols[37], 3, 7, 23, 593}, + {&symbols[8], nullptr, &symbols[37], 3, 7, 23, 594}, + {&symbols[9], nullptr, &symbols[37], 3, 7, 23, 595}, + {&symbols[10], nullptr, &symbols[37], 3, 7, 23, 596}, + {&symbols[12], &states[56], nullptr, 0, 0, 0, 597}, + {&symbols[13], &states[59], nullptr, 0, 0, 0, 598}, + {&symbols[14], &states[60], nullptr, 0, 0, 0, 599}, + {&symbols[15], &states[61], nullptr, 0, 0, 0, 600}, + {&symbols[16], &states[62], nullptr, 0, 0, 0, 601}, + {&symbols[17], &states[58], nullptr, 0, 0, 0, 602}, + {&symbols[1], nullptr, &symbols[37], 3, 7, 23, 603}, + {&symbols[5], nullptr, &symbols[37], 3, 7, 23, 604}, + {&symbols[11], nullptr, &symbols[37], 3, 7, 23, 605}, + {&symbols[19], nullptr, &symbols[37], 3, 7, 23, 606}, + {&symbols[24], nullptr, &symbols[37], 3, 7, 23, 607}, + {&symbols[46], nullptr, &symbols[37], 3, 7, 23, 608}, + {&symbols[6], nullptr, &symbols[37], 3, 7, 24, 609}, + {&symbols[7], nullptr, &symbols[37], 3, 7, 24, 610}, + {&symbols[8], nullptr, &symbols[37], 3, 7, 24, 611}, + {&symbols[9], nullptr, &symbols[37], 3, 7, 24, 612}, + {&symbols[10], nullptr, &symbols[37], 3, 7, 24, 613}, + {&symbols[12], &states[56], nullptr, 0, 0, 0, 614}, + {&symbols[13], &states[59], nullptr, 0, 0, 0, 615}, + {&symbols[14], &states[60], nullptr, 0, 0, 0, 616}, + {&symbols[15], &states[61], nullptr, 0, 0, 0, 617}, + {&symbols[16], &states[62], nullptr, 0, 0, 0, 618}, + {&symbols[17], &states[58], nullptr, 0, 0, 0, 619}, + {&symbols[1], nullptr, &symbols[37], 3, 7, 24, 620}, + {&symbols[5], nullptr, &symbols[37], 3, 7, 24, 621}, + {&symbols[11], nullptr, &symbols[37], 3, 7, 24, 622}, + {&symbols[19], nullptr, &symbols[37], 3, 7, 24, 623}, + {&symbols[24], nullptr, &symbols[37], 3, 7, 24, 624}, + {&symbols[46], nullptr, &symbols[37], 3, 7, 24, 625}, + {&symbols[6], &states[63], nullptr, 0, 0, 0, 626}, + {&symbols[7], &states[64], nullptr, 0, 0, 0, 627}, + {&symbols[8], &states[65], nullptr, 0, 0, 0, 628}, + {&symbols[9], &states[66], nullptr, 0, 0, 0, 629}, + {&symbols[10], &states[82], nullptr, 0, 0, 0, 630}, + {&symbols[12], &states[56], nullptr, 0, 0, 0, 631}, + {&symbols[13], &states[59], nullptr, 0, 0, 0, 632}, + {&symbols[14], &states[60], nullptr, 0, 0, 0, 633}, + {&symbols[15], &states[61], nullptr, 0, 0, 0, 634}, + {&symbols[16], &states[62], nullptr, 0, 0, 0, 635}, + {&symbols[17], &states[58], nullptr, 0, 0, 0, 636}, + {&symbols[1], nullptr, &symbols[37], 3, 4, 25, 637}, + {&symbols[5], nullptr, &symbols[37], 3, 4, 25, 638}, + {&symbols[11], nullptr, &symbols[37], 3, 4, 25, 639}, + {&symbols[19], nullptr, &symbols[37], 3, 4, 25, 640}, + {&symbols[24], nullptr, &symbols[37], 3, 4, 25, 641}, + {&symbols[46], nullptr, &symbols[37], 3, 4, 25, 642}, + {&symbols[6], &states[63], nullptr, 0, 0, 0, 643}, + {&symbols[7], &states[64], nullptr, 0, 0, 0, 644}, + {&symbols[8], &states[65], nullptr, 0, 0, 0, 645}, + {&symbols[9], &states[66], nullptr, 0, 0, 0, 646}, + {&symbols[10], &states[82], nullptr, 0, 0, 0, 647}, + {&symbols[12], &states[56], nullptr, 0, 0, 0, 648}, + {&symbols[13], &states[59], nullptr, 0, 0, 0, 649}, + {&symbols[14], &states[60], nullptr, 0, 0, 0, 650}, + {&symbols[15], &states[61], nullptr, 0, 0, 0, 651}, + {&symbols[16], &states[62], nullptr, 0, 0, 0, 652}, + {&symbols[17], &states[58], nullptr, 0, 0, 0, 653}, + {&symbols[1], nullptr, &symbols[37], 3, 4, 26, 654}, + {&symbols[5], nullptr, &symbols[37], 3, 4, 26, 655}, + {&symbols[11], nullptr, &symbols[37], 3, 4, 26, 656}, + {&symbols[19], nullptr, &symbols[37], 3, 4, 26, 657}, + {&symbols[24], nullptr, &symbols[37], 3, 4, 26, 658}, + {&symbols[46], nullptr, &symbols[37], 3, 4, 26, 659}, + {&symbols[6], nullptr, &symbols[37], 3, 5, 27, 660}, + {&symbols[7], nullptr, &symbols[37], 3, 5, 27, 661}, + {&symbols[8], &states[65], nullptr, 0, 0, 0, 662}, + {&symbols[9], &states[66], nullptr, 0, 0, 0, 663}, + {&symbols[10], &states[82], nullptr, 0, 0, 0, 664}, + {&symbols[12], &states[56], nullptr, 0, 0, 0, 665}, + {&symbols[13], &states[59], nullptr, 0, 0, 0, 666}, + {&symbols[14], &states[60], nullptr, 0, 0, 0, 667}, + {&symbols[15], &states[61], nullptr, 0, 0, 0, 668}, + {&symbols[16], &states[62], nullptr, 0, 0, 0, 669}, + {&symbols[17], &states[58], nullptr, 0, 0, 0, 670}, + {&symbols[1], nullptr, &symbols[37], 3, 5, 27, 671}, + {&symbols[5], nullptr, &symbols[37], 3, 5, 27, 672}, + {&symbols[11], nullptr, &symbols[37], 3, 5, 27, 673}, + {&symbols[19], nullptr, &symbols[37], 3, 5, 27, 674}, + {&symbols[24], nullptr, &symbols[37], 3, 5, 27, 675}, + {&symbols[46], nullptr, &symbols[37], 3, 5, 27, 676}, + {&symbols[6], nullptr, &symbols[37], 3, 5, 28, 677}, + {&symbols[7], nullptr, &symbols[37], 3, 5, 28, 678}, + {&symbols[8], &states[65], nullptr, 0, 0, 0, 679}, + {&symbols[9], &states[66], nullptr, 0, 0, 0, 680}, + {&symbols[10], &states[82], nullptr, 0, 0, 0, 681}, + {&symbols[12], &states[56], nullptr, 0, 0, 0, 682}, + {&symbols[13], &states[59], nullptr, 0, 0, 0, 683}, + {&symbols[14], &states[60], nullptr, 0, 0, 0, 684}, + {&symbols[15], &states[61], nullptr, 0, 0, 0, 685}, + {&symbols[16], &states[62], nullptr, 0, 0, 0, 686}, + {&symbols[17], &states[58], nullptr, 0, 0, 0, 687}, + {&symbols[1], nullptr, &symbols[37], 3, 5, 28, 688}, + {&symbols[5], nullptr, &symbols[37], 3, 5, 28, 689}, + {&symbols[11], nullptr, &symbols[37], 3, 5, 28, 690}, + {&symbols[19], nullptr, &symbols[37], 3, 5, 28, 691}, + {&symbols[24], nullptr, &symbols[37], 3, 5, 28, 692}, + {&symbols[46], nullptr, &symbols[37], 3, 5, 28, 693}, + {&symbols[5], &states[85], nullptr, 0, 0, 0, 694}, + {&symbols[6], &states[63], nullptr, 0, 0, 0, 695}, + {&symbols[7], &states[64], nullptr, 0, 0, 0, 696}, + {&symbols[8], &states[65], nullptr, 0, 0, 0, 697}, + {&symbols[9], &states[66], nullptr, 0, 0, 0, 698}, + {&symbols[10], &states[82], nullptr, 0, 0, 0, 699}, + {&symbols[12], &states[56], nullptr, 0, 0, 0, 700}, + {&symbols[13], &states[59], nullptr, 0, 0, 0, 701}, + {&symbols[14], &states[60], nullptr, 0, 0, 0, 702}, + {&symbols[15], &states[61], nullptr, 0, 0, 0, 703}, + {&symbols[16], &states[62], nullptr, 0, 0, 0, 704}, + {&symbols[17], &states[58], nullptr, 0, 0, 0, 705}, + {&symbols[47], &states[83], nullptr, 0, 0, 0, 706}, + {&symbols[4], &states[49], nullptr, 0, 0, 0, 707}, + {&symbols[1], nullptr, &symbols[37], 3, 0, 17, 708}, + {&symbols[5], nullptr, &symbols[37], 3, 0, 17, 709}, + {&symbols[6], nullptr, &symbols[37], 3, 0, 17, 710}, + {&symbols[7], nullptr, &symbols[37], 3, 0, 17, 711}, + {&symbols[8], nullptr, &symbols[37], 3, 0, 17, 712}, + {&symbols[9], nullptr, &symbols[37], 3, 0, 17, 713}, + {&symbols[10], nullptr, &symbols[37], 3, 0, 17, 714}, + {&symbols[11], nullptr, &symbols[37], 3, 0, 17, 715}, + {&symbols[12], nullptr, &symbols[37], 3, 0, 17, 716}, + {&symbols[13], nullptr, &symbols[37], 3, 0, 17, 717}, + {&symbols[14], nullptr, &symbols[37], 3, 0, 17, 718}, + {&symbols[15], nullptr, &symbols[37], 3, 0, 17, 719}, + {&symbols[16], nullptr, &symbols[37], 3, 0, 17, 720}, + {&symbols[17], nullptr, &symbols[37], 3, 0, 17, 721}, + {&symbols[19], nullptr, &symbols[37], 3, 0, 17, 722}, + {&symbols[24], nullptr, &symbols[37], 3, 0, 17, 723}, + {&symbols[46], nullptr, &symbols[37], 3, 0, 17, 724}, + {&symbols[1], nullptr, &symbols[37], 6, 3, 16, 725}, + {&symbols[5], nullptr, &symbols[37], 6, 3, 16, 726}, + {&symbols[6], nullptr, &symbols[37], 6, 3, 16, 727}, + {&symbols[7], nullptr, &symbols[37], 6, 3, 16, 728}, + {&symbols[8], nullptr, &symbols[37], 6, 3, 16, 729}, + {&symbols[9], nullptr, &symbols[37], 6, 3, 16, 730}, + {&symbols[10], nullptr, &symbols[37], 6, 3, 16, 731}, + {&symbols[11], nullptr, &symbols[37], 6, 3, 16, 732}, + {&symbols[12], nullptr, &symbols[37], 6, 3, 16, 733}, + {&symbols[13], nullptr, &symbols[37], 6, 3, 16, 734}, + {&symbols[14], nullptr, &symbols[37], 6, 3, 16, 735}, + {&symbols[15], nullptr, &symbols[37], 6, 3, 16, 736}, + {&symbols[16], nullptr, &symbols[37], 6, 3, 16, 737}, + {&symbols[17], nullptr, &symbols[37], 6, 3, 16, 738}, + {&symbols[19], nullptr, &symbols[37], 6, 3, 16, 739}, + {&symbols[24], nullptr, &symbols[37], 6, 3, 16, 740}, + {&symbols[46], nullptr, &symbols[37], 6, 3, 16, 741}, + {&symbols[1], nullptr, &symbols[37], 3, 3, 29, 742}, + {&symbols[5], nullptr, &symbols[37], 3, 3, 29, 743}, + {&symbols[6], nullptr, &symbols[37], 3, 3, 29, 744}, + {&symbols[7], nullptr, &symbols[37], 3, 3, 29, 745}, + {&symbols[8], nullptr, &symbols[37], 3, 3, 29, 746}, + {&symbols[9], nullptr, &symbols[37], 3, 3, 29, 747}, + {&symbols[10], nullptr, &symbols[37], 3, 3, 29, 748}, + {&symbols[11], nullptr, &symbols[37], 3, 3, 29, 749}, + {&symbols[12], nullptr, &symbols[37], 3, 3, 29, 750}, + {&symbols[13], nullptr, &symbols[37], 3, 3, 29, 751}, + {&symbols[14], nullptr, &symbols[37], 3, 3, 29, 752}, + {&symbols[15], nullptr, &symbols[37], 3, 3, 29, 753}, + {&symbols[16], nullptr, &symbols[37], 3, 3, 29, 754}, + {&symbols[17], nullptr, &symbols[37], 3, 3, 29, 755}, + {&symbols[19], nullptr, &symbols[37], 3, 3, 29, 756}, + {&symbols[24], nullptr, &symbols[37], 3, 3, 29, 757}, + {&symbols[46], nullptr, &symbols[37], 3, 3, 29, 758}, + {&symbols[1], nullptr, &symbols[37], 1, 0, 30, 759}, + {&symbols[5], nullptr, &symbols[37], 1, 0, 30, 760}, + {&symbols[6], nullptr, &symbols[37], 1, 0, 30, 761}, + {&symbols[7], nullptr, &symbols[37], 1, 0, 30, 762}, + {&symbols[8], nullptr, &symbols[37], 1, 0, 30, 763}, + {&symbols[9], nullptr, &symbols[37], 1, 0, 30, 764}, + {&symbols[10], nullptr, &symbols[37], 1, 0, 30, 765}, + {&symbols[11], nullptr, &symbols[37], 1, 0, 30, 766}, + {&symbols[12], nullptr, &symbols[37], 1, 0, 30, 767}, + {&symbols[13], nullptr, &symbols[37], 1, 0, 30, 768}, + {&symbols[14], nullptr, &symbols[37], 1, 0, 30, 769}, + {&symbols[15], nullptr, &symbols[37], 1, 0, 30, 770}, + {&symbols[16], nullptr, &symbols[37], 1, 0, 30, 771}, + {&symbols[17], nullptr, &symbols[37], 1, 0, 30, 772}, + {&symbols[19], nullptr, &symbols[37], 1, 0, 30, 773}, + {&symbols[24], nullptr, &symbols[37], 1, 0, 30, 774}, + {&symbols[46], nullptr, &symbols[37], 1, 0, 30, 775}, + {&symbols[1], nullptr, &symbols[37], 1, 2, 31, 776}, + {&symbols[5], nullptr, &symbols[37], 1, 2, 31, 777}, + {&symbols[6], nullptr, &symbols[37], 1, 2, 31, 778}, + {&symbols[7], nullptr, &symbols[37], 1, 2, 31, 779}, + {&symbols[8], nullptr, &symbols[37], 1, 2, 31, 780}, + {&symbols[9], nullptr, &symbols[37], 1, 2, 31, 781}, + {&symbols[10], nullptr, &symbols[37], 1, 2, 31, 782}, + {&symbols[11], nullptr, &symbols[37], 1, 2, 31, 783}, + {&symbols[12], nullptr, &symbols[37], 1, 2, 31, 784}, + {&symbols[13], nullptr, &symbols[37], 1, 2, 31, 785}, + {&symbols[14], nullptr, &symbols[37], 1, 2, 31, 786}, + {&symbols[15], nullptr, &symbols[37], 1, 2, 31, 787}, + {&symbols[16], nullptr, &symbols[37], 1, 2, 31, 788}, + {&symbols[17], nullptr, &symbols[37], 1, 2, 31, 789}, + {&symbols[19], nullptr, &symbols[37], 1, 2, 31, 790}, + {&symbols[24], nullptr, &symbols[37], 1, 2, 31, 791}, + {&symbols[46], nullptr, &symbols[37], 1, 2, 31, 792}, + {&symbols[1], nullptr, &symbols[37], 1, 0, 32, 793}, + {&symbols[5], nullptr, &symbols[37], 1, 0, 32, 794}, + {&symbols[6], nullptr, &symbols[37], 1, 0, 32, 795}, + {&symbols[7], nullptr, &symbols[37], 1, 0, 32, 796}, + {&symbols[8], nullptr, &symbols[37], 1, 0, 32, 797}, + {&symbols[9], nullptr, &symbols[37], 1, 0, 32, 798}, + {&symbols[10], nullptr, &symbols[37], 1, 0, 32, 799}, + {&symbols[11], nullptr, &symbols[37], 1, 0, 32, 800}, + {&symbols[12], nullptr, &symbols[37], 1, 0, 32, 801}, + {&symbols[13], nullptr, &symbols[37], 1, 0, 32, 802}, + {&symbols[14], nullptr, &symbols[37], 1, 0, 32, 803}, + {&symbols[15], nullptr, &symbols[37], 1, 0, 32, 804}, + {&symbols[16], nullptr, &symbols[37], 1, 0, 32, 805}, + {&symbols[17], nullptr, &symbols[37], 1, 0, 32, 806}, + {&symbols[19], nullptr, &symbols[37], 1, 0, 32, 807}, + {&symbols[24], nullptr, &symbols[37], 1, 0, 32, 808}, + {&symbols[46], nullptr, &symbols[37], 1, 0, 32, 809}, + {&symbols[1], nullptr, &symbols[37], 1, 0, 33, 810}, + {&symbols[5], nullptr, &symbols[37], 1, 0, 33, 811}, + {&symbols[6], nullptr, &symbols[37], 1, 0, 33, 812}, + {&symbols[7], nullptr, &symbols[37], 1, 0, 33, 813}, + {&symbols[8], nullptr, &symbols[37], 1, 0, 33, 814}, + {&symbols[9], nullptr, &symbols[37], 1, 0, 33, 815}, + {&symbols[10], nullptr, &symbols[37], 1, 0, 33, 816}, + {&symbols[11], nullptr, &symbols[37], 1, 0, 33, 817}, + {&symbols[12], nullptr, &symbols[37], 1, 0, 33, 818}, + {&symbols[13], nullptr, &symbols[37], 1, 0, 33, 819}, + {&symbols[14], nullptr, &symbols[37], 1, 0, 33, 820}, + {&symbols[15], nullptr, &symbols[37], 1, 0, 33, 821}, + {&symbols[16], nullptr, &symbols[37], 1, 0, 33, 822}, + {&symbols[17], nullptr, &symbols[37], 1, 0, 33, 823}, + {&symbols[19], nullptr, &symbols[37], 1, 0, 33, 824}, + {&symbols[24], nullptr, &symbols[37], 1, 0, 33, 825}, + {&symbols[46], nullptr, &symbols[37], 1, 0, 33, 826}, {nullptr, nullptr, nullptr, 0, 0, 0, -1} }; const ParserState states [] = { - {0, 3, &transitions[0], "(null)"}, - {1, 1, &transitions[3], "(null)"}, - {2, 18, &transitions[4], "(null)"}, - {3, 2, &transitions[22], "(null)"}, - {4, 1, &transitions[24], "(null)"}, - {5, 15, &transitions[25], "(null)"}, - {6, 1, &transitions[40], "(null)"}, - {7, 2, &transitions[41], "(null)"}, - {8, 2, &transitions[43], "(null)"}, - {9, 2, &transitions[45], "(null)"}, - {10, 2, &transitions[47], "(null)"}, - {11, 2, &transitions[49], "(null)"}, - {12, 2, &transitions[51], "(null)"}, - {13, 1, &transitions[53], "(null)"}, - {14, 2, &transitions[54], "(null)"}, - {15, 1, &transitions[56], "(null)"}, - {16, 2, &transitions[57], "(null)"}, - {17, 8, &transitions[59], "(null)"}, - {18, 13, &transitions[67], "(null)"}, - {19, 8, &transitions[80], "(null)"}, - {20, 13, &transitions[88], "(null)"}, - {21, 12, &transitions[101], "(null)"}, - {22, 8, &transitions[113], "(null)"}, - {23, 13, &transitions[121], "(null)"}, - {24, 11, &transitions[134], "(null)"}, - {25, 11, &transitions[145], "(null)"}, - {26, 2, &transitions[156], "(null)"}, - {27, 2, &transitions[158], "(null)"}, - {28, 8, &transitions[160], "(null)"}, - {29, 12, &transitions[168], "(null)"}, - {30, 2, &transitions[180], "(null)"}, - {31, 13, &transitions[182], "(null)"}, - {32, 8, &transitions[195], "(null)"}, - {33, 8, &transitions[203], "(null)"}, - {34, 8, &transitions[211], "(null)"}, - {35, 8, &transitions[219], "(null)"}, - {36, 8, &transitions[227], "(null)"}, - {37, 8, &transitions[235], "(null)"}, - {38, 8, &transitions[243], "(null)"}, - {39, 8, &transitions[251], "(null)"}, - {40, 8, &transitions[259], "(null)"}, - {41, 8, &transitions[267], "(null)"}, - {42, 8, &transitions[275], "(null)"}, - {43, 8, &transitions[283], "(null)"}, - {44, 17, &transitions[291], "(null)"}, - {45, 16, &transitions[308], "(null)"}, - {46, 16, &transitions[324], "(null)"}, - {47, 16, &transitions[340], "(null)"}, - {48, 16, &transitions[356], "(null)"}, - {49, 16, &transitions[372], "(null)"}, - {50, 16, &transitions[388], "(null)"}, - {51, 16, &transitions[404], "(null)"}, - {52, 16, &transitions[420], "(null)"}, - {53, 16, &transitions[436], "(null)"}, - {54, 16, &transitions[452], "(null)"}, - {55, 16, &transitions[468], "(null)"}, - {56, 16, &transitions[484], "(null)"}, - {57, 12, &transitions[500], "(null)"}, - {58, 1, &transitions[512], "(null)"}, - {59, 17, &transitions[513], "(null)"}, - {60, 16, &transitions[530], "(null)"}, - {61, 16, &transitions[546], "(null)"}, - {62, 16, &transitions[562], "(null)"}, - {63, 16, &transitions[578], "(null)"}, - {64, 16, &transitions[594], "(null)"}, - {65, 16, &transitions[610], "(null)"}, + {0, 29, &transitions[0], "(null)"}, + {1, 1, &transitions[29], "(null)"}, + {2, 2, &transitions[30], "(null)"}, + {3, 5, &transitions[32], "(null)"}, + {4, 6, &transitions[37], "(null)"}, + {5, 5, &transitions[43], "(null)"}, + {6, 5, &transitions[48], "(null)"}, + {7, 28, &transitions[53], "(null)"}, + {8, 2, &transitions[81], "(null)"}, + {9, 4, &transitions[83], "(null)"}, + {10, 25, &transitions[87], "(null)"}, + {11, 1, &transitions[112], "(null)"}, + {12, 3, &transitions[113], "(null)"}, + {13, 3, &transitions[116], "(null)"}, + {14, 3, &transitions[119], "(null)"}, + {15, 3, &transitions[122], "(null)"}, + {16, 3, &transitions[125], "(null)"}, + {17, 3, &transitions[128], "(null)"}, + {18, 3, &transitions[131], "(null)"}, + {19, 3, &transitions[134], "(null)"}, + {20, 3, &transitions[137], "(null)"}, + {21, 3, &transitions[140], "(null)"}, + {22, 3, &transitions[143], "(null)"}, + {23, 1, &transitions[146], "(null)"}, + {24, 3, &transitions[147], "(null)"}, + {25, 1, &transitions[150], "(null)"}, + {26, 8, &transitions[151], "(null)"}, + {27, 12, &transitions[159], "(null)"}, + {28, 4, &transitions[171], "(null)"}, + {29, 3, &transitions[175], "(null)"}, + {30, 3, &transitions[178], "(null)"}, + {31, 11, &transitions[181], "(null)"}, + {32, 14, &transitions[192], "(null)"}, + {33, 1, &transitions[206], "(null)"}, + {34, 8, &transitions[207], "(null)"}, + {35, 12, &transitions[215], "(null)"}, + {36, 3, &transitions[227], "(null)"}, + {37, 1, &transitions[230], "(null)"}, + {38, 2, &transitions[231], "(null)"}, + {39, 1, &transitions[233], "(null)"}, + {40, 3, &transitions[234], "(null)"}, + {41, 8, &transitions[237], "(null)"}, + {42, 14, &transitions[245], "(null)"}, + {43, 8, &transitions[259], "(null)"}, + {44, 14, &transitions[267], "(null)"}, + {45, 12, &transitions[281], "(null)"}, + {46, 8, &transitions[293], "(null)"}, + {47, 14, &transitions[301], "(null)"}, + {48, 11, &transitions[315], "(null)"}, + {49, 11, &transitions[326], "(null)"}, + {50, 2, &transitions[337], "(null)"}, + {51, 2, &transitions[339], "(null)"}, + {52, 8, &transitions[341], "(null)"}, + {53, 12, &transitions[349], "(null)"}, + {54, 2, &transitions[361], "(null)"}, + {55, 13, &transitions[363], "(null)"}, + {56, 8, &transitions[376], "(null)"}, + {57, 8, &transitions[384], "(null)"}, + {58, 8, &transitions[392], "(null)"}, + {59, 8, &transitions[400], "(null)"}, + {60, 8, &transitions[408], "(null)"}, + {61, 8, &transitions[416], "(null)"}, + {62, 8, &transitions[424], "(null)"}, + {63, 8, &transitions[432], "(null)"}, + {64, 8, &transitions[440], "(null)"}, + {65, 8, &transitions[448], "(null)"}, + {66, 8, &transitions[456], "(null)"}, + {67, 8, &transitions[464], "(null)"}, + {68, 18, &transitions[472], "(null)"}, + {69, 17, &transitions[490], "(null)"}, + {70, 17, &transitions[507], "(null)"}, + {71, 17, &transitions[524], "(null)"}, + {72, 17, &transitions[541], "(null)"}, + {73, 17, &transitions[558], "(null)"}, + {74, 17, &transitions[575], "(null)"}, + {75, 17, &transitions[592], "(null)"}, + {76, 17, &transitions[609], "(null)"}, + {77, 17, &transitions[626], "(null)"}, + {78, 17, &transitions[643], "(null)"}, + {79, 17, &transitions[660], "(null)"}, + {80, 17, &transitions[677], "(null)"}, + {81, 12, &transitions[694], "(null)"}, + {82, 1, &transitions[706], "(null)"}, + {83, 18, &transitions[707], "(null)"}, + {84, 17, &transitions[725], "(null)"}, + {85, 17, &transitions[742], "(null)"}, + {86, 17, &transitions[759], "(null)"}, + {87, 17, &transitions[776], "(null)"}, + {88, 17, &transitions[793], "(null)"}, + {89, 17, &transitions[810], "(null)"}, {-1, 0, nullptr} }; @@ -816,34 +1058,43 @@ const LexerAction lexer_actions [] = const LexerTransition lexer_transitions [] = { {33, 34, &lexer_states[29], nullptr}, - {34, 35, &lexer_states[60], nullptr}, - {39, 40, &lexer_states[60], nullptr}, + {34, 35, &lexer_states[86], nullptr}, + {39, 40, &lexer_states[86], nullptr}, {40, 41, &lexer_states[17], nullptr}, {41, 42, &lexer_states[18], nullptr}, {42, 43, &lexer_states[21], nullptr}, {43, 44, &lexer_states[19], nullptr}, - {44, 45, &lexer_states[43], nullptr}, + {44, 45, &lexer_states[69], nullptr}, {45, 46, &lexer_states[20], nullptr}, {46, 47, &lexer_states[6], nullptr}, {47, 48, &lexer_states[22], nullptr}, - {48, 58, &lexer_states[53], nullptr}, - {58, 59, &lexer_states[37], nullptr}, - {59, 60, &lexer_states[33], nullptr}, + {48, 58, &lexer_states[79], nullptr}, + {58, 59, &lexer_states[63], nullptr}, + {59, 60, &lexer_states[31], nullptr}, {60, 61, &lexer_states[26], nullptr}, {61, 62, &lexer_states[23], nullptr}, {62, 63, &lexer_states[25], nullptr}, - {97, 101, &lexer_states[44], nullptr}, + {97, 98, &lexer_states[70], nullptr}, + {98, 99, &lexer_states[44], nullptr}, + {99, 100, &lexer_states[34], nullptr}, + {100, 101, &lexer_states[70], nullptr}, {101, 102, &lexer_states[1], nullptr}, - {102, 103, &lexer_states[46], nullptr}, - {103, 112, &lexer_states[44], nullptr}, - {112, 113, &lexer_states[38], nullptr}, - {113, 116, &lexer_states[44], nullptr}, - {116, 117, &lexer_states[45], nullptr}, - {117, 118, &lexer_states[44], nullptr}, - {118, 119, &lexer_states[34], nullptr}, - {119, 123, &lexer_states[44], nullptr}, - {123, 124, &lexer_states[31], nullptr}, - {125, 126, &lexer_states[32], nullptr}, + {102, 103, &lexer_states[72], nullptr}, + {103, 105, &lexer_states[70], nullptr}, + {105, 106, &lexer_states[39], nullptr}, + {106, 112, &lexer_states[70], nullptr}, + {112, 113, &lexer_states[64], nullptr}, + {113, 114, &lexer_states[70], nullptr}, + {114, 115, &lexer_states[49], nullptr}, + {115, 116, &lexer_states[70], nullptr}, + {116, 117, &lexer_states[71], nullptr}, + {117, 118, &lexer_states[70], nullptr}, + {118, 119, &lexer_states[60], nullptr}, + {119, 120, &lexer_states[55], nullptr}, + {120, 123, &lexer_states[70], nullptr}, + {123, 124, &lexer_states[32], nullptr}, + {125, 126, &lexer_states[33], nullptr}, + {108, 109, &lexer_states[41], nullptr}, {114, 115, &lexer_states[2], nullptr}, {114, 115, &lexer_states[3], nullptr}, {111, 112, &lexer_states[4], nullptr}, @@ -858,113 +1109,159 @@ const LexerTransition lexer_transitions [] = {97, 98, &lexer_states[14], nullptr}, {99, 100, &lexer_states[15], nullptr}, {101, 102, &lexer_states[16], nullptr}, - {48, 58, &lexer_states[53], nullptr}, - {48, 58, &lexer_states[53], nullptr}, + {48, 58, &lexer_states[79], nullptr}, + {48, 58, &lexer_states[79], nullptr}, {61, 62, &lexer_states[24], nullptr}, {61, 62, &lexer_states[27], nullptr}, {61, 62, &lexer_states[28], nullptr}, {61, 62, &lexer_states[30], nullptr}, - {97, 98, &lexer_states[35], nullptr}, - {114, 115, &lexer_states[36], nullptr}, - {114, 115, &lexer_states[39], nullptr}, - {105, 106, &lexer_states[40], nullptr}, - {110, 111, &lexer_states[41], nullptr}, - {116, 117, &lexer_states[42], nullptr}, - {114, 115, &lexer_states[47], nullptr}, - {97, 98, &lexer_states[49], nullptr}, - {117, 118, &lexer_states[48], nullptr}, - {101, 102, &lexer_states[52], nullptr}, - {108, 109, &lexer_states[50], nullptr}, - {115, 116, &lexer_states[51], nullptr}, - {101, 102, &lexer_states[52], nullptr}, - {46, 47, &lexer_states[54], nullptr}, - {48, 58, &lexer_states[53], nullptr}, - {69, 70, &lexer_states[56], nullptr}, - {101, 102, &lexer_states[56], nullptr}, - {48, 58, &lexer_states[55], nullptr}, - {48, 58, &lexer_states[55], nullptr}, - {69, 70, &lexer_states[56], nullptr}, - {101, 102, &lexer_states[56], nullptr}, - {43, 44, &lexer_states[57], nullptr}, - {45, 46, &lexer_states[57], nullptr}, - {48, 58, &lexer_states[58], nullptr}, - {48, 58, &lexer_states[58], nullptr}, - {48, 58, &lexer_states[58], nullptr}, - {0, 2147483647, &lexer_states[59], &lexer_actions[0]}, + {108, 109, &lexer_states[35], nullptr}, + {97, 98, &lexer_states[36], nullptr}, + {115, 116, &lexer_states[37], nullptr}, + {115, 116, &lexer_states[38], nullptr}, + {102, 103, &lexer_states[40], nullptr}, + {115, 116, &lexer_states[42], nullptr}, + {101, 102, &lexer_states[43], nullptr}, + {114, 115, &lexer_states[45], nullptr}, + {101, 102, &lexer_states[46], nullptr}, + {97, 98, &lexer_states[47], nullptr}, + {107, 108, &lexer_states[48], nullptr}, + {101, 102, &lexer_states[50], nullptr}, + {116, 117, &lexer_states[51], nullptr}, + {117, 118, &lexer_states[52], nullptr}, + {114, 115, &lexer_states[53], nullptr}, + {110, 111, &lexer_states[54], nullptr}, + {104, 105, &lexer_states[56], nullptr}, + {105, 106, &lexer_states[57], nullptr}, + {108, 109, &lexer_states[58], nullptr}, + {101, 102, &lexer_states[59], nullptr}, + {97, 98, &lexer_states[61], nullptr}, + {114, 115, &lexer_states[62], nullptr}, + {114, 115, &lexer_states[65], nullptr}, + {105, 106, &lexer_states[66], nullptr}, + {110, 111, &lexer_states[67], nullptr}, + {116, 117, &lexer_states[68], nullptr}, + {114, 115, &lexer_states[73], nullptr}, + {97, 98, &lexer_states[75], nullptr}, + {117, 118, &lexer_states[74], nullptr}, + {101, 102, &lexer_states[78], nullptr}, + {108, 109, &lexer_states[76], nullptr}, + {115, 116, &lexer_states[77], nullptr}, + {101, 102, &lexer_states[78], nullptr}, + {46, 47, &lexer_states[80], nullptr}, + {48, 58, &lexer_states[79], nullptr}, + {69, 70, &lexer_states[82], nullptr}, + {101, 102, &lexer_states[82], nullptr}, + {48, 58, &lexer_states[81], nullptr}, + {48, 58, &lexer_states[81], nullptr}, + {69, 70, &lexer_states[82], nullptr}, + {101, 102, &lexer_states[82], nullptr}, + {43, 44, &lexer_states[83], nullptr}, + {45, 46, &lexer_states[83], nullptr}, + {48, 58, &lexer_states[84], nullptr}, + {48, 58, &lexer_states[84], nullptr}, + {48, 58, &lexer_states[84], nullptr}, + {0, 2147483647, &lexer_states[85], &lexer_actions[0]}, {-1, -1, nullptr, nullptr} }; const LexerState lexer_states [] = { - {0, 29, &lexer_transitions[0], nullptr}, - {1, 1, &lexer_transitions[29], &symbols[35]}, - {2, 1, &lexer_transitions[30], nullptr}, - {3, 1, &lexer_transitions[31], nullptr}, - {4, 1, &lexer_transitions[32], nullptr}, - {5, 0, &lexer_transitions[33], &symbols[2]}, - {6, 1, &lexer_transitions[33], &symbols[10]}, - {7, 1, &lexer_transitions[34], nullptr}, - {8, 1, &lexer_transitions[35], nullptr}, - {9, 1, &lexer_transitions[36], nullptr}, - {10, 1, &lexer_transitions[37], nullptr}, - {11, 1, &lexer_transitions[38], nullptr}, - {12, 1, &lexer_transitions[39], nullptr}, - {13, 1, &lexer_transitions[40], nullptr}, - {14, 1, &lexer_transitions[41], nullptr}, - {15, 1, &lexer_transitions[42], nullptr}, - {16, 0, &lexer_transitions[43], &symbols[3]}, - {17, 0, &lexer_transitions[43], &symbols[4]}, - {18, 0, &lexer_transitions[43], &symbols[5]}, - {19, 1, &lexer_transitions[43], &symbols[6]}, - {20, 1, &lexer_transitions[44], &symbols[7]}, - {21, 0, &lexer_transitions[45], &symbols[8]}, - {22, 0, &lexer_transitions[45], &symbols[9]}, - {23, 1, &lexer_transitions[45], &symbols[11]}, - {24, 0, &lexer_transitions[46], &symbols[12]}, - {25, 1, &lexer_transitions[46], &symbols[13]}, - {26, 1, &lexer_transitions[47], &symbols[14]}, - {27, 0, &lexer_transitions[48], &symbols[15]}, - {28, 0, &lexer_transitions[48], &symbols[16]}, - {29, 1, &lexer_transitions[48], &symbols[18]}, - {30, 0, &lexer_transitions[49], &symbols[17]}, - {31, 0, &lexer_transitions[49], &symbols[20]}, - {32, 0, &lexer_transitions[49], &symbols[22]}, - {33, 0, &lexer_transitions[49], &symbols[23]}, - {34, 1, &lexer_transitions[49], &symbols[35]}, - {35, 1, &lexer_transitions[50], nullptr}, - {36, 0, &lexer_transitions[51], &symbols[29]}, - {37, 0, &lexer_transitions[51], &symbols[30]}, - {38, 1, &lexer_transitions[51], &symbols[35]}, - {39, 1, &lexer_transitions[52], nullptr}, - {40, 1, &lexer_transitions[53], nullptr}, - {41, 1, &lexer_transitions[54], nullptr}, - {42, 0, &lexer_transitions[55], &symbols[32]}, - {43, 0, &lexer_transitions[55], &symbols[34]}, - {44, 0, &lexer_transitions[55], &symbols[35]}, - {45, 1, &lexer_transitions[55], &symbols[35]}, - {46, 1, &lexer_transitions[56], &symbols[35]}, - {47, 1, &lexer_transitions[57], nullptr}, - {48, 1, &lexer_transitions[58], nullptr}, - {49, 1, &lexer_transitions[59], nullptr}, - {50, 1, &lexer_transitions[60], nullptr}, - {51, 1, &lexer_transitions[61], nullptr}, - {52, 0, &lexer_transitions[62], &symbols[36]}, - {53, 4, &lexer_transitions[62], &symbols[37]}, - {54, 1, &lexer_transitions[66], nullptr}, - {55, 3, &lexer_transitions[67], &symbols[38]}, - {56, 3, &lexer_transitions[70], nullptr}, - {57, 1, &lexer_transitions[73], nullptr}, - {58, 1, &lexer_transitions[74], &symbols[38]}, - {59, 0, &lexer_transitions[75], &symbols[39]}, - {60, 1, &lexer_transitions[75], nullptr}, + {0, 37, &lexer_transitions[0], nullptr}, + {1, 2, &lexer_transitions[37], &symbols[47]}, + {2, 1, &lexer_transitions[39], nullptr}, + {3, 1, &lexer_transitions[40], nullptr}, + {4, 1, &lexer_transitions[41], nullptr}, + {5, 0, &lexer_transitions[42], &symbols[2]}, + {6, 1, &lexer_transitions[42], &symbols[10]}, + {7, 1, &lexer_transitions[43], nullptr}, + {8, 1, &lexer_transitions[44], nullptr}, + {9, 1, &lexer_transitions[45], nullptr}, + {10, 1, &lexer_transitions[46], nullptr}, + {11, 1, &lexer_transitions[47], nullptr}, + {12, 1, &lexer_transitions[48], nullptr}, + {13, 1, &lexer_transitions[49], nullptr}, + {14, 1, &lexer_transitions[50], nullptr}, + {15, 1, &lexer_transitions[51], nullptr}, + {16, 0, &lexer_transitions[52], &symbols[3]}, + {17, 0, &lexer_transitions[52], &symbols[4]}, + {18, 0, &lexer_transitions[52], &symbols[5]}, + {19, 1, &lexer_transitions[52], &symbols[6]}, + {20, 1, &lexer_transitions[53], &symbols[7]}, + {21, 0, &lexer_transitions[54], &symbols[8]}, + {22, 0, &lexer_transitions[54], &symbols[9]}, + {23, 1, &lexer_transitions[54], &symbols[11]}, + {24, 0, &lexer_transitions[55], &symbols[12]}, + {25, 1, &lexer_transitions[55], &symbols[13]}, + {26, 1, &lexer_transitions[56], &symbols[14]}, + {27, 0, &lexer_transitions[57], &symbols[15]}, + {28, 0, &lexer_transitions[57], &symbols[16]}, + {29, 1, &lexer_transitions[57], &symbols[18]}, + {30, 0, &lexer_transitions[58], &symbols[17]}, + {31, 0, &lexer_transitions[58], &symbols[19]}, + {32, 0, &lexer_transitions[58], &symbols[23]}, + {33, 0, &lexer_transitions[58], &symbols[24]}, + {34, 1, &lexer_transitions[58], &symbols[47]}, + {35, 1, &lexer_transitions[59], nullptr}, + {36, 1, &lexer_transitions[60], nullptr}, + {37, 1, &lexer_transitions[61], nullptr}, + {38, 0, &lexer_transitions[62], &symbols[35]}, + {39, 1, &lexer_transitions[62], &symbols[47]}, + {40, 0, &lexer_transitions[63], &symbols[36]}, + {41, 1, &lexer_transitions[63], nullptr}, + {42, 1, &lexer_transitions[64], nullptr}, + {43, 0, &lexer_transitions[65], &symbols[38]}, + {44, 1, &lexer_transitions[65], &symbols[47]}, + {45, 1, &lexer_transitions[66], nullptr}, + {46, 1, &lexer_transitions[67], nullptr}, + {47, 1, &lexer_transitions[68], nullptr}, + {48, 0, &lexer_transitions[69], &symbols[39]}, + {49, 1, &lexer_transitions[69], &symbols[47]}, + {50, 1, &lexer_transitions[70], nullptr}, + {51, 1, &lexer_transitions[71], nullptr}, + {52, 1, &lexer_transitions[72], nullptr}, + {53, 1, &lexer_transitions[73], nullptr}, + {54, 0, &lexer_transitions[74], &symbols[40]}, + {55, 1, &lexer_transitions[74], &symbols[47]}, + {56, 1, &lexer_transitions[75], nullptr}, + {57, 1, &lexer_transitions[76], nullptr}, + {58, 1, &lexer_transitions[77], nullptr}, + {59, 0, &lexer_transitions[78], &symbols[41]}, + {60, 1, &lexer_transitions[78], &symbols[47]}, + {61, 1, &lexer_transitions[79], nullptr}, + {62, 0, &lexer_transitions[80], &symbols[42]}, + {63, 0, &lexer_transitions[80], &symbols[43]}, + {64, 1, &lexer_transitions[80], &symbols[47]}, + {65, 1, &lexer_transitions[81], nullptr}, + {66, 1, &lexer_transitions[82], nullptr}, + {67, 1, &lexer_transitions[83], nullptr}, + {68, 0, &lexer_transitions[84], &symbols[44]}, + {69, 0, &lexer_transitions[84], &symbols[46]}, + {70, 0, &lexer_transitions[84], &symbols[47]}, + {71, 1, &lexer_transitions[84], &symbols[47]}, + {72, 1, &lexer_transitions[85], &symbols[47]}, + {73, 1, &lexer_transitions[86], nullptr}, + {74, 1, &lexer_transitions[87], nullptr}, + {75, 1, &lexer_transitions[88], nullptr}, + {76, 1, &lexer_transitions[89], nullptr}, + {77, 1, &lexer_transitions[90], nullptr}, + {78, 0, &lexer_transitions[91], &symbols[48]}, + {79, 4, &lexer_transitions[91], &symbols[49]}, + {80, 1, &lexer_transitions[95], nullptr}, + {81, 3, &lexer_transitions[96], &symbols[50]}, + {82, 3, &lexer_transitions[99], nullptr}, + {83, 1, &lexer_transitions[102], nullptr}, + {84, 1, &lexer_transitions[103], &symbols[50]}, + {85, 0, &lexer_transitions[104], &symbols[51]}, + {86, 1, &lexer_transitions[104], nullptr}, {-1, 0, nullptr, nullptr} }; const LexerStateMachine lexer_state_machine = { 1, // #actions - 76, // #transitions - 61, // #states + 105, // #transitions + 87, // #states lexer_actions, // actions lexer_transitions, // transitions lexer_states, // states @@ -1004,10 +1301,10 @@ const LexerStateMachine whitespace_lexer_state_machine = const ParserStateMachine parser_state_machine = { "oscript", - 30, // #actions - 40, // #symbols - 626, // #transitions - 66, // #states + 35, // #actions + 52, // #symbols + 827, // #transitions + 90, // #states actions, symbols, transitions, diff --git a/Objects/private/parser/oscript.g b/Objects/private/parser/oscript.g index 4ec64b4..ae8595b 100644 --- a/Objects/private/parser/oscript.g +++ b/Objects/private/parser/oscript.g @@ -7,6 +7,9 @@ oscript { %left '*' '/'; %left '.' '='; %left '==' '>' '<' '>=' '<=' '!=' '!'; + %left ';'; + + script : stmts [tmp]; scope: '{' stmts '}' [scope] @@ -22,8 +25,24 @@ oscript { | stm_var_def_assign [tmp] | stm_log [tmp] | stm_assign [tmp] + | stm_while [tmp] + | stm_return [tmp] + | stm_break [tmp] + | stm_if [tmp] + | stm_def_class [tmp] ; + stm_def_method: 'class' id scope [stm_def_class]; + + stm_def_class: 'class' id scope [stm_def_class]; + + stm_if: + 'if' '(' expr ')' scope [stm_if] + | 'if' '(' expr ')' scope 'else' scope [stm_if]; + + stm_break: 'break' [stm_break]; + stm_return: 'return' expr [stm_return] | 'return' [stm_return]; + stm_while: 'while' '(' expr ')' scope [stm_while_loop]; stm_var_def_new_type: 'var' id ':' id [stm_var_def_new_type]; stm_var_def_assign: 'var' id '=' expr [stm_var_def_assign]; stm_log: 'print' expr [stm_log];