📄 ecma.output
字号:
State 1 contains 1 shift/reduce conflict.State 2 contains 1 shift/reduce conflict.State 15 contains 21 shift/reduce conflicts.State 38 contains 7 reduce/reduce conflicts.State 59 contains 2 shift/reduce conflicts.State 61 contains 2 shift/reduce conflicts.State 62 contains 2 shift/reduce conflicts.State 66 contains 2 shift/reduce conflicts.State 83 contains 2 shift/reduce conflicts.State 93 contains 2 shift/reduce conflicts.State 108 contains 1 shift/reduce conflict.State 111 contains 7 reduce/reduce conflicts.State 225 contains 2 shift/reduce conflicts.State 226 contains 2 shift/reduce conflicts.State 227 contains 2 shift/reduce conflicts.State 323 contains 1 shift/reduce conflict.Grammar Number, Line, Rule 1 151 start -> program 2 157 program -> source_element_list 3 163 source_element_list -> source_element 4 167 source_element_list -> source_element_list source_element 5 172 source_element -> statement 6 176 source_element -> function_declaration 7 182 function_declaration -> FUNCTION IDENTIFIER '(' formal_parameter_list ')' '{' function_body '}' 8 186 function_declaration -> FUNCTION IDENTIFIER '(' ')' '{' function_body '}' 9 191 function_expression -> function_declaration 10 195 function_expression -> FUNCTION '(' formal_parameter_list ')' '{' function_body '}' 11 198 function_expression -> FUNCTION '(' ')' '{' function_body '}' 12 203 formal_parameter_list -> IDENTIFIER 13 207 formal_parameter_list -> formal_parameter_list ',' IDENTIFIER 14 212 function_body -> source_element_list 15 223 statement -> block 16 227 statement -> variable_statement 17 230 statement -> empty_statement 18 233 statement -> expression_statement 19 236 statement -> if_statement 20 239 statement -> iteration_statement 21 242 statement -> continue_statement 22 245 statement -> break_statement 23 248 statement -> return_statement 24 251 statement -> with_statement 25 254 statement -> labelled_statement 26 257 statement -> switch_statement 27 260 statement -> throw_statement 28 263 statement -> try_statement 29 269 block -> '{' '}' 30 273 block -> '{' statement_list '}' 31 279 statement_list -> statement 32 283 statement_list -> statement_list statement 33 289 variable_statement -> VAR variable_declaration_list ';' 34 295 variable_declaration_list -> variable_declaration 35 299 variable_declaration_list -> variable_declaration_list ',' variable_declaration 36 305 variable_declaration_list_no_in -> variable_declaration_no_in 37 309 variable_declaration_list_no_in -> variable_declaration_list_no_in ',' variable_declaration_no_in 38 315 variable_declaration -> IDENTIFIER 39 319 variable_declaration -> IDENTIFIER initializer 40 325 variable_declaration_no_in -> IDENTIFIER 41 329 variable_declaration_no_in -> IDENTIFIER initializer_no_in 42 335 initializer -> '=' assignment_expression 43 342 initializer_no_in -> '=' assignment_expression_no_in 44 350 empty_statement -> ';' 45 356 expression_statement -> expression ';' 46 364 if_statement -> IF '(' expression ')' statement ELSE statement 47 368 if_statement -> IF '(' expression ')' statement 48 374 iteration_statement -> DO statement WHILE '(' expression ')' ';' 49 378 iteration_statement -> WHILE '(' expression ')' statement 50 381 iteration_statement -> FOR '(' expression_no_in_opt ';' expression_no_in_opt ';' expression_no_in_opt ')' statement 51 384 iteration_statement -> FOR '(' VAR variable_declaration_list_no_in ';' expression_no_in_opt ';' expression_no_in_opt ')' statement 52 387 iteration_statement -> FOR '(' left_hand_side_expression IN expression ')' statement 53 390 iteration_statement -> FOR '(' VAR variable_declaration_list_no_in IN expression ')' statement 54 397 continue_statement -> CONTINUE 55 401 continue_statement -> CONTINUE IDENTIFIER 56 407 break_statement -> BREAK 57 411 break_statement -> BREAK IDENTIFIER 58 417 return_statement -> RETURN 59 421 return_statement -> RETURN expression 60 430 with_statement -> WITH '(' expression ')' statement 61 437 switch_statement -> SWITCH '(' expression ')' case_block 62 444 case_block -> '{' '}' 63 448 case_block -> '{' case_clause_list '}' 64 454 case_clause_list -> case_clause 65 458 case_clause_list -> case_clause_list case_clause 66 465 case_clause -> CASE expression ':' 67 469 case_clause -> CASE expression ':' statement_list 68 472 case_clause -> DEFAULT ':' 69 475 case_clause -> DEFAULT ':' statement_list 70 482 labelled_statement -> IDENTIFIER ':' statement 71 490 throw_statement -> THROW expression 72 497 try_statement -> TRY block catch 73 501 try_statement -> TRY block finally 74 504 try_statement -> TRY block catch finally 75 510 catch -> CATCH '(' IDENTIFIER '}' block 76 517 finally -> FINALLY block 77 526 primary_expression -> THIS 78 530 primary_expression -> IDENTIFIER 79 533 primary_expression -> literal 80 536 primary_expression -> array_literal 81 539 primary_expression -> object_literal 82 542 primary_expression -> '(' expression ')' 83 549 literal -> NULL_LITERAL 84 553 literal -> TRUE 85 556 literal -> FALSE 86 559 literal -> NUMERIC 87 562 literal -> STRING 88 569 array_literal -> '[' ']' 89 573 array_literal -> '[' elision ']' 90 576 array_literal -> '[' element_list ']' 91 579 array_literal -> '[' element_list elision ']' 92 585 element_list -> assignment_expression 93 589 element_list -> elision assignment_expression 94 592 element_list -> element_list elision assignment_expression 95 598 elision -> ',' 96 602 elision -> elision ',' 97 608 object_literal -> '{' '}' 98 612 object_literal -> '{' property_name_and_value_list '}' 99 618 property_name_and_value_list -> property 100 622 property_name_and_value_list -> property_name_and_value_list ',' property 101 627 property -> property_name ':' assignment_expression 102 634 property_name -> IDENTIFIER 103 638 property_name -> STRING 104 641 property_name -> NUMERIC 105 648 member_expression -> primary_expression 106 652 member_expression -> function_expression 107 655 member_expression -> member_expression '[' expression ']' 108 658 member_expression -> member_expression '.' IDENTIFIER 109 661 member_expression -> NEW member_expression arguments 110 667 new_expression -> member_expression 111 671 new_expression -> NEW new_expression 112 677 call_expression -> member_expression arguments 113 681 call_expression -> call_expression arguments 114 684 call_expression -> call_expression '[' expression ']' 115 687 call_expression -> call_expression '.' IDENTIFIER 116 693 arguments -> '(' ')' 117 697 arguments -> '(' argument_list ')' 118 704 argument_list -> assignment_expression 119 708 argument_list -> argument_list ',' assignment_expression 120 715 left_hand_side_expression -> new_expression 121 719 left_hand_side_expression -> call_expression 122 725 postfix_expression -> left_hand_side_expression 123 729 postfix_expression -> left_hand_side_expression INCREMENT 124 732 postfix_expression -> left_hand_side_expression DECREMENT 125 739 unary_expression -> postfix_expression 126 743 unary_expression -> DELETE unary_expression 127 746 unary_expression -> VOID unary_expression 128 749 unary_expression -> TYPEOF unary_expression 129 752 unary_expression -> INCREMENT unary_expression 130 755 unary_expression -> DECREMENT unary_expression 131 758 unary_expression -> '+' unary_expression 132 761 unary_expression -> '-' unary_expression 133 764 unary_expression -> '~' unary_expression 134 767 unary_expression -> '!' unary_expression 135 773 multiplicative_expression -> unary_expression 136 777 multiplicative_expression -> multiplicative_expression '*' unary_expression 137 780 multiplicative_expression -> multiplicative_expression '/' unary_expression 138 783 multiplicative_expression -> multiplicative_expression '%' unary_expression 139 790 additive_expression -> multiplicative_expression 140 794 additive_expression -> additive_expression '+' multiplicative_expression 141 797 additive_expression -> additive_expression '-' multiplicative_expression 142 804 shift_expression -> additive_expression 143 808 shift_expression -> shift_expression SHIFT_LEFT additive_expression 144 811 shift_expression -> shift_expression SHIFT_RIGHT additive_expression 145 814 shift_expression -> shift_expression SHIFT_RIGHT_UNSIGNED additive_expression 146 820 relational_expression -> shift_expression 147 824 relational_expression -> relational_expression '<' shift_expression 148 827 relational_expression -> relational_expression '>' shift_expression 149 830 relational_expression -> relational_expression LESS_EQUAL shift_expression 150 833 relational_expression -> relational_expression GREATER_EQUAL shift_expression 151 836 relational_expression -> relational_expression INSTANCEOF shift_expression 152 839 relational_expression -> relational_expression IN shift_expression 153 846 relational_expression_no_in -> shift_expression 154 850 relational_expression_no_in -> relational_expression_no_in '<' shift_expression 155 853 relational_expression_no_in -> relational_expression_no_in '>' shift_expression 156 856 relational_expression_no_in -> relational_expression_no_in LESS_EQUAL shift_expression 157 859 relational_expression_no_in -> relational_expression_no_in GREATER_EQUAL shift_expression 158 862 relational_expression_no_in -> relational_expression_no_in INSTANCEOF shift_expression 159 868 equality_expression -> relational_expression 160 872 equality_expression -> equality_expression EQUAL relational_expression 161 875 equality_expression -> equality_expression NOT_EQUAL relational_expression 162 878 equality_expression -> equality_expression EXACTLY_EQUAL relational_expression 163 881 equality_expression -> equality_expression EXACTLY_NOT_EQUAL relational_expression 164 889 equality_expression_no_in -> relational_expression_no_in 165 893 equality_expression_no_in -> equality_expression_no_in EQUAL relational_expression_no_in 166 896 equality_expression_no_in -> equality_expression_no_in NOT_EQUAL relational_expression_no_in 167 899 equality_expression_no_in -> equality_expression_no_in EXACTLY_EQUAL relational_expression_no_in 168 902 equality_expression_no_in -> equality_expression_no_in EXACTLY_NOT_EQUAL relational_expression_no_in 169 909 bitwise_and_expression -> equality_expression 170 913 bitwise_and_expression -> bitwise_and_expression '&' equality_expression 171 918 bitwise_and_expression_no_in -> equality_expression_no_in 172 922 bitwise_and_expression_no_in -> bitwise_and_expression_no_in '&' equality_expression_no_in 173 928 bitwise_xor_expression -> bitwise_and_expression 174 932 bitwise_xor_expression -> bitwise_xor_expression '^' bitwise_and_expression 175 937 bitwise_xor_expression_no_in -> bitwise_and_expression_no_in 176 941 bitwise_xor_expression_no_in -> bitwise_xor_expression_no_in '^' bitwise_and_expression_no_in 177 947 bitwise_or_expression -> bitwise_xor_expression 178 951 bitwise_or_expression -> bitwise_or_expression '|' bitwise_xor_expression 179 956 bitwise_or_expression_no_in -> bitwise_xor_expression_no_in 180 960 bitwise_or_expression_no_in -> bitwise_or_expression_no_in '|' bitwise_xor_expression_no_in 181 968 logical_and_expression -> bitwise_or_expression 182 972 logical_and_expression -> logical_and_expression LOGICAL_AND bitwise_or_expression 183 977 logical_and_expression_no_in -> bitwise_or_expression_no_in 184 981 logical_and_expression_no_in -> logical_and_expression_no_in LOGICAL_AND bitwise_or_expression_no_in 185 989 logical_or_expression -> logical_and_expression 186 993 logical_or_expression -> logical_or_expression LOGICAL_OR logical_and_expression 187 998 logical_or_expression_no_in -> logical_and_expression_no_in 188 1002 logical_or_expression_no_in -> logical_or_expression_no_in LOGICAL_OR logical_and_expression_no_in 189 1008 conditional_expression -> logical_or_expression 190 1012 conditional_expression -> logical_or_expression '?' assignment_expression ':' assignment_expression 191 1018 conditional_expression_no_in -> logical_or_expression_no_in 192 1022 conditional_expression_no_in -> logical_or_expression_no_in '?' assignment_expression ':' assignment_expression_no_in 193 1029 assignment_expression -> conditional_expression 194 1033 assignment_expression -> left_hand_side_expression ASSIGNMENT_OPERATOR assignment_expression 195 1038 assignment_expression_no_in -> conditional_expression_no_in 196 1042 assignment_expression_no_in -> left_hand_side_expression ASSIGNMENT_OPERATOR assignment_expression_no_in 197 1049 expression -> assignment_expression 198 1053 expression -> expression ',' assignment_expression 199 1058 expression_no_in -> assignment_expression_no_in 200 1062 expression_no_in -> expression_no_in ',' assignment_expression_no_in 201 1068 expression_no_in_opt -> /* empty */ 202 1072 expression_no_in_opt -> expression_no_inTerminals, with rules where they appear$ (-1)'!' (33) 134'%' (37) 138'&' (38) 170 172'(' (40) 7 8 10 11 46 47 48 49 50 51 52 53 60 61 75 82 116 117')' (41) 7 8 10 11 46 47 48 49 50 51 52 53 60 61 82 116 117'*' (42) 136'+' (43) 131 140',' (44) 13 35 37 95 96 100 119 198 200'-' (45) 132 141'.' (46) 108 115'/' (47) 137':' (58) 66 67 68 69 70 101 190 192';' (59) 33 44 45 48 50 51'<' (60) 147 154'=' (61) 42 43'>' (62) 148 155'?' (63) 190 192'[' (91) 88 89 90 91 107 114']' (93) 88 89 90 91 107 114'^' (94) 174 176'{' (123) 7 8 10 11 29 30 62 63 97 98'|' (124) 178 180'}' (125) 7 8 10 11 29 30 62 63 75 97 98'~' (126) 133error (256)ASSIGNMENT_OPERATOR (257) 194 196BREAK (258) 56 57CASE (259) 66 67CATCH (260) 75CONTINUE (261) 54 55DECREMENT (262) 124 130DEFAULT (263) 68 69DELETE (264) 126DO (265) 48ELSE (266) 46EQUAL (267) 160 165EXACTLY_EQUAL (268) 162 167EXACTLY_NOT_EQUAL (269) 163 168FALSE (270) 85FINALLY (271) 76FOR (272) 50 51 52 53FUNCTION (273) 7 8 10 11GREATER_EQUAL (274) 150 157IDENTIFIER (275) 7 8 12 13 38 39 40 41 55 57 70 75 78 102 108 115IF (276) 46 47IN (277) 52 53 152INCREMENT (278) 123 129INSTANCEOF (279) 151 158LESS_EQUAL (280) 149 156LOGICAL_AND (281) 182 184LOGICAL_OR (282) 186 188NEW (283) 109 111NOT_EQUAL (284) 161 166NULL_LITERAL (285) 83NUMERIC (286) 86 104RETURN (287) 58 59SHIFT_LEFT (288) 143SHIFT_RIGHT (289) 144SHIFT_RIGHT_UNSIGNED (290) 145STRING (291) 87 103SWITCH (292) 61THIS (293) 77THROW (294) 71TRY (295) 72 73 74TRUE (296) 84TYPEOF (297) 128VAR (298) 33 51 53VOID (299) 127WITH (300) 60WHILE (301) 48 49Nonterminals, with rules where they appearstart (72) on left: 1program (73) on left: 2, on right: 1source_element_list (74) on left: 3 4, on right: 2 4 14source_element (75) on left: 5 6, on right: 3 4function_declaration (76) on left: 7 8, on right: 6 9function_expression (77) on left: 9 10 11, on right: 106formal_parameter_list (78) on left: 12 13, on right: 7 10 13function_body (79) on left: 14, on right: 7 8 10 11statement (80) on left: 15 16 17 18 19 20 21 22 23 24 25 26 27 28, on right: 5 31 32 46 47 48 49 50 51 52 53 60 70block (81) on left: 29 30, on right: 15 72 73 74 75 76statement_list (82) on left: 31 32, on right: 30 32 67 69variable_statement (83) on left: 33, on right: 16variable_declaration_list (84) on left: 34 35, on right: 33 35variable_declaration_list_no_in (85) on left: 36 37, on right: 37 51 53variable_declaration (86) on left: 38 39, on right: 34 35variable_declaration_no_in (87) on left: 40 41, on right: 36 37initializer (88) on left: 42, on right: 39initializer_no_in (89) on left: 43, on right: 41empty_statement (90) on left: 44, on right: 17expression_statement (91) on left: 45, on right: 18if_statement (92) on left: 46 47, on right: 19iteration_statement (93) on left: 48 49 50 51 52 53, on right: 20continue_statement (94) on left: 54 55, on right: 21break_statement (95) on left: 56 57, on right: 22return_statement (96) on left: 58 59, on right: 23with_statement (97) on left: 60, on right: 24switch_statement (98) on left: 61, on right: 26case_block (99) on left: 62 63, on right: 61case_clause_list (100) on left: 64 65, on right: 63 65case_clause (101) on left: 66 67 68 69, on right: 64 65labelled_statement (102) on left: 70, on right: 25throw_statement (103) on left: 71, on right: 27try_statement (104) on left: 72 73 74, on right: 28catch (105) on left: 75, on right: 72 74finally (106) on left: 76, on right: 73 74primary_expression (107) on left: 77 78 79 80 81 82, on right: 105literal (108) on left: 83 84 85 86 87, on right: 79array_literal (109) on left: 88 89 90 91, on right: 80element_list (110) on left: 92 93 94, on right: 90 91 94elision (111) on left: 95 96, on right: 89 91 93 94 96object_literal (112) on left: 97 98, on right: 81property_name_and_value_list (113) on left: 99 100, on right: 98 100property (114) on left: 101, on right: 99 100property_name (115) on left: 102 103 104, on right: 101member_expression (116) on left: 105 106 107 108 109, on right: 107 108 109 110 112new_expression (117) on left: 110 111, on right: 111 120
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -