3224 lines
70 KiB
Plaintext
3224 lines
70 KiB
Plaintext
0 $accept : %entry% $end
|
||
|
||
1 primary_expression : identifier
|
||
2 | constant
|
||
3 | string_literal
|
||
4 | OPEN_PAREN_CHR expression CLOSE_PAREN_CHR
|
||
|
||
5 constant : CONSTANT
|
||
|
||
6 identifier : IDENTIFIER
|
||
|
||
7 open_brace : OPEN_BRACE_CHR
|
||
|
||
8 close_brace : CLOSE_BRACE_CHR
|
||
|
||
9 string_literal : STRING_LITERAL
|
||
10 | STRING_LITERAL string_literal
|
||
|
||
11 inc_op : INC_OP
|
||
|
||
12 dec_op : DEC_OP
|
||
|
||
13 postfix_expression : primary_expression
|
||
14 | postfix_expression OPEN_BRACKET_CHR expression close_bracket
|
||
15 | identifier OPEN_PAREN_CHR close_paren
|
||
16 | identifier OPEN_PAREN_CHR argument_expression_list close_paren
|
||
17 | postfix_expression inc_op
|
||
18 | postfix_expression dec_op
|
||
|
||
19 argument_expression_list : assignment_expression
|
||
20 | argument_expression_list COMMA_CHR assignment_expression
|
||
|
||
21 unary_expression : postfix_expression
|
||
22 | inc_op unary_expression
|
||
23 | dec_op unary_expression
|
||
24 | unary_operator cast_expression
|
||
|
||
25 unary_operator : add_chr
|
||
26 | sub_chr
|
||
27 | bang_chr
|
||
28 | tilde_chr
|
||
|
||
29 add_chr : ADD_CHR
|
||
|
||
30 sub_chr : SUB_CHR
|
||
|
||
31 bang_chr : BANG_CHR
|
||
|
||
32 tilde_chr : TILDE_CHR
|
||
|
||
33 close_paren : CLOSE_PAREN_CHR
|
||
|
||
34 cast_expression : unary_expression
|
||
|
||
35 multiplicative_expression : cast_expression
|
||
36 | multiplicative_expression STAR_CHR cast_expression
|
||
37 | multiplicative_expression DIV_CHR cast_expression
|
||
38 | multiplicative_expression MOD_CHR cast_expression
|
||
|
||
39 additive_expression : multiplicative_expression
|
||
40 | additive_expression ADD_CHR multiplicative_expression
|
||
41 | additive_expression SUB_CHR multiplicative_expression
|
||
|
||
42 shift_expression : additive_expression
|
||
|
||
43 relational_expression : shift_expression
|
||
44 | relational_expression OPEN_ANGLE_CHR shift_expression
|
||
45 | relational_expression CLOSE_ANGLE_CHR shift_expression
|
||
46 | relational_expression LE_OP shift_expression
|
||
47 | relational_expression GE_OP shift_expression
|
||
|
||
48 equality_expression : relational_expression
|
||
49 | equality_expression EQ_OP relational_expression
|
||
50 | equality_expression NE_OP relational_expression
|
||
|
||
51 and_expression : equality_expression
|
||
|
||
52 exclusive_or_expression : and_expression
|
||
|
||
53 inclusive_or_expression : exclusive_or_expression
|
||
|
||
54 logical_and_expression : inclusive_or_expression
|
||
55 | logical_and_expression AND_OP inclusive_or_expression
|
||
|
||
56 logical_or_expression : logical_and_expression
|
||
57 | logical_or_expression OR_OP logical_and_expression
|
||
|
||
58 conditional_expression : logical_or_expression
|
||
59 | logical_or_expression QUES_CHR expression COLON_CHR conditional_expression
|
||
|
||
60 assignment_expression : conditional_expression
|
||
61 | unary_expression EQ_CHR assignment_expression
|
||
|
||
62 expression : assignment_expression
|
||
63 | expression COMMA_CHR assignment_expression
|
||
|
||
64 declaration : type_specifier optional_init_declarator_list SEMI_CHR
|
||
|
||
65 optional_init_declarator_list :
|
||
66 | init_declarator_list
|
||
|
||
67 init_declarator_list : init_declarator
|
||
68 | init_declarator_list COMMA_CHR init_declarator
|
||
|
||
69 init_declarator : declarator
|
||
|
||
70 declarator : identifier
|
||
|
||
71 type_specifier : INTEGER
|
||
72 | CHAR STAR_CHR
|
||
73 | type_specifier STAR_CHR
|
||
|
||
74 close_bracket : CLOSE_BRACKET_CHR
|
||
|
||
75 statement : compound_statement
|
||
76 | expression_statement
|
||
77 | selection_statement
|
||
78 | iteration_statement
|
||
79 | jump_statement
|
||
|
||
80 open_block : open_brace
|
||
|
||
81 close_block : close_brace
|
||
|
||
82 compound_statement : open_block close_block
|
||
83 | open_block statement_list close_block
|
||
84 | open_block declaration_list close_block
|
||
85 | open_block declaration_list statement_list close_block
|
||
|
||
86 declaration_list : declaration
|
||
87 | declaration_list declaration
|
||
|
||
88 statement_list : statement
|
||
89 | statement_list statement
|
||
|
||
90 expression_statement : semi_chr
|
||
91 | expression SEMI_CHR
|
||
|
||
92 semi_chr : SEMI_CHR
|
||
|
||
93 ifkw : IF
|
||
|
||
94 selection_statement : ifkw OPEN_PAREN_CHR expression CLOSE_PAREN_CHR statement
|
||
95 | ifkw OPEN_PAREN_CHR expression CLOSE_PAREN_CHR statement ELSE statement
|
||
|
||
96 whilekw : WHILE
|
||
|
||
97 forkw : FOR
|
||
|
||
98 iteration_statement : whilekw OPEN_PAREN_CHR expression close_paren statement
|
||
99 | forkw OPEN_PAREN_CHR expression_statement expression_statement close_paren statement
|
||
100 | forkw OPEN_PAREN_CHR expression_statement expression_statement expression close_paren statement
|
||
|
||
101 return : RETURN
|
||
|
||
102 jump_statement : return SEMI_CHR
|
||
103 | return expression SEMI_CHR
|
||
|
||
104 translation_unit : external_declaration
|
||
105 | translation_unit external_declaration
|
||
106 | EOF
|
||
|
||
107 external_declaration : function_definition
|
||
108 | declaration
|
||
|
||
109 parameter_declaration : type_specifier declarator
|
||
|
||
110 parameter_list : parameter_declaration
|
||
111 | parameter_list COMMA_CHR parameter_declaration
|
||
|
||
112 parameter_type_list : parameter_list
|
||
113 | parameter_list COMMA_CHR ELLIPSIS
|
||
|
||
114 parameter_declarator : OPEN_PAREN_CHR CLOSE_PAREN_CHR
|
||
115 | OPEN_PAREN_CHR parameter_type_list CLOSE_PAREN_CHR
|
||
|
||
116 function_declarator : type_specifier identifier parameter_declarator
|
||
|
||
117 function_definition : function_declarator compound_statement
|
||
|
||
118 %entry% : '\001' translation_unit
|
||
|
||
state 0
|
||
$accept : . %entry% $end (0)
|
||
|
||
'\001' shift 1
|
||
. error
|
||
|
||
%entry% goto 2
|
||
|
||
|
||
state 1
|
||
%entry% : '\001' . translation_unit (118)
|
||
|
||
CHAR shift 3
|
||
INTEGER shift 4
|
||
EOF shift 5
|
||
. error
|
||
|
||
translation_unit goto 6
|
||
declaration goto 7
|
||
type_specifier goto 8
|
||
external_declaration goto 9
|
||
function_definition goto 10
|
||
function_declarator goto 11
|
||
|
||
|
||
state 2
|
||
$accept : %entry% . $end (0)
|
||
|
||
$end accept
|
||
|
||
|
||
state 3
|
||
type_specifier : CHAR . STAR_CHR (72)
|
||
|
||
STAR_CHR shift 12
|
||
. error
|
||
|
||
|
||
state 4
|
||
type_specifier : INTEGER . (71)
|
||
|
||
. reduce 71
|
||
|
||
|
||
state 5
|
||
translation_unit : EOF . (106)
|
||
|
||
. reduce 106
|
||
|
||
|
||
state 6
|
||
translation_unit : translation_unit . external_declaration (105)
|
||
%entry% : '\001' translation_unit . (118)
|
||
|
||
CHAR shift 3
|
||
INTEGER shift 4
|
||
$end reduce 118
|
||
|
||
declaration goto 7
|
||
type_specifier goto 8
|
||
external_declaration goto 13
|
||
function_definition goto 10
|
||
function_declarator goto 11
|
||
|
||
|
||
state 7
|
||
external_declaration : declaration . (108)
|
||
|
||
. reduce 108
|
||
|
||
|
||
state 8
|
||
declaration : type_specifier . optional_init_declarator_list SEMI_CHR (64)
|
||
type_specifier : type_specifier . STAR_CHR (73)
|
||
function_declarator : type_specifier . identifier parameter_declarator (116)
|
||
optional_init_declarator_list : . (65)
|
||
|
||
IDENTIFIER shift 14
|
||
STAR_CHR shift 15
|
||
SEMI_CHR reduce 65
|
||
|
||
identifier goto 16
|
||
optional_init_declarator_list goto 17
|
||
init_declarator_list goto 18
|
||
init_declarator goto 19
|
||
declarator goto 20
|
||
|
||
|
||
state 9
|
||
translation_unit : external_declaration . (104)
|
||
|
||
. reduce 104
|
||
|
||
|
||
state 10
|
||
external_declaration : function_definition . (107)
|
||
|
||
. reduce 107
|
||
|
||
|
||
state 11
|
||
function_definition : function_declarator . compound_statement (117)
|
||
|
||
OPEN_BRACE_CHR shift 21
|
||
. error
|
||
|
||
open_brace goto 22
|
||
compound_statement goto 23
|
||
open_block goto 24
|
||
|
||
|
||
state 12
|
||
type_specifier : CHAR STAR_CHR . (72)
|
||
|
||
. reduce 72
|
||
|
||
|
||
state 13
|
||
translation_unit : translation_unit external_declaration . (105)
|
||
|
||
. reduce 105
|
||
|
||
|
||
state 14
|
||
identifier : IDENTIFIER . (6)
|
||
|
||
. reduce 6
|
||
|
||
|
||
state 15
|
||
type_specifier : type_specifier STAR_CHR . (73)
|
||
|
||
. reduce 73
|
||
|
||
|
||
state 16
|
||
declarator : identifier . (70)
|
||
function_declarator : type_specifier identifier . parameter_declarator (116)
|
||
|
||
OPEN_PAREN_CHR shift 25
|
||
SEMI_CHR reduce 70
|
||
COMMA_CHR reduce 70
|
||
|
||
parameter_declarator goto 26
|
||
|
||
|
||
state 17
|
||
declaration : type_specifier optional_init_declarator_list . SEMI_CHR (64)
|
||
|
||
SEMI_CHR shift 27
|
||
. error
|
||
|
||
|
||
state 18
|
||
optional_init_declarator_list : init_declarator_list . (66)
|
||
init_declarator_list : init_declarator_list . COMMA_CHR init_declarator (68)
|
||
|
||
COMMA_CHR shift 28
|
||
SEMI_CHR reduce 66
|
||
|
||
|
||
state 19
|
||
init_declarator_list : init_declarator . (67)
|
||
|
||
. reduce 67
|
||
|
||
|
||
state 20
|
||
init_declarator : declarator . (69)
|
||
|
||
. reduce 69
|
||
|
||
|
||
state 21
|
||
open_brace : OPEN_BRACE_CHR . (7)
|
||
|
||
. reduce 7
|
||
|
||
|
||
state 22
|
||
open_block : open_brace . (80)
|
||
|
||
. reduce 80
|
||
|
||
|
||
state 23
|
||
function_definition : function_declarator compound_statement . (117)
|
||
|
||
. reduce 117
|
||
|
||
|
||
state 24
|
||
compound_statement : open_block . close_block (82)
|
||
compound_statement : open_block . statement_list close_block (83)
|
||
compound_statement : open_block . declaration_list close_block (84)
|
||
compound_statement : open_block . declaration_list statement_list close_block (85)
|
||
|
||
IDENTIFIER shift 14
|
||
CONSTANT shift 29
|
||
STRING_LITERAL shift 30
|
||
INC_OP shift 31
|
||
DEC_OP shift 32
|
||
SEMI_CHR shift 33
|
||
OPEN_BRACE_CHR shift 21
|
||
CLOSE_BRACE_CHR shift 34
|
||
OPEN_PAREN_CHR shift 35
|
||
BANG_CHR shift 36
|
||
TILDE_CHR shift 37
|
||
ADD_CHR shift 38
|
||
SUB_CHR shift 39
|
||
CHAR shift 3
|
||
INTEGER shift 4
|
||
IF shift 40
|
||
WHILE shift 41
|
||
FOR shift 42
|
||
RETURN shift 43
|
||
. error
|
||
|
||
primary_expression goto 44
|
||
identifier goto 45
|
||
constant goto 46
|
||
string_literal goto 47
|
||
expression goto 48
|
||
open_brace goto 22
|
||
close_brace goto 49
|
||
inc_op goto 50
|
||
dec_op goto 51
|
||
postfix_expression goto 52
|
||
assignment_expression goto 53
|
||
unary_expression goto 54
|
||
unary_operator goto 55
|
||
cast_expression goto 56
|
||
add_chr goto 57
|
||
sub_chr goto 58
|
||
bang_chr goto 59
|
||
tilde_chr goto 60
|
||
multiplicative_expression goto 61
|
||
additive_expression goto 62
|
||
shift_expression goto 63
|
||
relational_expression goto 64
|
||
equality_expression goto 65
|
||
and_expression goto 66
|
||
exclusive_or_expression goto 67
|
||
inclusive_or_expression goto 68
|
||
logical_and_expression goto 69
|
||
logical_or_expression goto 70
|
||
conditional_expression goto 71
|
||
declaration goto 72
|
||
type_specifier goto 73
|
||
statement goto 74
|
||
compound_statement goto 75
|
||
expression_statement goto 76
|
||
selection_statement goto 77
|
||
iteration_statement goto 78
|
||
jump_statement goto 79
|
||
open_block goto 24
|
||
close_block goto 80
|
||
statement_list goto 81
|
||
declaration_list goto 82
|
||
semi_chr goto 83
|
||
ifkw goto 84
|
||
whilekw goto 85
|
||
forkw goto 86
|
||
return goto 87
|
||
|
||
|
||
state 25
|
||
parameter_declarator : OPEN_PAREN_CHR . CLOSE_PAREN_CHR (114)
|
||
parameter_declarator : OPEN_PAREN_CHR . parameter_type_list CLOSE_PAREN_CHR (115)
|
||
|
||
CLOSE_PAREN_CHR shift 88
|
||
CHAR shift 3
|
||
INTEGER shift 4
|
||
. error
|
||
|
||
type_specifier goto 89
|
||
parameter_declaration goto 90
|
||
parameter_list goto 91
|
||
parameter_type_list goto 92
|
||
|
||
|
||
state 26
|
||
function_declarator : type_specifier identifier parameter_declarator . (116)
|
||
|
||
. reduce 116
|
||
|
||
|
||
state 27
|
||
declaration : type_specifier optional_init_declarator_list SEMI_CHR . (64)
|
||
|
||
. reduce 64
|
||
|
||
|
||
state 28
|
||
init_declarator_list : init_declarator_list COMMA_CHR . init_declarator (68)
|
||
|
||
IDENTIFIER shift 14
|
||
. error
|
||
|
||
identifier goto 93
|
||
init_declarator goto 94
|
||
declarator goto 20
|
||
|
||
|
||
state 29
|
||
constant : CONSTANT . (5)
|
||
|
||
. reduce 5
|
||
|
||
|
||
state 30
|
||
string_literal : STRING_LITERAL . (9)
|
||
string_literal : STRING_LITERAL . string_literal (10)
|
||
|
||
STRING_LITERAL shift 30
|
||
INC_OP reduce 9
|
||
DEC_OP reduce 9
|
||
LE_OP reduce 9
|
||
GE_OP reduce 9
|
||
EQ_OP reduce 9
|
||
NE_OP reduce 9
|
||
AND_OP reduce 9
|
||
OR_OP reduce 9
|
||
SEMI_CHR reduce 9
|
||
COMMA_CHR reduce 9
|
||
COLON_CHR reduce 9
|
||
EQ_CHR reduce 9
|
||
CLOSE_PAREN_CHR reduce 9
|
||
OPEN_BRACKET_CHR reduce 9
|
||
CLOSE_BRACKET_CHR reduce 9
|
||
ADD_CHR reduce 9
|
||
SUB_CHR reduce 9
|
||
STAR_CHR reduce 9
|
||
DIV_CHR reduce 9
|
||
MOD_CHR reduce 9
|
||
OPEN_ANGLE_CHR reduce 9
|
||
CLOSE_ANGLE_CHR reduce 9
|
||
QUES_CHR reduce 9
|
||
|
||
string_literal goto 95
|
||
|
||
|
||
state 31
|
||
inc_op : INC_OP . (11)
|
||
|
||
. reduce 11
|
||
|
||
|
||
state 32
|
||
dec_op : DEC_OP . (12)
|
||
|
||
. reduce 12
|
||
|
||
|
||
state 33
|
||
semi_chr : SEMI_CHR . (92)
|
||
|
||
. reduce 92
|
||
|
||
|
||
state 34
|
||
close_brace : CLOSE_BRACE_CHR . (8)
|
||
|
||
. reduce 8
|
||
|
||
|
||
state 35
|
||
primary_expression : OPEN_PAREN_CHR . expression CLOSE_PAREN_CHR (4)
|
||
|
||
IDENTIFIER shift 14
|
||
CONSTANT shift 29
|
||
STRING_LITERAL shift 30
|
||
INC_OP shift 31
|
||
DEC_OP shift 32
|
||
OPEN_PAREN_CHR shift 35
|
||
BANG_CHR shift 36
|
||
TILDE_CHR shift 37
|
||
ADD_CHR shift 38
|
||
SUB_CHR shift 39
|
||
. error
|
||
|
||
primary_expression goto 44
|
||
identifier goto 45
|
||
constant goto 46
|
||
string_literal goto 47
|
||
expression goto 96
|
||
inc_op goto 50
|
||
dec_op goto 51
|
||
postfix_expression goto 52
|
||
assignment_expression goto 53
|
||
unary_expression goto 54
|
||
unary_operator goto 55
|
||
cast_expression goto 56
|
||
add_chr goto 57
|
||
sub_chr goto 58
|
||
bang_chr goto 59
|
||
tilde_chr goto 60
|
||
multiplicative_expression goto 61
|
||
additive_expression goto 62
|
||
shift_expression goto 63
|
||
relational_expression goto 64
|
||
equality_expression goto 65
|
||
and_expression goto 66
|
||
exclusive_or_expression goto 67
|
||
inclusive_or_expression goto 68
|
||
logical_and_expression goto 69
|
||
logical_or_expression goto 70
|
||
conditional_expression goto 71
|
||
|
||
|
||
state 36
|
||
bang_chr : BANG_CHR . (31)
|
||
|
||
. reduce 31
|
||
|
||
|
||
state 37
|
||
tilde_chr : TILDE_CHR . (32)
|
||
|
||
. reduce 32
|
||
|
||
|
||
state 38
|
||
add_chr : ADD_CHR . (29)
|
||
|
||
. reduce 29
|
||
|
||
|
||
state 39
|
||
sub_chr : SUB_CHR . (30)
|
||
|
||
. reduce 30
|
||
|
||
|
||
state 40
|
||
ifkw : IF . (93)
|
||
|
||
. reduce 93
|
||
|
||
|
||
state 41
|
||
whilekw : WHILE . (96)
|
||
|
||
. reduce 96
|
||
|
||
|
||
state 42
|
||
forkw : FOR . (97)
|
||
|
||
. reduce 97
|
||
|
||
|
||
state 43
|
||
return : RETURN . (101)
|
||
|
||
. reduce 101
|
||
|
||
|
||
state 44
|
||
postfix_expression : primary_expression . (13)
|
||
|
||
. reduce 13
|
||
|
||
|
||
state 45
|
||
primary_expression : identifier . (1)
|
||
postfix_expression : identifier . OPEN_PAREN_CHR close_paren (15)
|
||
postfix_expression : identifier . OPEN_PAREN_CHR argument_expression_list close_paren (16)
|
||
|
||
OPEN_PAREN_CHR shift 97
|
||
INC_OP reduce 1
|
||
DEC_OP reduce 1
|
||
LE_OP reduce 1
|
||
GE_OP reduce 1
|
||
EQ_OP reduce 1
|
||
NE_OP reduce 1
|
||
AND_OP reduce 1
|
||
OR_OP reduce 1
|
||
SEMI_CHR reduce 1
|
||
COMMA_CHR reduce 1
|
||
COLON_CHR reduce 1
|
||
EQ_CHR reduce 1
|
||
CLOSE_PAREN_CHR reduce 1
|
||
OPEN_BRACKET_CHR reduce 1
|
||
CLOSE_BRACKET_CHR reduce 1
|
||
ADD_CHR reduce 1
|
||
SUB_CHR reduce 1
|
||
STAR_CHR reduce 1
|
||
DIV_CHR reduce 1
|
||
MOD_CHR reduce 1
|
||
OPEN_ANGLE_CHR reduce 1
|
||
CLOSE_ANGLE_CHR reduce 1
|
||
QUES_CHR reduce 1
|
||
|
||
|
||
state 46
|
||
primary_expression : constant . (2)
|
||
|
||
. reduce 2
|
||
|
||
|
||
state 47
|
||
primary_expression : string_literal . (3)
|
||
|
||
. reduce 3
|
||
|
||
|
||
state 48
|
||
expression : expression . COMMA_CHR assignment_expression (63)
|
||
expression_statement : expression . SEMI_CHR (91)
|
||
|
||
SEMI_CHR shift 98
|
||
COMMA_CHR shift 99
|
||
. error
|
||
|
||
|
||
state 49
|
||
close_block : close_brace . (81)
|
||
|
||
. reduce 81
|
||
|
||
|
||
state 50
|
||
unary_expression : inc_op . unary_expression (22)
|
||
|
||
IDENTIFIER shift 14
|
||
CONSTANT shift 29
|
||
STRING_LITERAL shift 30
|
||
INC_OP shift 31
|
||
DEC_OP shift 32
|
||
OPEN_PAREN_CHR shift 35
|
||
BANG_CHR shift 36
|
||
TILDE_CHR shift 37
|
||
ADD_CHR shift 38
|
||
SUB_CHR shift 39
|
||
. error
|
||
|
||
primary_expression goto 44
|
||
identifier goto 45
|
||
constant goto 46
|
||
string_literal goto 47
|
||
inc_op goto 50
|
||
dec_op goto 51
|
||
postfix_expression goto 52
|
||
unary_expression goto 100
|
||
unary_operator goto 55
|
||
add_chr goto 57
|
||
sub_chr goto 58
|
||
bang_chr goto 59
|
||
tilde_chr goto 60
|
||
|
||
|
||
state 51
|
||
unary_expression : dec_op . unary_expression (23)
|
||
|
||
IDENTIFIER shift 14
|
||
CONSTANT shift 29
|
||
STRING_LITERAL shift 30
|
||
INC_OP shift 31
|
||
DEC_OP shift 32
|
||
OPEN_PAREN_CHR shift 35
|
||
BANG_CHR shift 36
|
||
TILDE_CHR shift 37
|
||
ADD_CHR shift 38
|
||
SUB_CHR shift 39
|
||
. error
|
||
|
||
primary_expression goto 44
|
||
identifier goto 45
|
||
constant goto 46
|
||
string_literal goto 47
|
||
inc_op goto 50
|
||
dec_op goto 51
|
||
postfix_expression goto 52
|
||
unary_expression goto 101
|
||
unary_operator goto 55
|
||
add_chr goto 57
|
||
sub_chr goto 58
|
||
bang_chr goto 59
|
||
tilde_chr goto 60
|
||
|
||
|
||
state 52
|
||
postfix_expression : postfix_expression . OPEN_BRACKET_CHR expression close_bracket (14)
|
||
postfix_expression : postfix_expression . inc_op (17)
|
||
postfix_expression : postfix_expression . dec_op (18)
|
||
unary_expression : postfix_expression . (21)
|
||
|
||
INC_OP shift 31
|
||
DEC_OP shift 32
|
||
OPEN_BRACKET_CHR shift 102
|
||
LE_OP reduce 21
|
||
GE_OP reduce 21
|
||
EQ_OP reduce 21
|
||
NE_OP reduce 21
|
||
AND_OP reduce 21
|
||
OR_OP reduce 21
|
||
SEMI_CHR reduce 21
|
||
COMMA_CHR reduce 21
|
||
COLON_CHR reduce 21
|
||
EQ_CHR reduce 21
|
||
CLOSE_PAREN_CHR reduce 21
|
||
CLOSE_BRACKET_CHR reduce 21
|
||
ADD_CHR reduce 21
|
||
SUB_CHR reduce 21
|
||
STAR_CHR reduce 21
|
||
DIV_CHR reduce 21
|
||
MOD_CHR reduce 21
|
||
OPEN_ANGLE_CHR reduce 21
|
||
CLOSE_ANGLE_CHR reduce 21
|
||
QUES_CHR reduce 21
|
||
|
||
inc_op goto 103
|
||
dec_op goto 104
|
||
|
||
|
||
state 53
|
||
expression : assignment_expression . (62)
|
||
|
||
. reduce 62
|
||
|
||
|
||
state 54
|
||
cast_expression : unary_expression . (34)
|
||
assignment_expression : unary_expression . EQ_CHR assignment_expression (61)
|
||
|
||
EQ_CHR shift 105
|
||
LE_OP reduce 34
|
||
GE_OP reduce 34
|
||
EQ_OP reduce 34
|
||
NE_OP reduce 34
|
||
AND_OP reduce 34
|
||
OR_OP reduce 34
|
||
SEMI_CHR reduce 34
|
||
COMMA_CHR reduce 34
|
||
COLON_CHR reduce 34
|
||
CLOSE_PAREN_CHR reduce 34
|
||
CLOSE_BRACKET_CHR reduce 34
|
||
ADD_CHR reduce 34
|
||
SUB_CHR reduce 34
|
||
STAR_CHR reduce 34
|
||
DIV_CHR reduce 34
|
||
MOD_CHR reduce 34
|
||
OPEN_ANGLE_CHR reduce 34
|
||
CLOSE_ANGLE_CHR reduce 34
|
||
QUES_CHR reduce 34
|
||
|
||
|
||
state 55
|
||
unary_expression : unary_operator . cast_expression (24)
|
||
|
||
IDENTIFIER shift 14
|
||
CONSTANT shift 29
|
||
STRING_LITERAL shift 30
|
||
INC_OP shift 31
|
||
DEC_OP shift 32
|
||
OPEN_PAREN_CHR shift 35
|
||
BANG_CHR shift 36
|
||
TILDE_CHR shift 37
|
||
ADD_CHR shift 38
|
||
SUB_CHR shift 39
|
||
. error
|
||
|
||
primary_expression goto 44
|
||
identifier goto 45
|
||
constant goto 46
|
||
string_literal goto 47
|
||
inc_op goto 50
|
||
dec_op goto 51
|
||
postfix_expression goto 52
|
||
unary_expression goto 106
|
||
unary_operator goto 55
|
||
cast_expression goto 107
|
||
add_chr goto 57
|
||
sub_chr goto 58
|
||
bang_chr goto 59
|
||
tilde_chr goto 60
|
||
|
||
|
||
state 56
|
||
multiplicative_expression : cast_expression . (35)
|
||
|
||
. reduce 35
|
||
|
||
|
||
state 57
|
||
unary_operator : add_chr . (25)
|
||
|
||
. reduce 25
|
||
|
||
|
||
state 58
|
||
unary_operator : sub_chr . (26)
|
||
|
||
. reduce 26
|
||
|
||
|
||
state 59
|
||
unary_operator : bang_chr . (27)
|
||
|
||
. reduce 27
|
||
|
||
|
||
state 60
|
||
unary_operator : tilde_chr . (28)
|
||
|
||
. reduce 28
|
||
|
||
|
||
state 61
|
||
multiplicative_expression : multiplicative_expression . STAR_CHR cast_expression (36)
|
||
multiplicative_expression : multiplicative_expression . DIV_CHR cast_expression (37)
|
||
multiplicative_expression : multiplicative_expression . MOD_CHR cast_expression (38)
|
||
additive_expression : multiplicative_expression . (39)
|
||
|
||
STAR_CHR shift 108
|
||
DIV_CHR shift 109
|
||
MOD_CHR shift 110
|
||
LE_OP reduce 39
|
||
GE_OP reduce 39
|
||
EQ_OP reduce 39
|
||
NE_OP reduce 39
|
||
AND_OP reduce 39
|
||
OR_OP reduce 39
|
||
SEMI_CHR reduce 39
|
||
COMMA_CHR reduce 39
|
||
COLON_CHR reduce 39
|
||
CLOSE_PAREN_CHR reduce 39
|
||
CLOSE_BRACKET_CHR reduce 39
|
||
ADD_CHR reduce 39
|
||
SUB_CHR reduce 39
|
||
OPEN_ANGLE_CHR reduce 39
|
||
CLOSE_ANGLE_CHR reduce 39
|
||
QUES_CHR reduce 39
|
||
|
||
|
||
state 62
|
||
additive_expression : additive_expression . ADD_CHR multiplicative_expression (40)
|
||
additive_expression : additive_expression . SUB_CHR multiplicative_expression (41)
|
||
shift_expression : additive_expression . (42)
|
||
|
||
ADD_CHR shift 111
|
||
SUB_CHR shift 112
|
||
LE_OP reduce 42
|
||
GE_OP reduce 42
|
||
EQ_OP reduce 42
|
||
NE_OP reduce 42
|
||
AND_OP reduce 42
|
||
OR_OP reduce 42
|
||
SEMI_CHR reduce 42
|
||
COMMA_CHR reduce 42
|
||
COLON_CHR reduce 42
|
||
CLOSE_PAREN_CHR reduce 42
|
||
CLOSE_BRACKET_CHR reduce 42
|
||
OPEN_ANGLE_CHR reduce 42
|
||
CLOSE_ANGLE_CHR reduce 42
|
||
QUES_CHR reduce 42
|
||
|
||
|
||
state 63
|
||
relational_expression : shift_expression . (43)
|
||
|
||
. reduce 43
|
||
|
||
|
||
state 64
|
||
relational_expression : relational_expression . OPEN_ANGLE_CHR shift_expression (44)
|
||
relational_expression : relational_expression . CLOSE_ANGLE_CHR shift_expression (45)
|
||
relational_expression : relational_expression . LE_OP shift_expression (46)
|
||
relational_expression : relational_expression . GE_OP shift_expression (47)
|
||
equality_expression : relational_expression . (48)
|
||
|
||
LE_OP shift 113
|
||
GE_OP shift 114
|
||
OPEN_ANGLE_CHR shift 115
|
||
CLOSE_ANGLE_CHR shift 116
|
||
EQ_OP reduce 48
|
||
NE_OP reduce 48
|
||
AND_OP reduce 48
|
||
OR_OP reduce 48
|
||
SEMI_CHR reduce 48
|
||
COMMA_CHR reduce 48
|
||
COLON_CHR reduce 48
|
||
CLOSE_PAREN_CHR reduce 48
|
||
CLOSE_BRACKET_CHR reduce 48
|
||
QUES_CHR reduce 48
|
||
|
||
|
||
state 65
|
||
equality_expression : equality_expression . EQ_OP relational_expression (49)
|
||
equality_expression : equality_expression . NE_OP relational_expression (50)
|
||
and_expression : equality_expression . (51)
|
||
|
||
EQ_OP shift 117
|
||
NE_OP shift 118
|
||
AND_OP reduce 51
|
||
OR_OP reduce 51
|
||
SEMI_CHR reduce 51
|
||
COMMA_CHR reduce 51
|
||
COLON_CHR reduce 51
|
||
CLOSE_PAREN_CHR reduce 51
|
||
CLOSE_BRACKET_CHR reduce 51
|
||
QUES_CHR reduce 51
|
||
|
||
|
||
state 66
|
||
exclusive_or_expression : and_expression . (52)
|
||
|
||
. reduce 52
|
||
|
||
|
||
state 67
|
||
inclusive_or_expression : exclusive_or_expression . (53)
|
||
|
||
. reduce 53
|
||
|
||
|
||
state 68
|
||
logical_and_expression : inclusive_or_expression . (54)
|
||
|
||
. reduce 54
|
||
|
||
|
||
state 69
|
||
logical_and_expression : logical_and_expression . AND_OP inclusive_or_expression (55)
|
||
logical_or_expression : logical_and_expression . (56)
|
||
|
||
AND_OP shift 119
|
||
OR_OP reduce 56
|
||
SEMI_CHR reduce 56
|
||
COMMA_CHR reduce 56
|
||
COLON_CHR reduce 56
|
||
CLOSE_PAREN_CHR reduce 56
|
||
CLOSE_BRACKET_CHR reduce 56
|
||
QUES_CHR reduce 56
|
||
|
||
|
||
state 70
|
||
logical_or_expression : logical_or_expression . OR_OP logical_and_expression (57)
|
||
conditional_expression : logical_or_expression . (58)
|
||
conditional_expression : logical_or_expression . QUES_CHR expression COLON_CHR conditional_expression (59)
|
||
|
||
OR_OP shift 120
|
||
QUES_CHR shift 121
|
||
SEMI_CHR reduce 58
|
||
COMMA_CHR reduce 58
|
||
COLON_CHR reduce 58
|
||
CLOSE_PAREN_CHR reduce 58
|
||
CLOSE_BRACKET_CHR reduce 58
|
||
|
||
|
||
state 71
|
||
assignment_expression : conditional_expression . (60)
|
||
|
||
. reduce 60
|
||
|
||
|
||
state 72
|
||
declaration_list : declaration . (86)
|
||
|
||
. reduce 86
|
||
|
||
|
||
state 73
|
||
declaration : type_specifier . optional_init_declarator_list SEMI_CHR (64)
|
||
type_specifier : type_specifier . STAR_CHR (73)
|
||
optional_init_declarator_list : . (65)
|
||
|
||
IDENTIFIER shift 14
|
||
STAR_CHR shift 15
|
||
SEMI_CHR reduce 65
|
||
|
||
identifier goto 93
|
||
optional_init_declarator_list goto 17
|
||
init_declarator_list goto 18
|
||
init_declarator goto 19
|
||
declarator goto 20
|
||
|
||
|
||
state 74
|
||
statement_list : statement . (88)
|
||
|
||
. reduce 88
|
||
|
||
|
||
state 75
|
||
statement : compound_statement . (75)
|
||
|
||
. reduce 75
|
||
|
||
|
||
state 76
|
||
statement : expression_statement . (76)
|
||
|
||
. reduce 76
|
||
|
||
|
||
state 77
|
||
statement : selection_statement . (77)
|
||
|
||
. reduce 77
|
||
|
||
|
||
state 78
|
||
statement : iteration_statement . (78)
|
||
|
||
. reduce 78
|
||
|
||
|
||
state 79
|
||
statement : jump_statement . (79)
|
||
|
||
. reduce 79
|
||
|
||
|
||
state 80
|
||
compound_statement : open_block close_block . (82)
|
||
|
||
. reduce 82
|
||
|
||
|
||
state 81
|
||
compound_statement : open_block statement_list . close_block (83)
|
||
statement_list : statement_list . statement (89)
|
||
|
||
IDENTIFIER shift 14
|
||
CONSTANT shift 29
|
||
STRING_LITERAL shift 30
|
||
INC_OP shift 31
|
||
DEC_OP shift 32
|
||
SEMI_CHR shift 33
|
||
OPEN_BRACE_CHR shift 21
|
||
CLOSE_BRACE_CHR shift 34
|
||
OPEN_PAREN_CHR shift 35
|
||
BANG_CHR shift 36
|
||
TILDE_CHR shift 37
|
||
ADD_CHR shift 38
|
||
SUB_CHR shift 39
|
||
IF shift 40
|
||
WHILE shift 41
|
||
FOR shift 42
|
||
RETURN shift 43
|
||
. error
|
||
|
||
primary_expression goto 44
|
||
identifier goto 45
|
||
constant goto 46
|
||
string_literal goto 47
|
||
expression goto 48
|
||
open_brace goto 22
|
||
close_brace goto 49
|
||
inc_op goto 50
|
||
dec_op goto 51
|
||
postfix_expression goto 52
|
||
assignment_expression goto 53
|
||
unary_expression goto 54
|
||
unary_operator goto 55
|
||
cast_expression goto 56
|
||
add_chr goto 57
|
||
sub_chr goto 58
|
||
bang_chr goto 59
|
||
tilde_chr goto 60
|
||
multiplicative_expression goto 61
|
||
additive_expression goto 62
|
||
shift_expression goto 63
|
||
relational_expression goto 64
|
||
equality_expression goto 65
|
||
and_expression goto 66
|
||
exclusive_or_expression goto 67
|
||
inclusive_or_expression goto 68
|
||
logical_and_expression goto 69
|
||
logical_or_expression goto 70
|
||
conditional_expression goto 71
|
||
statement goto 122
|
||
compound_statement goto 75
|
||
expression_statement goto 76
|
||
selection_statement goto 77
|
||
iteration_statement goto 78
|
||
jump_statement goto 79
|
||
open_block goto 24
|
||
close_block goto 123
|
||
semi_chr goto 83
|
||
ifkw goto 84
|
||
whilekw goto 85
|
||
forkw goto 86
|
||
return goto 87
|
||
|
||
|
||
state 82
|
||
compound_statement : open_block declaration_list . close_block (84)
|
||
compound_statement : open_block declaration_list . statement_list close_block (85)
|
||
declaration_list : declaration_list . declaration (87)
|
||
|
||
IDENTIFIER shift 14
|
||
CONSTANT shift 29
|
||
STRING_LITERAL shift 30
|
||
INC_OP shift 31
|
||
DEC_OP shift 32
|
||
SEMI_CHR shift 33
|
||
OPEN_BRACE_CHR shift 21
|
||
CLOSE_BRACE_CHR shift 34
|
||
OPEN_PAREN_CHR shift 35
|
||
BANG_CHR shift 36
|
||
TILDE_CHR shift 37
|
||
ADD_CHR shift 38
|
||
SUB_CHR shift 39
|
||
CHAR shift 3
|
||
INTEGER shift 4
|
||
IF shift 40
|
||
WHILE shift 41
|
||
FOR shift 42
|
||
RETURN shift 43
|
||
. error
|
||
|
||
primary_expression goto 44
|
||
identifier goto 45
|
||
constant goto 46
|
||
string_literal goto 47
|
||
expression goto 48
|
||
open_brace goto 22
|
||
close_brace goto 49
|
||
inc_op goto 50
|
||
dec_op goto 51
|
||
postfix_expression goto 52
|
||
assignment_expression goto 53
|
||
unary_expression goto 54
|
||
unary_operator goto 55
|
||
cast_expression goto 56
|
||
add_chr goto 57
|
||
sub_chr goto 58
|
||
bang_chr goto 59
|
||
tilde_chr goto 60
|
||
multiplicative_expression goto 61
|
||
additive_expression goto 62
|
||
shift_expression goto 63
|
||
relational_expression goto 64
|
||
equality_expression goto 65
|
||
and_expression goto 66
|
||
exclusive_or_expression goto 67
|
||
inclusive_or_expression goto 68
|
||
logical_and_expression goto 69
|
||
logical_or_expression goto 70
|
||
conditional_expression goto 71
|
||
declaration goto 124
|
||
type_specifier goto 73
|
||
statement goto 74
|
||
compound_statement goto 75
|
||
expression_statement goto 76
|
||
selection_statement goto 77
|
||
iteration_statement goto 78
|
||
jump_statement goto 79
|
||
open_block goto 24
|
||
close_block goto 125
|
||
statement_list goto 126
|
||
semi_chr goto 83
|
||
ifkw goto 84
|
||
whilekw goto 85
|
||
forkw goto 86
|
||
return goto 87
|
||
|
||
|
||
state 83
|
||
expression_statement : semi_chr . (90)
|
||
|
||
. reduce 90
|
||
|
||
|
||
state 84
|
||
selection_statement : ifkw . OPEN_PAREN_CHR expression CLOSE_PAREN_CHR statement (94)
|
||
selection_statement : ifkw . OPEN_PAREN_CHR expression CLOSE_PAREN_CHR statement ELSE statement (95)
|
||
|
||
OPEN_PAREN_CHR shift 127
|
||
. error
|
||
|
||
|
||
state 85
|
||
iteration_statement : whilekw . OPEN_PAREN_CHR expression close_paren statement (98)
|
||
|
||
OPEN_PAREN_CHR shift 128
|
||
. error
|
||
|
||
|
||
state 86
|
||
iteration_statement : forkw . OPEN_PAREN_CHR expression_statement expression_statement close_paren statement (99)
|
||
iteration_statement : forkw . OPEN_PAREN_CHR expression_statement expression_statement expression close_paren statement (100)
|
||
|
||
OPEN_PAREN_CHR shift 129
|
||
. error
|
||
|
||
|
||
state 87
|
||
jump_statement : return . SEMI_CHR (102)
|
||
jump_statement : return . expression SEMI_CHR (103)
|
||
|
||
IDENTIFIER shift 14
|
||
CONSTANT shift 29
|
||
STRING_LITERAL shift 30
|
||
INC_OP shift 31
|
||
DEC_OP shift 32
|
||
SEMI_CHR shift 130
|
||
OPEN_PAREN_CHR shift 35
|
||
BANG_CHR shift 36
|
||
TILDE_CHR shift 37
|
||
ADD_CHR shift 38
|
||
SUB_CHR shift 39
|
||
. error
|
||
|
||
primary_expression goto 44
|
||
identifier goto 45
|
||
constant goto 46
|
||
string_literal goto 47
|
||
expression goto 131
|
||
inc_op goto 50
|
||
dec_op goto 51
|
||
postfix_expression goto 52
|
||
assignment_expression goto 53
|
||
unary_expression goto 54
|
||
unary_operator goto 55
|
||
cast_expression goto 56
|
||
add_chr goto 57
|
||
sub_chr goto 58
|
||
bang_chr goto 59
|
||
tilde_chr goto 60
|
||
multiplicative_expression goto 61
|
||
additive_expression goto 62
|
||
shift_expression goto 63
|
||
relational_expression goto 64
|
||
equality_expression goto 65
|
||
and_expression goto 66
|
||
exclusive_or_expression goto 67
|
||
inclusive_or_expression goto 68
|
||
logical_and_expression goto 69
|
||
logical_or_expression goto 70
|
||
conditional_expression goto 71
|
||
|
||
|
||
state 88
|
||
parameter_declarator : OPEN_PAREN_CHR CLOSE_PAREN_CHR . (114)
|
||
|
||
. reduce 114
|
||
|
||
|
||
state 89
|
||
type_specifier : type_specifier . STAR_CHR (73)
|
||
parameter_declaration : type_specifier . declarator (109)
|
||
|
||
IDENTIFIER shift 14
|
||
STAR_CHR shift 15
|
||
. error
|
||
|
||
identifier goto 93
|
||
declarator goto 132
|
||
|
||
|
||
state 90
|
||
parameter_list : parameter_declaration . (110)
|
||
|
||
. reduce 110
|
||
|
||
|
||
state 91
|
||
parameter_list : parameter_list . COMMA_CHR parameter_declaration (111)
|
||
parameter_type_list : parameter_list . (112)
|
||
parameter_type_list : parameter_list . COMMA_CHR ELLIPSIS (113)
|
||
|
||
COMMA_CHR shift 133
|
||
CLOSE_PAREN_CHR reduce 112
|
||
|
||
|
||
state 92
|
||
parameter_declarator : OPEN_PAREN_CHR parameter_type_list . CLOSE_PAREN_CHR (115)
|
||
|
||
CLOSE_PAREN_CHR shift 134
|
||
. error
|
||
|
||
|
||
state 93
|
||
declarator : identifier . (70)
|
||
|
||
. reduce 70
|
||
|
||
|
||
state 94
|
||
init_declarator_list : init_declarator_list COMMA_CHR init_declarator . (68)
|
||
|
||
. reduce 68
|
||
|
||
|
||
state 95
|
||
string_literal : STRING_LITERAL string_literal . (10)
|
||
|
||
. reduce 10
|
||
|
||
|
||
state 96
|
||
primary_expression : OPEN_PAREN_CHR expression . CLOSE_PAREN_CHR (4)
|
||
expression : expression . COMMA_CHR assignment_expression (63)
|
||
|
||
COMMA_CHR shift 99
|
||
CLOSE_PAREN_CHR shift 135
|
||
. error
|
||
|
||
|
||
state 97
|
||
postfix_expression : identifier OPEN_PAREN_CHR . close_paren (15)
|
||
postfix_expression : identifier OPEN_PAREN_CHR . argument_expression_list close_paren (16)
|
||
|
||
IDENTIFIER shift 14
|
||
CONSTANT shift 29
|
||
STRING_LITERAL shift 30
|
||
INC_OP shift 31
|
||
DEC_OP shift 32
|
||
OPEN_PAREN_CHR shift 35
|
||
CLOSE_PAREN_CHR shift 136
|
||
BANG_CHR shift 36
|
||
TILDE_CHR shift 37
|
||
ADD_CHR shift 38
|
||
SUB_CHR shift 39
|
||
. error
|
||
|
||
primary_expression goto 44
|
||
identifier goto 45
|
||
constant goto 46
|
||
string_literal goto 47
|
||
inc_op goto 50
|
||
dec_op goto 51
|
||
postfix_expression goto 52
|
||
close_paren goto 137
|
||
argument_expression_list goto 138
|
||
assignment_expression goto 139
|
||
unary_expression goto 54
|
||
unary_operator goto 55
|
||
cast_expression goto 56
|
||
add_chr goto 57
|
||
sub_chr goto 58
|
||
bang_chr goto 59
|
||
tilde_chr goto 60
|
||
multiplicative_expression goto 61
|
||
additive_expression goto 62
|
||
shift_expression goto 63
|
||
relational_expression goto 64
|
||
equality_expression goto 65
|
||
and_expression goto 66
|
||
exclusive_or_expression goto 67
|
||
inclusive_or_expression goto 68
|
||
logical_and_expression goto 69
|
||
logical_or_expression goto 70
|
||
conditional_expression goto 71
|
||
|
||
|
||
state 98
|
||
expression_statement : expression SEMI_CHR . (91)
|
||
|
||
. reduce 91
|
||
|
||
|
||
state 99
|
||
expression : expression COMMA_CHR . assignment_expression (63)
|
||
|
||
IDENTIFIER shift 14
|
||
CONSTANT shift 29
|
||
STRING_LITERAL shift 30
|
||
INC_OP shift 31
|
||
DEC_OP shift 32
|
||
OPEN_PAREN_CHR shift 35
|
||
BANG_CHR shift 36
|
||
TILDE_CHR shift 37
|
||
ADD_CHR shift 38
|
||
SUB_CHR shift 39
|
||
. error
|
||
|
||
primary_expression goto 44
|
||
identifier goto 45
|
||
constant goto 46
|
||
string_literal goto 47
|
||
inc_op goto 50
|
||
dec_op goto 51
|
||
postfix_expression goto 52
|
||
assignment_expression goto 140
|
||
unary_expression goto 54
|
||
unary_operator goto 55
|
||
cast_expression goto 56
|
||
add_chr goto 57
|
||
sub_chr goto 58
|
||
bang_chr goto 59
|
||
tilde_chr goto 60
|
||
multiplicative_expression goto 61
|
||
additive_expression goto 62
|
||
shift_expression goto 63
|
||
relational_expression goto 64
|
||
equality_expression goto 65
|
||
and_expression goto 66
|
||
exclusive_or_expression goto 67
|
||
inclusive_or_expression goto 68
|
||
logical_and_expression goto 69
|
||
logical_or_expression goto 70
|
||
conditional_expression goto 71
|
||
|
||
|
||
state 100
|
||
unary_expression : inc_op unary_expression . (22)
|
||
|
||
. reduce 22
|
||
|
||
|
||
state 101
|
||
unary_expression : dec_op unary_expression . (23)
|
||
|
||
. reduce 23
|
||
|
||
|
||
state 102
|
||
postfix_expression : postfix_expression OPEN_BRACKET_CHR . expression close_bracket (14)
|
||
|
||
IDENTIFIER shift 14
|
||
CONSTANT shift 29
|
||
STRING_LITERAL shift 30
|
||
INC_OP shift 31
|
||
DEC_OP shift 32
|
||
OPEN_PAREN_CHR shift 35
|
||
BANG_CHR shift 36
|
||
TILDE_CHR shift 37
|
||
ADD_CHR shift 38
|
||
SUB_CHR shift 39
|
||
. error
|
||
|
||
primary_expression goto 44
|
||
identifier goto 45
|
||
constant goto 46
|
||
string_literal goto 47
|
||
expression goto 141
|
||
inc_op goto 50
|
||
dec_op goto 51
|
||
postfix_expression goto 52
|
||
assignment_expression goto 53
|
||
unary_expression goto 54
|
||
unary_operator goto 55
|
||
cast_expression goto 56
|
||
add_chr goto 57
|
||
sub_chr goto 58
|
||
bang_chr goto 59
|
||
tilde_chr goto 60
|
||
multiplicative_expression goto 61
|
||
additive_expression goto 62
|
||
shift_expression goto 63
|
||
relational_expression goto 64
|
||
equality_expression goto 65
|
||
and_expression goto 66
|
||
exclusive_or_expression goto 67
|
||
inclusive_or_expression goto 68
|
||
logical_and_expression goto 69
|
||
logical_or_expression goto 70
|
||
conditional_expression goto 71
|
||
|
||
|
||
state 103
|
||
postfix_expression : postfix_expression inc_op . (17)
|
||
|
||
. reduce 17
|
||
|
||
|
||
state 104
|
||
postfix_expression : postfix_expression dec_op . (18)
|
||
|
||
. reduce 18
|
||
|
||
|
||
state 105
|
||
assignment_expression : unary_expression EQ_CHR . assignment_expression (61)
|
||
|
||
IDENTIFIER shift 14
|
||
CONSTANT shift 29
|
||
STRING_LITERAL shift 30
|
||
INC_OP shift 31
|
||
DEC_OP shift 32
|
||
OPEN_PAREN_CHR shift 35
|
||
BANG_CHR shift 36
|
||
TILDE_CHR shift 37
|
||
ADD_CHR shift 38
|
||
SUB_CHR shift 39
|
||
. error
|
||
|
||
primary_expression goto 44
|
||
identifier goto 45
|
||
constant goto 46
|
||
string_literal goto 47
|
||
inc_op goto 50
|
||
dec_op goto 51
|
||
postfix_expression goto 52
|
||
assignment_expression goto 142
|
||
unary_expression goto 54
|
||
unary_operator goto 55
|
||
cast_expression goto 56
|
||
add_chr goto 57
|
||
sub_chr goto 58
|
||
bang_chr goto 59
|
||
tilde_chr goto 60
|
||
multiplicative_expression goto 61
|
||
additive_expression goto 62
|
||
shift_expression goto 63
|
||
relational_expression goto 64
|
||
equality_expression goto 65
|
||
and_expression goto 66
|
||
exclusive_or_expression goto 67
|
||
inclusive_or_expression goto 68
|
||
logical_and_expression goto 69
|
||
logical_or_expression goto 70
|
||
conditional_expression goto 71
|
||
|
||
|
||
state 106
|
||
cast_expression : unary_expression . (34)
|
||
|
||
. reduce 34
|
||
|
||
|
||
state 107
|
||
unary_expression : unary_operator cast_expression . (24)
|
||
|
||
. reduce 24
|
||
|
||
|
||
state 108
|
||
multiplicative_expression : multiplicative_expression STAR_CHR . cast_expression (36)
|
||
|
||
IDENTIFIER shift 14
|
||
CONSTANT shift 29
|
||
STRING_LITERAL shift 30
|
||
INC_OP shift 31
|
||
DEC_OP shift 32
|
||
OPEN_PAREN_CHR shift 35
|
||
BANG_CHR shift 36
|
||
TILDE_CHR shift 37
|
||
ADD_CHR shift 38
|
||
SUB_CHR shift 39
|
||
. error
|
||
|
||
primary_expression goto 44
|
||
identifier goto 45
|
||
constant goto 46
|
||
string_literal goto 47
|
||
inc_op goto 50
|
||
dec_op goto 51
|
||
postfix_expression goto 52
|
||
unary_expression goto 106
|
||
unary_operator goto 55
|
||
cast_expression goto 143
|
||
add_chr goto 57
|
||
sub_chr goto 58
|
||
bang_chr goto 59
|
||
tilde_chr goto 60
|
||
|
||
|
||
state 109
|
||
multiplicative_expression : multiplicative_expression DIV_CHR . cast_expression (37)
|
||
|
||
IDENTIFIER shift 14
|
||
CONSTANT shift 29
|
||
STRING_LITERAL shift 30
|
||
INC_OP shift 31
|
||
DEC_OP shift 32
|
||
OPEN_PAREN_CHR shift 35
|
||
BANG_CHR shift 36
|
||
TILDE_CHR shift 37
|
||
ADD_CHR shift 38
|
||
SUB_CHR shift 39
|
||
. error
|
||
|
||
primary_expression goto 44
|
||
identifier goto 45
|
||
constant goto 46
|
||
string_literal goto 47
|
||
inc_op goto 50
|
||
dec_op goto 51
|
||
postfix_expression goto 52
|
||
unary_expression goto 106
|
||
unary_operator goto 55
|
||
cast_expression goto 144
|
||
add_chr goto 57
|
||
sub_chr goto 58
|
||
bang_chr goto 59
|
||
tilde_chr goto 60
|
||
|
||
|
||
state 110
|
||
multiplicative_expression : multiplicative_expression MOD_CHR . cast_expression (38)
|
||
|
||
IDENTIFIER shift 14
|
||
CONSTANT shift 29
|
||
STRING_LITERAL shift 30
|
||
INC_OP shift 31
|
||
DEC_OP shift 32
|
||
OPEN_PAREN_CHR shift 35
|
||
BANG_CHR shift 36
|
||
TILDE_CHR shift 37
|
||
ADD_CHR shift 38
|
||
SUB_CHR shift 39
|
||
. error
|
||
|
||
primary_expression goto 44
|
||
identifier goto 45
|
||
constant goto 46
|
||
string_literal goto 47
|
||
inc_op goto 50
|
||
dec_op goto 51
|
||
postfix_expression goto 52
|
||
unary_expression goto 106
|
||
unary_operator goto 55
|
||
cast_expression goto 145
|
||
add_chr goto 57
|
||
sub_chr goto 58
|
||
bang_chr goto 59
|
||
tilde_chr goto 60
|
||
|
||
|
||
state 111
|
||
additive_expression : additive_expression ADD_CHR . multiplicative_expression (40)
|
||
|
||
IDENTIFIER shift 14
|
||
CONSTANT shift 29
|
||
STRING_LITERAL shift 30
|
||
INC_OP shift 31
|
||
DEC_OP shift 32
|
||
OPEN_PAREN_CHR shift 35
|
||
BANG_CHR shift 36
|
||
TILDE_CHR shift 37
|
||
ADD_CHR shift 38
|
||
SUB_CHR shift 39
|
||
. error
|
||
|
||
primary_expression goto 44
|
||
identifier goto 45
|
||
constant goto 46
|
||
string_literal goto 47
|
||
inc_op goto 50
|
||
dec_op goto 51
|
||
postfix_expression goto 52
|
||
unary_expression goto 106
|
||
unary_operator goto 55
|
||
cast_expression goto 56
|
||
add_chr goto 57
|
||
sub_chr goto 58
|
||
bang_chr goto 59
|
||
tilde_chr goto 60
|
||
multiplicative_expression goto 146
|
||
|
||
|
||
state 112
|
||
additive_expression : additive_expression SUB_CHR . multiplicative_expression (41)
|
||
|
||
IDENTIFIER shift 14
|
||
CONSTANT shift 29
|
||
STRING_LITERAL shift 30
|
||
INC_OP shift 31
|
||
DEC_OP shift 32
|
||
OPEN_PAREN_CHR shift 35
|
||
BANG_CHR shift 36
|
||
TILDE_CHR shift 37
|
||
ADD_CHR shift 38
|
||
SUB_CHR shift 39
|
||
. error
|
||
|
||
primary_expression goto 44
|
||
identifier goto 45
|
||
constant goto 46
|
||
string_literal goto 47
|
||
inc_op goto 50
|
||
dec_op goto 51
|
||
postfix_expression goto 52
|
||
unary_expression goto 106
|
||
unary_operator goto 55
|
||
cast_expression goto 56
|
||
add_chr goto 57
|
||
sub_chr goto 58
|
||
bang_chr goto 59
|
||
tilde_chr goto 60
|
||
multiplicative_expression goto 147
|
||
|
||
|
||
state 113
|
||
relational_expression : relational_expression LE_OP . shift_expression (46)
|
||
|
||
IDENTIFIER shift 14
|
||
CONSTANT shift 29
|
||
STRING_LITERAL shift 30
|
||
INC_OP shift 31
|
||
DEC_OP shift 32
|
||
OPEN_PAREN_CHR shift 35
|
||
BANG_CHR shift 36
|
||
TILDE_CHR shift 37
|
||
ADD_CHR shift 38
|
||
SUB_CHR shift 39
|
||
. error
|
||
|
||
primary_expression goto 44
|
||
identifier goto 45
|
||
constant goto 46
|
||
string_literal goto 47
|
||
inc_op goto 50
|
||
dec_op goto 51
|
||
postfix_expression goto 52
|
||
unary_expression goto 106
|
||
unary_operator goto 55
|
||
cast_expression goto 56
|
||
add_chr goto 57
|
||
sub_chr goto 58
|
||
bang_chr goto 59
|
||
tilde_chr goto 60
|
||
multiplicative_expression goto 61
|
||
additive_expression goto 62
|
||
shift_expression goto 148
|
||
|
||
|
||
state 114
|
||
relational_expression : relational_expression GE_OP . shift_expression (47)
|
||
|
||
IDENTIFIER shift 14
|
||
CONSTANT shift 29
|
||
STRING_LITERAL shift 30
|
||
INC_OP shift 31
|
||
DEC_OP shift 32
|
||
OPEN_PAREN_CHR shift 35
|
||
BANG_CHR shift 36
|
||
TILDE_CHR shift 37
|
||
ADD_CHR shift 38
|
||
SUB_CHR shift 39
|
||
. error
|
||
|
||
primary_expression goto 44
|
||
identifier goto 45
|
||
constant goto 46
|
||
string_literal goto 47
|
||
inc_op goto 50
|
||
dec_op goto 51
|
||
postfix_expression goto 52
|
||
unary_expression goto 106
|
||
unary_operator goto 55
|
||
cast_expression goto 56
|
||
add_chr goto 57
|
||
sub_chr goto 58
|
||
bang_chr goto 59
|
||
tilde_chr goto 60
|
||
multiplicative_expression goto 61
|
||
additive_expression goto 62
|
||
shift_expression goto 149
|
||
|
||
|
||
state 115
|
||
relational_expression : relational_expression OPEN_ANGLE_CHR . shift_expression (44)
|
||
|
||
IDENTIFIER shift 14
|
||
CONSTANT shift 29
|
||
STRING_LITERAL shift 30
|
||
INC_OP shift 31
|
||
DEC_OP shift 32
|
||
OPEN_PAREN_CHR shift 35
|
||
BANG_CHR shift 36
|
||
TILDE_CHR shift 37
|
||
ADD_CHR shift 38
|
||
SUB_CHR shift 39
|
||
. error
|
||
|
||
primary_expression goto 44
|
||
identifier goto 45
|
||
constant goto 46
|
||
string_literal goto 47
|
||
inc_op goto 50
|
||
dec_op goto 51
|
||
postfix_expression goto 52
|
||
unary_expression goto 106
|
||
unary_operator goto 55
|
||
cast_expression goto 56
|
||
add_chr goto 57
|
||
sub_chr goto 58
|
||
bang_chr goto 59
|
||
tilde_chr goto 60
|
||
multiplicative_expression goto 61
|
||
additive_expression goto 62
|
||
shift_expression goto 150
|
||
|
||
|
||
state 116
|
||
relational_expression : relational_expression CLOSE_ANGLE_CHR . shift_expression (45)
|
||
|
||
IDENTIFIER shift 14
|
||
CONSTANT shift 29
|
||
STRING_LITERAL shift 30
|
||
INC_OP shift 31
|
||
DEC_OP shift 32
|
||
OPEN_PAREN_CHR shift 35
|
||
BANG_CHR shift 36
|
||
TILDE_CHR shift 37
|
||
ADD_CHR shift 38
|
||
SUB_CHR shift 39
|
||
. error
|
||
|
||
primary_expression goto 44
|
||
identifier goto 45
|
||
constant goto 46
|
||
string_literal goto 47
|
||
inc_op goto 50
|
||
dec_op goto 51
|
||
postfix_expression goto 52
|
||
unary_expression goto 106
|
||
unary_operator goto 55
|
||
cast_expression goto 56
|
||
add_chr goto 57
|
||
sub_chr goto 58
|
||
bang_chr goto 59
|
||
tilde_chr goto 60
|
||
multiplicative_expression goto 61
|
||
additive_expression goto 62
|
||
shift_expression goto 151
|
||
|
||
|
||
state 117
|
||
equality_expression : equality_expression EQ_OP . relational_expression (49)
|
||
|
||
IDENTIFIER shift 14
|
||
CONSTANT shift 29
|
||
STRING_LITERAL shift 30
|
||
INC_OP shift 31
|
||
DEC_OP shift 32
|
||
OPEN_PAREN_CHR shift 35
|
||
BANG_CHR shift 36
|
||
TILDE_CHR shift 37
|
||
ADD_CHR shift 38
|
||
SUB_CHR shift 39
|
||
. error
|
||
|
||
primary_expression goto 44
|
||
identifier goto 45
|
||
constant goto 46
|
||
string_literal goto 47
|
||
inc_op goto 50
|
||
dec_op goto 51
|
||
postfix_expression goto 52
|
||
unary_expression goto 106
|
||
unary_operator goto 55
|
||
cast_expression goto 56
|
||
add_chr goto 57
|
||
sub_chr goto 58
|
||
bang_chr goto 59
|
||
tilde_chr goto 60
|
||
multiplicative_expression goto 61
|
||
additive_expression goto 62
|
||
shift_expression goto 63
|
||
relational_expression goto 152
|
||
|
||
|
||
state 118
|
||
equality_expression : equality_expression NE_OP . relational_expression (50)
|
||
|
||
IDENTIFIER shift 14
|
||
CONSTANT shift 29
|
||
STRING_LITERAL shift 30
|
||
INC_OP shift 31
|
||
DEC_OP shift 32
|
||
OPEN_PAREN_CHR shift 35
|
||
BANG_CHR shift 36
|
||
TILDE_CHR shift 37
|
||
ADD_CHR shift 38
|
||
SUB_CHR shift 39
|
||
. error
|
||
|
||
primary_expression goto 44
|
||
identifier goto 45
|
||
constant goto 46
|
||
string_literal goto 47
|
||
inc_op goto 50
|
||
dec_op goto 51
|
||
postfix_expression goto 52
|
||
unary_expression goto 106
|
||
unary_operator goto 55
|
||
cast_expression goto 56
|
||
add_chr goto 57
|
||
sub_chr goto 58
|
||
bang_chr goto 59
|
||
tilde_chr goto 60
|
||
multiplicative_expression goto 61
|
||
additive_expression goto 62
|
||
shift_expression goto 63
|
||
relational_expression goto 153
|
||
|
||
|
||
state 119
|
||
logical_and_expression : logical_and_expression AND_OP . inclusive_or_expression (55)
|
||
|
||
IDENTIFIER shift 14
|
||
CONSTANT shift 29
|
||
STRING_LITERAL shift 30
|
||
INC_OP shift 31
|
||
DEC_OP shift 32
|
||
OPEN_PAREN_CHR shift 35
|
||
BANG_CHR shift 36
|
||
TILDE_CHR shift 37
|
||
ADD_CHR shift 38
|
||
SUB_CHR shift 39
|
||
. error
|
||
|
||
primary_expression goto 44
|
||
identifier goto 45
|
||
constant goto 46
|
||
string_literal goto 47
|
||
inc_op goto 50
|
||
dec_op goto 51
|
||
postfix_expression goto 52
|
||
unary_expression goto 106
|
||
unary_operator goto 55
|
||
cast_expression goto 56
|
||
add_chr goto 57
|
||
sub_chr goto 58
|
||
bang_chr goto 59
|
||
tilde_chr goto 60
|
||
multiplicative_expression goto 61
|
||
additive_expression goto 62
|
||
shift_expression goto 63
|
||
relational_expression goto 64
|
||
equality_expression goto 65
|
||
and_expression goto 66
|
||
exclusive_or_expression goto 67
|
||
inclusive_or_expression goto 154
|
||
|
||
|
||
state 120
|
||
logical_or_expression : logical_or_expression OR_OP . logical_and_expression (57)
|
||
|
||
IDENTIFIER shift 14
|
||
CONSTANT shift 29
|
||
STRING_LITERAL shift 30
|
||
INC_OP shift 31
|
||
DEC_OP shift 32
|
||
OPEN_PAREN_CHR shift 35
|
||
BANG_CHR shift 36
|
||
TILDE_CHR shift 37
|
||
ADD_CHR shift 38
|
||
SUB_CHR shift 39
|
||
. error
|
||
|
||
primary_expression goto 44
|
||
identifier goto 45
|
||
constant goto 46
|
||
string_literal goto 47
|
||
inc_op goto 50
|
||
dec_op goto 51
|
||
postfix_expression goto 52
|
||
unary_expression goto 106
|
||
unary_operator goto 55
|
||
cast_expression goto 56
|
||
add_chr goto 57
|
||
sub_chr goto 58
|
||
bang_chr goto 59
|
||
tilde_chr goto 60
|
||
multiplicative_expression goto 61
|
||
additive_expression goto 62
|
||
shift_expression goto 63
|
||
relational_expression goto 64
|
||
equality_expression goto 65
|
||
and_expression goto 66
|
||
exclusive_or_expression goto 67
|
||
inclusive_or_expression goto 68
|
||
logical_and_expression goto 155
|
||
|
||
|
||
state 121
|
||
conditional_expression : logical_or_expression QUES_CHR . expression COLON_CHR conditional_expression (59)
|
||
|
||
IDENTIFIER shift 14
|
||
CONSTANT shift 29
|
||
STRING_LITERAL shift 30
|
||
INC_OP shift 31
|
||
DEC_OP shift 32
|
||
OPEN_PAREN_CHR shift 35
|
||
BANG_CHR shift 36
|
||
TILDE_CHR shift 37
|
||
ADD_CHR shift 38
|
||
SUB_CHR shift 39
|
||
. error
|
||
|
||
primary_expression goto 44
|
||
identifier goto 45
|
||
constant goto 46
|
||
string_literal goto 47
|
||
expression goto 156
|
||
inc_op goto 50
|
||
dec_op goto 51
|
||
postfix_expression goto 52
|
||
assignment_expression goto 53
|
||
unary_expression goto 54
|
||
unary_operator goto 55
|
||
cast_expression goto 56
|
||
add_chr goto 57
|
||
sub_chr goto 58
|
||
bang_chr goto 59
|
||
tilde_chr goto 60
|
||
multiplicative_expression goto 61
|
||
additive_expression goto 62
|
||
shift_expression goto 63
|
||
relational_expression goto 64
|
||
equality_expression goto 65
|
||
and_expression goto 66
|
||
exclusive_or_expression goto 67
|
||
inclusive_or_expression goto 68
|
||
logical_and_expression goto 69
|
||
logical_or_expression goto 70
|
||
conditional_expression goto 71
|
||
|
||
|
||
state 122
|
||
statement_list : statement_list statement . (89)
|
||
|
||
. reduce 89
|
||
|
||
|
||
state 123
|
||
compound_statement : open_block statement_list close_block . (83)
|
||
|
||
. reduce 83
|
||
|
||
|
||
state 124
|
||
declaration_list : declaration_list declaration . (87)
|
||
|
||
. reduce 87
|
||
|
||
|
||
state 125
|
||
compound_statement : open_block declaration_list close_block . (84)
|
||
|
||
. reduce 84
|
||
|
||
|
||
state 126
|
||
compound_statement : open_block declaration_list statement_list . close_block (85)
|
||
statement_list : statement_list . statement (89)
|
||
|
||
IDENTIFIER shift 14
|
||
CONSTANT shift 29
|
||
STRING_LITERAL shift 30
|
||
INC_OP shift 31
|
||
DEC_OP shift 32
|
||
SEMI_CHR shift 33
|
||
OPEN_BRACE_CHR shift 21
|
||
CLOSE_BRACE_CHR shift 34
|
||
OPEN_PAREN_CHR shift 35
|
||
BANG_CHR shift 36
|
||
TILDE_CHR shift 37
|
||
ADD_CHR shift 38
|
||
SUB_CHR shift 39
|
||
IF shift 40
|
||
WHILE shift 41
|
||
FOR shift 42
|
||
RETURN shift 43
|
||
. error
|
||
|
||
primary_expression goto 44
|
||
identifier goto 45
|
||
constant goto 46
|
||
string_literal goto 47
|
||
expression goto 48
|
||
open_brace goto 22
|
||
close_brace goto 49
|
||
inc_op goto 50
|
||
dec_op goto 51
|
||
postfix_expression goto 52
|
||
assignment_expression goto 53
|
||
unary_expression goto 54
|
||
unary_operator goto 55
|
||
cast_expression goto 56
|
||
add_chr goto 57
|
||
sub_chr goto 58
|
||
bang_chr goto 59
|
||
tilde_chr goto 60
|
||
multiplicative_expression goto 61
|
||
additive_expression goto 62
|
||
shift_expression goto 63
|
||
relational_expression goto 64
|
||
equality_expression goto 65
|
||
and_expression goto 66
|
||
exclusive_or_expression goto 67
|
||
inclusive_or_expression goto 68
|
||
logical_and_expression goto 69
|
||
logical_or_expression goto 70
|
||
conditional_expression goto 71
|
||
statement goto 122
|
||
compound_statement goto 75
|
||
expression_statement goto 76
|
||
selection_statement goto 77
|
||
iteration_statement goto 78
|
||
jump_statement goto 79
|
||
open_block goto 24
|
||
close_block goto 157
|
||
semi_chr goto 83
|
||
ifkw goto 84
|
||
whilekw goto 85
|
||
forkw goto 86
|
||
return goto 87
|
||
|
||
|
||
state 127
|
||
selection_statement : ifkw OPEN_PAREN_CHR . expression CLOSE_PAREN_CHR statement (94)
|
||
selection_statement : ifkw OPEN_PAREN_CHR . expression CLOSE_PAREN_CHR statement ELSE statement (95)
|
||
|
||
IDENTIFIER shift 14
|
||
CONSTANT shift 29
|
||
STRING_LITERAL shift 30
|
||
INC_OP shift 31
|
||
DEC_OP shift 32
|
||
OPEN_PAREN_CHR shift 35
|
||
BANG_CHR shift 36
|
||
TILDE_CHR shift 37
|
||
ADD_CHR shift 38
|
||
SUB_CHR shift 39
|
||
. error
|
||
|
||
primary_expression goto 44
|
||
identifier goto 45
|
||
constant goto 46
|
||
string_literal goto 47
|
||
expression goto 158
|
||
inc_op goto 50
|
||
dec_op goto 51
|
||
postfix_expression goto 52
|
||
assignment_expression goto 53
|
||
unary_expression goto 54
|
||
unary_operator goto 55
|
||
cast_expression goto 56
|
||
add_chr goto 57
|
||
sub_chr goto 58
|
||
bang_chr goto 59
|
||
tilde_chr goto 60
|
||
multiplicative_expression goto 61
|
||
additive_expression goto 62
|
||
shift_expression goto 63
|
||
relational_expression goto 64
|
||
equality_expression goto 65
|
||
and_expression goto 66
|
||
exclusive_or_expression goto 67
|
||
inclusive_or_expression goto 68
|
||
logical_and_expression goto 69
|
||
logical_or_expression goto 70
|
||
conditional_expression goto 71
|
||
|
||
|
||
state 128
|
||
iteration_statement : whilekw OPEN_PAREN_CHR . expression close_paren statement (98)
|
||
|
||
IDENTIFIER shift 14
|
||
CONSTANT shift 29
|
||
STRING_LITERAL shift 30
|
||
INC_OP shift 31
|
||
DEC_OP shift 32
|
||
OPEN_PAREN_CHR shift 35
|
||
BANG_CHR shift 36
|
||
TILDE_CHR shift 37
|
||
ADD_CHR shift 38
|
||
SUB_CHR shift 39
|
||
. error
|
||
|
||
primary_expression goto 44
|
||
identifier goto 45
|
||
constant goto 46
|
||
string_literal goto 47
|
||
expression goto 159
|
||
inc_op goto 50
|
||
dec_op goto 51
|
||
postfix_expression goto 52
|
||
assignment_expression goto 53
|
||
unary_expression goto 54
|
||
unary_operator goto 55
|
||
cast_expression goto 56
|
||
add_chr goto 57
|
||
sub_chr goto 58
|
||
bang_chr goto 59
|
||
tilde_chr goto 60
|
||
multiplicative_expression goto 61
|
||
additive_expression goto 62
|
||
shift_expression goto 63
|
||
relational_expression goto 64
|
||
equality_expression goto 65
|
||
and_expression goto 66
|
||
exclusive_or_expression goto 67
|
||
inclusive_or_expression goto 68
|
||
logical_and_expression goto 69
|
||
logical_or_expression goto 70
|
||
conditional_expression goto 71
|
||
|
||
|
||
state 129
|
||
iteration_statement : forkw OPEN_PAREN_CHR . expression_statement expression_statement close_paren statement (99)
|
||
iteration_statement : forkw OPEN_PAREN_CHR . expression_statement expression_statement expression close_paren statement (100)
|
||
|
||
IDENTIFIER shift 14
|
||
CONSTANT shift 29
|
||
STRING_LITERAL shift 30
|
||
INC_OP shift 31
|
||
DEC_OP shift 32
|
||
SEMI_CHR shift 33
|
||
OPEN_PAREN_CHR shift 35
|
||
BANG_CHR shift 36
|
||
TILDE_CHR shift 37
|
||
ADD_CHR shift 38
|
||
SUB_CHR shift 39
|
||
. error
|
||
|
||
primary_expression goto 44
|
||
identifier goto 45
|
||
constant goto 46
|
||
string_literal goto 47
|
||
expression goto 48
|
||
inc_op goto 50
|
||
dec_op goto 51
|
||
postfix_expression goto 52
|
||
assignment_expression goto 53
|
||
unary_expression goto 54
|
||
unary_operator goto 55
|
||
cast_expression goto 56
|
||
add_chr goto 57
|
||
sub_chr goto 58
|
||
bang_chr goto 59
|
||
tilde_chr goto 60
|
||
multiplicative_expression goto 61
|
||
additive_expression goto 62
|
||
shift_expression goto 63
|
||
relational_expression goto 64
|
||
equality_expression goto 65
|
||
and_expression goto 66
|
||
exclusive_or_expression goto 67
|
||
inclusive_or_expression goto 68
|
||
logical_and_expression goto 69
|
||
logical_or_expression goto 70
|
||
conditional_expression goto 71
|
||
expression_statement goto 160
|
||
semi_chr goto 83
|
||
|
||
|
||
state 130
|
||
jump_statement : return SEMI_CHR . (102)
|
||
|
||
. reduce 102
|
||
|
||
|
||
state 131
|
||
expression : expression . COMMA_CHR assignment_expression (63)
|
||
jump_statement : return expression . SEMI_CHR (103)
|
||
|
||
SEMI_CHR shift 161
|
||
COMMA_CHR shift 99
|
||
. error
|
||
|
||
|
||
state 132
|
||
parameter_declaration : type_specifier declarator . (109)
|
||
|
||
. reduce 109
|
||
|
||
|
||
state 133
|
||
parameter_list : parameter_list COMMA_CHR . parameter_declaration (111)
|
||
parameter_type_list : parameter_list COMMA_CHR . ELLIPSIS (113)
|
||
|
||
CHAR shift 3
|
||
INTEGER shift 4
|
||
ELLIPSIS shift 162
|
||
. error
|
||
|
||
type_specifier goto 89
|
||
parameter_declaration goto 163
|
||
|
||
|
||
state 134
|
||
parameter_declarator : OPEN_PAREN_CHR parameter_type_list CLOSE_PAREN_CHR . (115)
|
||
|
||
. reduce 115
|
||
|
||
|
||
state 135
|
||
primary_expression : OPEN_PAREN_CHR expression CLOSE_PAREN_CHR . (4)
|
||
|
||
. reduce 4
|
||
|
||
|
||
state 136
|
||
close_paren : CLOSE_PAREN_CHR . (33)
|
||
|
||
. reduce 33
|
||
|
||
|
||
state 137
|
||
postfix_expression : identifier OPEN_PAREN_CHR close_paren . (15)
|
||
|
||
. reduce 15
|
||
|
||
|
||
state 138
|
||
postfix_expression : identifier OPEN_PAREN_CHR argument_expression_list . close_paren (16)
|
||
argument_expression_list : argument_expression_list . COMMA_CHR assignment_expression (20)
|
||
|
||
COMMA_CHR shift 164
|
||
CLOSE_PAREN_CHR shift 136
|
||
. error
|
||
|
||
close_paren goto 165
|
||
|
||
|
||
state 139
|
||
argument_expression_list : assignment_expression . (19)
|
||
|
||
. reduce 19
|
||
|
||
|
||
state 140
|
||
expression : expression COMMA_CHR assignment_expression . (63)
|
||
|
||
. reduce 63
|
||
|
||
|
||
state 141
|
||
postfix_expression : postfix_expression OPEN_BRACKET_CHR expression . close_bracket (14)
|
||
expression : expression . COMMA_CHR assignment_expression (63)
|
||
|
||
COMMA_CHR shift 99
|
||
CLOSE_BRACKET_CHR shift 166
|
||
. error
|
||
|
||
close_bracket goto 167
|
||
|
||
|
||
state 142
|
||
assignment_expression : unary_expression EQ_CHR assignment_expression . (61)
|
||
|
||
. reduce 61
|
||
|
||
|
||
state 143
|
||
multiplicative_expression : multiplicative_expression STAR_CHR cast_expression . (36)
|
||
|
||
. reduce 36
|
||
|
||
|
||
state 144
|
||
multiplicative_expression : multiplicative_expression DIV_CHR cast_expression . (37)
|
||
|
||
. reduce 37
|
||
|
||
|
||
state 145
|
||
multiplicative_expression : multiplicative_expression MOD_CHR cast_expression . (38)
|
||
|
||
. reduce 38
|
||
|
||
|
||
state 146
|
||
multiplicative_expression : multiplicative_expression . STAR_CHR cast_expression (36)
|
||
multiplicative_expression : multiplicative_expression . DIV_CHR cast_expression (37)
|
||
multiplicative_expression : multiplicative_expression . MOD_CHR cast_expression (38)
|
||
additive_expression : additive_expression ADD_CHR multiplicative_expression . (40)
|
||
|
||
STAR_CHR shift 108
|
||
DIV_CHR shift 109
|
||
MOD_CHR shift 110
|
||
LE_OP reduce 40
|
||
GE_OP reduce 40
|
||
EQ_OP reduce 40
|
||
NE_OP reduce 40
|
||
AND_OP reduce 40
|
||
OR_OP reduce 40
|
||
SEMI_CHR reduce 40
|
||
COMMA_CHR reduce 40
|
||
COLON_CHR reduce 40
|
||
CLOSE_PAREN_CHR reduce 40
|
||
CLOSE_BRACKET_CHR reduce 40
|
||
ADD_CHR reduce 40
|
||
SUB_CHR reduce 40
|
||
OPEN_ANGLE_CHR reduce 40
|
||
CLOSE_ANGLE_CHR reduce 40
|
||
QUES_CHR reduce 40
|
||
|
||
|
||
state 147
|
||
multiplicative_expression : multiplicative_expression . STAR_CHR cast_expression (36)
|
||
multiplicative_expression : multiplicative_expression . DIV_CHR cast_expression (37)
|
||
multiplicative_expression : multiplicative_expression . MOD_CHR cast_expression (38)
|
||
additive_expression : additive_expression SUB_CHR multiplicative_expression . (41)
|
||
|
||
STAR_CHR shift 108
|
||
DIV_CHR shift 109
|
||
MOD_CHR shift 110
|
||
LE_OP reduce 41
|
||
GE_OP reduce 41
|
||
EQ_OP reduce 41
|
||
NE_OP reduce 41
|
||
AND_OP reduce 41
|
||
OR_OP reduce 41
|
||
SEMI_CHR reduce 41
|
||
COMMA_CHR reduce 41
|
||
COLON_CHR reduce 41
|
||
CLOSE_PAREN_CHR reduce 41
|
||
CLOSE_BRACKET_CHR reduce 41
|
||
ADD_CHR reduce 41
|
||
SUB_CHR reduce 41
|
||
OPEN_ANGLE_CHR reduce 41
|
||
CLOSE_ANGLE_CHR reduce 41
|
||
QUES_CHR reduce 41
|
||
|
||
|
||
state 148
|
||
relational_expression : relational_expression LE_OP shift_expression . (46)
|
||
|
||
. reduce 46
|
||
|
||
|
||
state 149
|
||
relational_expression : relational_expression GE_OP shift_expression . (47)
|
||
|
||
. reduce 47
|
||
|
||
|
||
state 150
|
||
relational_expression : relational_expression OPEN_ANGLE_CHR shift_expression . (44)
|
||
|
||
. reduce 44
|
||
|
||
|
||
state 151
|
||
relational_expression : relational_expression CLOSE_ANGLE_CHR shift_expression . (45)
|
||
|
||
. reduce 45
|
||
|
||
|
||
state 152
|
||
relational_expression : relational_expression . OPEN_ANGLE_CHR shift_expression (44)
|
||
relational_expression : relational_expression . CLOSE_ANGLE_CHR shift_expression (45)
|
||
relational_expression : relational_expression . LE_OP shift_expression (46)
|
||
relational_expression : relational_expression . GE_OP shift_expression (47)
|
||
equality_expression : equality_expression EQ_OP relational_expression . (49)
|
||
|
||
LE_OP shift 113
|
||
GE_OP shift 114
|
||
OPEN_ANGLE_CHR shift 115
|
||
CLOSE_ANGLE_CHR shift 116
|
||
EQ_OP reduce 49
|
||
NE_OP reduce 49
|
||
AND_OP reduce 49
|
||
OR_OP reduce 49
|
||
SEMI_CHR reduce 49
|
||
COMMA_CHR reduce 49
|
||
COLON_CHR reduce 49
|
||
CLOSE_PAREN_CHR reduce 49
|
||
CLOSE_BRACKET_CHR reduce 49
|
||
QUES_CHR reduce 49
|
||
|
||
|
||
state 153
|
||
relational_expression : relational_expression . OPEN_ANGLE_CHR shift_expression (44)
|
||
relational_expression : relational_expression . CLOSE_ANGLE_CHR shift_expression (45)
|
||
relational_expression : relational_expression . LE_OP shift_expression (46)
|
||
relational_expression : relational_expression . GE_OP shift_expression (47)
|
||
equality_expression : equality_expression NE_OP relational_expression . (50)
|
||
|
||
LE_OP shift 113
|
||
GE_OP shift 114
|
||
OPEN_ANGLE_CHR shift 115
|
||
CLOSE_ANGLE_CHR shift 116
|
||
EQ_OP reduce 50
|
||
NE_OP reduce 50
|
||
AND_OP reduce 50
|
||
OR_OP reduce 50
|
||
SEMI_CHR reduce 50
|
||
COMMA_CHR reduce 50
|
||
COLON_CHR reduce 50
|
||
CLOSE_PAREN_CHR reduce 50
|
||
CLOSE_BRACKET_CHR reduce 50
|
||
QUES_CHR reduce 50
|
||
|
||
|
||
state 154
|
||
logical_and_expression : logical_and_expression AND_OP inclusive_or_expression . (55)
|
||
|
||
. reduce 55
|
||
|
||
|
||
state 155
|
||
logical_and_expression : logical_and_expression . AND_OP inclusive_or_expression (55)
|
||
logical_or_expression : logical_or_expression OR_OP logical_and_expression . (57)
|
||
|
||
AND_OP shift 119
|
||
OR_OP reduce 57
|
||
SEMI_CHR reduce 57
|
||
COMMA_CHR reduce 57
|
||
COLON_CHR reduce 57
|
||
CLOSE_PAREN_CHR reduce 57
|
||
CLOSE_BRACKET_CHR reduce 57
|
||
QUES_CHR reduce 57
|
||
|
||
|
||
state 156
|
||
conditional_expression : logical_or_expression QUES_CHR expression . COLON_CHR conditional_expression (59)
|
||
expression : expression . COMMA_CHR assignment_expression (63)
|
||
|
||
COMMA_CHR shift 99
|
||
COLON_CHR shift 168
|
||
. error
|
||
|
||
|
||
state 157
|
||
compound_statement : open_block declaration_list statement_list close_block . (85)
|
||
|
||
. reduce 85
|
||
|
||
|
||
state 158
|
||
expression : expression . COMMA_CHR assignment_expression (63)
|
||
selection_statement : ifkw OPEN_PAREN_CHR expression . CLOSE_PAREN_CHR statement (94)
|
||
selection_statement : ifkw OPEN_PAREN_CHR expression . CLOSE_PAREN_CHR statement ELSE statement (95)
|
||
|
||
COMMA_CHR shift 99
|
||
CLOSE_PAREN_CHR shift 169
|
||
. error
|
||
|
||
|
||
state 159
|
||
expression : expression . COMMA_CHR assignment_expression (63)
|
||
iteration_statement : whilekw OPEN_PAREN_CHR expression . close_paren statement (98)
|
||
|
||
COMMA_CHR shift 99
|
||
CLOSE_PAREN_CHR shift 136
|
||
. error
|
||
|
||
close_paren goto 170
|
||
|
||
|
||
state 160
|
||
iteration_statement : forkw OPEN_PAREN_CHR expression_statement . expression_statement close_paren statement (99)
|
||
iteration_statement : forkw OPEN_PAREN_CHR expression_statement . expression_statement expression close_paren statement (100)
|
||
|
||
IDENTIFIER shift 14
|
||
CONSTANT shift 29
|
||
STRING_LITERAL shift 30
|
||
INC_OP shift 31
|
||
DEC_OP shift 32
|
||
SEMI_CHR shift 33
|
||
OPEN_PAREN_CHR shift 35
|
||
BANG_CHR shift 36
|
||
TILDE_CHR shift 37
|
||
ADD_CHR shift 38
|
||
SUB_CHR shift 39
|
||
. error
|
||
|
||
primary_expression goto 44
|
||
identifier goto 45
|
||
constant goto 46
|
||
string_literal goto 47
|
||
expression goto 48
|
||
inc_op goto 50
|
||
dec_op goto 51
|
||
postfix_expression goto 52
|
||
assignment_expression goto 53
|
||
unary_expression goto 54
|
||
unary_operator goto 55
|
||
cast_expression goto 56
|
||
add_chr goto 57
|
||
sub_chr goto 58
|
||
bang_chr goto 59
|
||
tilde_chr goto 60
|
||
multiplicative_expression goto 61
|
||
additive_expression goto 62
|
||
shift_expression goto 63
|
||
relational_expression goto 64
|
||
equality_expression goto 65
|
||
and_expression goto 66
|
||
exclusive_or_expression goto 67
|
||
inclusive_or_expression goto 68
|
||
logical_and_expression goto 69
|
||
logical_or_expression goto 70
|
||
conditional_expression goto 71
|
||
expression_statement goto 171
|
||
semi_chr goto 83
|
||
|
||
|
||
state 161
|
||
jump_statement : return expression SEMI_CHR . (103)
|
||
|
||
. reduce 103
|
||
|
||
|
||
state 162
|
||
parameter_type_list : parameter_list COMMA_CHR ELLIPSIS . (113)
|
||
|
||
. reduce 113
|
||
|
||
|
||
state 163
|
||
parameter_list : parameter_list COMMA_CHR parameter_declaration . (111)
|
||
|
||
. reduce 111
|
||
|
||
|
||
state 164
|
||
argument_expression_list : argument_expression_list COMMA_CHR . assignment_expression (20)
|
||
|
||
IDENTIFIER shift 14
|
||
CONSTANT shift 29
|
||
STRING_LITERAL shift 30
|
||
INC_OP shift 31
|
||
DEC_OP shift 32
|
||
OPEN_PAREN_CHR shift 35
|
||
BANG_CHR shift 36
|
||
TILDE_CHR shift 37
|
||
ADD_CHR shift 38
|
||
SUB_CHR shift 39
|
||
. error
|
||
|
||
primary_expression goto 44
|
||
identifier goto 45
|
||
constant goto 46
|
||
string_literal goto 47
|
||
inc_op goto 50
|
||
dec_op goto 51
|
||
postfix_expression goto 52
|
||
assignment_expression goto 172
|
||
unary_expression goto 54
|
||
unary_operator goto 55
|
||
cast_expression goto 56
|
||
add_chr goto 57
|
||
sub_chr goto 58
|
||
bang_chr goto 59
|
||
tilde_chr goto 60
|
||
multiplicative_expression goto 61
|
||
additive_expression goto 62
|
||
shift_expression goto 63
|
||
relational_expression goto 64
|
||
equality_expression goto 65
|
||
and_expression goto 66
|
||
exclusive_or_expression goto 67
|
||
inclusive_or_expression goto 68
|
||
logical_and_expression goto 69
|
||
logical_or_expression goto 70
|
||
conditional_expression goto 71
|
||
|
||
|
||
state 165
|
||
postfix_expression : identifier OPEN_PAREN_CHR argument_expression_list close_paren . (16)
|
||
|
||
. reduce 16
|
||
|
||
|
||
state 166
|
||
close_bracket : CLOSE_BRACKET_CHR . (74)
|
||
|
||
. reduce 74
|
||
|
||
|
||
state 167
|
||
postfix_expression : postfix_expression OPEN_BRACKET_CHR expression close_bracket . (14)
|
||
|
||
. reduce 14
|
||
|
||
|
||
state 168
|
||
conditional_expression : logical_or_expression QUES_CHR expression COLON_CHR . conditional_expression (59)
|
||
|
||
IDENTIFIER shift 14
|
||
CONSTANT shift 29
|
||
STRING_LITERAL shift 30
|
||
INC_OP shift 31
|
||
DEC_OP shift 32
|
||
OPEN_PAREN_CHR shift 35
|
||
BANG_CHR shift 36
|
||
TILDE_CHR shift 37
|
||
ADD_CHR shift 38
|
||
SUB_CHR shift 39
|
||
. error
|
||
|
||
primary_expression goto 44
|
||
identifier goto 45
|
||
constant goto 46
|
||
string_literal goto 47
|
||
inc_op goto 50
|
||
dec_op goto 51
|
||
postfix_expression goto 52
|
||
unary_expression goto 106
|
||
unary_operator goto 55
|
||
cast_expression goto 56
|
||
add_chr goto 57
|
||
sub_chr goto 58
|
||
bang_chr goto 59
|
||
tilde_chr goto 60
|
||
multiplicative_expression goto 61
|
||
additive_expression goto 62
|
||
shift_expression goto 63
|
||
relational_expression goto 64
|
||
equality_expression goto 65
|
||
and_expression goto 66
|
||
exclusive_or_expression goto 67
|
||
inclusive_or_expression goto 68
|
||
logical_and_expression goto 69
|
||
logical_or_expression goto 70
|
||
conditional_expression goto 173
|
||
|
||
|
||
state 169
|
||
selection_statement : ifkw OPEN_PAREN_CHR expression CLOSE_PAREN_CHR . statement (94)
|
||
selection_statement : ifkw OPEN_PAREN_CHR expression CLOSE_PAREN_CHR . statement ELSE statement (95)
|
||
|
||
IDENTIFIER shift 14
|
||
CONSTANT shift 29
|
||
STRING_LITERAL shift 30
|
||
INC_OP shift 31
|
||
DEC_OP shift 32
|
||
SEMI_CHR shift 33
|
||
OPEN_BRACE_CHR shift 21
|
||
OPEN_PAREN_CHR shift 35
|
||
BANG_CHR shift 36
|
||
TILDE_CHR shift 37
|
||
ADD_CHR shift 38
|
||
SUB_CHR shift 39
|
||
IF shift 40
|
||
WHILE shift 41
|
||
FOR shift 42
|
||
RETURN shift 43
|
||
. error
|
||
|
||
primary_expression goto 44
|
||
identifier goto 45
|
||
constant goto 46
|
||
string_literal goto 47
|
||
expression goto 48
|
||
open_brace goto 22
|
||
inc_op goto 50
|
||
dec_op goto 51
|
||
postfix_expression goto 52
|
||
assignment_expression goto 53
|
||
unary_expression goto 54
|
||
unary_operator goto 55
|
||
cast_expression goto 56
|
||
add_chr goto 57
|
||
sub_chr goto 58
|
||
bang_chr goto 59
|
||
tilde_chr goto 60
|
||
multiplicative_expression goto 61
|
||
additive_expression goto 62
|
||
shift_expression goto 63
|
||
relational_expression goto 64
|
||
equality_expression goto 65
|
||
and_expression goto 66
|
||
exclusive_or_expression goto 67
|
||
inclusive_or_expression goto 68
|
||
logical_and_expression goto 69
|
||
logical_or_expression goto 70
|
||
conditional_expression goto 71
|
||
statement goto 174
|
||
compound_statement goto 75
|
||
expression_statement goto 76
|
||
selection_statement goto 77
|
||
iteration_statement goto 78
|
||
jump_statement goto 79
|
||
open_block goto 24
|
||
semi_chr goto 83
|
||
ifkw goto 84
|
||
whilekw goto 85
|
||
forkw goto 86
|
||
return goto 87
|
||
|
||
|
||
state 170
|
||
iteration_statement : whilekw OPEN_PAREN_CHR expression close_paren . statement (98)
|
||
|
||
IDENTIFIER shift 14
|
||
CONSTANT shift 29
|
||
STRING_LITERAL shift 30
|
||
INC_OP shift 31
|
||
DEC_OP shift 32
|
||
SEMI_CHR shift 33
|
||
OPEN_BRACE_CHR shift 21
|
||
OPEN_PAREN_CHR shift 35
|
||
BANG_CHR shift 36
|
||
TILDE_CHR shift 37
|
||
ADD_CHR shift 38
|
||
SUB_CHR shift 39
|
||
IF shift 40
|
||
WHILE shift 41
|
||
FOR shift 42
|
||
RETURN shift 43
|
||
. error
|
||
|
||
primary_expression goto 44
|
||
identifier goto 45
|
||
constant goto 46
|
||
string_literal goto 47
|
||
expression goto 48
|
||
open_brace goto 22
|
||
inc_op goto 50
|
||
dec_op goto 51
|
||
postfix_expression goto 52
|
||
assignment_expression goto 53
|
||
unary_expression goto 54
|
||
unary_operator goto 55
|
||
cast_expression goto 56
|
||
add_chr goto 57
|
||
sub_chr goto 58
|
||
bang_chr goto 59
|
||
tilde_chr goto 60
|
||
multiplicative_expression goto 61
|
||
additive_expression goto 62
|
||
shift_expression goto 63
|
||
relational_expression goto 64
|
||
equality_expression goto 65
|
||
and_expression goto 66
|
||
exclusive_or_expression goto 67
|
||
inclusive_or_expression goto 68
|
||
logical_and_expression goto 69
|
||
logical_or_expression goto 70
|
||
conditional_expression goto 71
|
||
statement goto 175
|
||
compound_statement goto 75
|
||
expression_statement goto 76
|
||
selection_statement goto 77
|
||
iteration_statement goto 78
|
||
jump_statement goto 79
|
||
open_block goto 24
|
||
semi_chr goto 83
|
||
ifkw goto 84
|
||
whilekw goto 85
|
||
forkw goto 86
|
||
return goto 87
|
||
|
||
|
||
state 171
|
||
iteration_statement : forkw OPEN_PAREN_CHR expression_statement expression_statement . close_paren statement (99)
|
||
iteration_statement : forkw OPEN_PAREN_CHR expression_statement expression_statement . expression close_paren statement (100)
|
||
|
||
IDENTIFIER shift 14
|
||
CONSTANT shift 29
|
||
STRING_LITERAL shift 30
|
||
INC_OP shift 31
|
||
DEC_OP shift 32
|
||
OPEN_PAREN_CHR shift 35
|
||
CLOSE_PAREN_CHR shift 136
|
||
BANG_CHR shift 36
|
||
TILDE_CHR shift 37
|
||
ADD_CHR shift 38
|
||
SUB_CHR shift 39
|
||
. error
|
||
|
||
primary_expression goto 44
|
||
identifier goto 45
|
||
constant goto 46
|
||
string_literal goto 47
|
||
expression goto 176
|
||
inc_op goto 50
|
||
dec_op goto 51
|
||
postfix_expression goto 52
|
||
close_paren goto 177
|
||
assignment_expression goto 53
|
||
unary_expression goto 54
|
||
unary_operator goto 55
|
||
cast_expression goto 56
|
||
add_chr goto 57
|
||
sub_chr goto 58
|
||
bang_chr goto 59
|
||
tilde_chr goto 60
|
||
multiplicative_expression goto 61
|
||
additive_expression goto 62
|
||
shift_expression goto 63
|
||
relational_expression goto 64
|
||
equality_expression goto 65
|
||
and_expression goto 66
|
||
exclusive_or_expression goto 67
|
||
inclusive_or_expression goto 68
|
||
logical_and_expression goto 69
|
||
logical_or_expression goto 70
|
||
conditional_expression goto 71
|
||
|
||
|
||
state 172
|
||
argument_expression_list : argument_expression_list COMMA_CHR assignment_expression . (20)
|
||
|
||
. reduce 20
|
||
|
||
|
||
state 173
|
||
conditional_expression : logical_or_expression QUES_CHR expression COLON_CHR conditional_expression . (59)
|
||
|
||
. reduce 59
|
||
|
||
|
||
174: shift/reduce conflict (shift 178, reduce 94) on ELSE
|
||
state 174
|
||
selection_statement : ifkw OPEN_PAREN_CHR expression CLOSE_PAREN_CHR statement . (94)
|
||
selection_statement : ifkw OPEN_PAREN_CHR expression CLOSE_PAREN_CHR statement . ELSE statement (95)
|
||
|
||
ELSE shift 178
|
||
IDENTIFIER reduce 94
|
||
CONSTANT reduce 94
|
||
STRING_LITERAL reduce 94
|
||
INC_OP reduce 94
|
||
DEC_OP reduce 94
|
||
SEMI_CHR reduce 94
|
||
OPEN_BRACE_CHR reduce 94
|
||
CLOSE_BRACE_CHR reduce 94
|
||
OPEN_PAREN_CHR reduce 94
|
||
BANG_CHR reduce 94
|
||
TILDE_CHR reduce 94
|
||
ADD_CHR reduce 94
|
||
SUB_CHR reduce 94
|
||
IF reduce 94
|
||
WHILE reduce 94
|
||
FOR reduce 94
|
||
RETURN reduce 94
|
||
|
||
|
||
state 175
|
||
iteration_statement : whilekw OPEN_PAREN_CHR expression close_paren statement . (98)
|
||
|
||
. reduce 98
|
||
|
||
|
||
state 176
|
||
expression : expression . COMMA_CHR assignment_expression (63)
|
||
iteration_statement : forkw OPEN_PAREN_CHR expression_statement expression_statement expression . close_paren statement (100)
|
||
|
||
COMMA_CHR shift 99
|
||
CLOSE_PAREN_CHR shift 136
|
||
. error
|
||
|
||
close_paren goto 179
|
||
|
||
|
||
state 177
|
||
iteration_statement : forkw OPEN_PAREN_CHR expression_statement expression_statement close_paren . statement (99)
|
||
|
||
IDENTIFIER shift 14
|
||
CONSTANT shift 29
|
||
STRING_LITERAL shift 30
|
||
INC_OP shift 31
|
||
DEC_OP shift 32
|
||
SEMI_CHR shift 33
|
||
OPEN_BRACE_CHR shift 21
|
||
OPEN_PAREN_CHR shift 35
|
||
BANG_CHR shift 36
|
||
TILDE_CHR shift 37
|
||
ADD_CHR shift 38
|
||
SUB_CHR shift 39
|
||
IF shift 40
|
||
WHILE shift 41
|
||
FOR shift 42
|
||
RETURN shift 43
|
||
. error
|
||
|
||
primary_expression goto 44
|
||
identifier goto 45
|
||
constant goto 46
|
||
string_literal goto 47
|
||
expression goto 48
|
||
open_brace goto 22
|
||
inc_op goto 50
|
||
dec_op goto 51
|
||
postfix_expression goto 52
|
||
assignment_expression goto 53
|
||
unary_expression goto 54
|
||
unary_operator goto 55
|
||
cast_expression goto 56
|
||
add_chr goto 57
|
||
sub_chr goto 58
|
||
bang_chr goto 59
|
||
tilde_chr goto 60
|
||
multiplicative_expression goto 61
|
||
additive_expression goto 62
|
||
shift_expression goto 63
|
||
relational_expression goto 64
|
||
equality_expression goto 65
|
||
and_expression goto 66
|
||
exclusive_or_expression goto 67
|
||
inclusive_or_expression goto 68
|
||
logical_and_expression goto 69
|
||
logical_or_expression goto 70
|
||
conditional_expression goto 71
|
||
statement goto 180
|
||
compound_statement goto 75
|
||
expression_statement goto 76
|
||
selection_statement goto 77
|
||
iteration_statement goto 78
|
||
jump_statement goto 79
|
||
open_block goto 24
|
||
semi_chr goto 83
|
||
ifkw goto 84
|
||
whilekw goto 85
|
||
forkw goto 86
|
||
return goto 87
|
||
|
||
|
||
state 178
|
||
selection_statement : ifkw OPEN_PAREN_CHR expression CLOSE_PAREN_CHR statement ELSE . statement (95)
|
||
|
||
IDENTIFIER shift 14
|
||
CONSTANT shift 29
|
||
STRING_LITERAL shift 30
|
||
INC_OP shift 31
|
||
DEC_OP shift 32
|
||
SEMI_CHR shift 33
|
||
OPEN_BRACE_CHR shift 21
|
||
OPEN_PAREN_CHR shift 35
|
||
BANG_CHR shift 36
|
||
TILDE_CHR shift 37
|
||
ADD_CHR shift 38
|
||
SUB_CHR shift 39
|
||
IF shift 40
|
||
WHILE shift 41
|
||
FOR shift 42
|
||
RETURN shift 43
|
||
. error
|
||
|
||
primary_expression goto 44
|
||
identifier goto 45
|
||
constant goto 46
|
||
string_literal goto 47
|
||
expression goto 48
|
||
open_brace goto 22
|
||
inc_op goto 50
|
||
dec_op goto 51
|
||
postfix_expression goto 52
|
||
assignment_expression goto 53
|
||
unary_expression goto 54
|
||
unary_operator goto 55
|
||
cast_expression goto 56
|
||
add_chr goto 57
|
||
sub_chr goto 58
|
||
bang_chr goto 59
|
||
tilde_chr goto 60
|
||
multiplicative_expression goto 61
|
||
additive_expression goto 62
|
||
shift_expression goto 63
|
||
relational_expression goto 64
|
||
equality_expression goto 65
|
||
and_expression goto 66
|
||
exclusive_or_expression goto 67
|
||
inclusive_or_expression goto 68
|
||
logical_and_expression goto 69
|
||
logical_or_expression goto 70
|
||
conditional_expression goto 71
|
||
statement goto 181
|
||
compound_statement goto 75
|
||
expression_statement goto 76
|
||
selection_statement goto 77
|
||
iteration_statement goto 78
|
||
jump_statement goto 79
|
||
open_block goto 24
|
||
semi_chr goto 83
|
||
ifkw goto 84
|
||
whilekw goto 85
|
||
forkw goto 86
|
||
return goto 87
|
||
|
||
|
||
state 179
|
||
iteration_statement : forkw OPEN_PAREN_CHR expression_statement expression_statement expression close_paren . statement (100)
|
||
|
||
IDENTIFIER shift 14
|
||
CONSTANT shift 29
|
||
STRING_LITERAL shift 30
|
||
INC_OP shift 31
|
||
DEC_OP shift 32
|
||
SEMI_CHR shift 33
|
||
OPEN_BRACE_CHR shift 21
|
||
OPEN_PAREN_CHR shift 35
|
||
BANG_CHR shift 36
|
||
TILDE_CHR shift 37
|
||
ADD_CHR shift 38
|
||
SUB_CHR shift 39
|
||
IF shift 40
|
||
WHILE shift 41
|
||
FOR shift 42
|
||
RETURN shift 43
|
||
. error
|
||
|
||
primary_expression goto 44
|
||
identifier goto 45
|
||
constant goto 46
|
||
string_literal goto 47
|
||
expression goto 48
|
||
open_brace goto 22
|
||
inc_op goto 50
|
||
dec_op goto 51
|
||
postfix_expression goto 52
|
||
assignment_expression goto 53
|
||
unary_expression goto 54
|
||
unary_operator goto 55
|
||
cast_expression goto 56
|
||
add_chr goto 57
|
||
sub_chr goto 58
|
||
bang_chr goto 59
|
||
tilde_chr goto 60
|
||
multiplicative_expression goto 61
|
||
additive_expression goto 62
|
||
shift_expression goto 63
|
||
relational_expression goto 64
|
||
equality_expression goto 65
|
||
and_expression goto 66
|
||
exclusive_or_expression goto 67
|
||
inclusive_or_expression goto 68
|
||
logical_and_expression goto 69
|
||
logical_or_expression goto 70
|
||
conditional_expression goto 71
|
||
statement goto 182
|
||
compound_statement goto 75
|
||
expression_statement goto 76
|
||
selection_statement goto 77
|
||
iteration_statement goto 78
|
||
jump_statement goto 79
|
||
open_block goto 24
|
||
semi_chr goto 83
|
||
ifkw goto 84
|
||
whilekw goto 85
|
||
forkw goto 86
|
||
return goto 87
|
||
|
||
|
||
state 180
|
||
iteration_statement : forkw OPEN_PAREN_CHR expression_statement expression_statement close_paren statement . (99)
|
||
|
||
. reduce 99
|
||
|
||
|
||
state 181
|
||
selection_statement : ifkw OPEN_PAREN_CHR expression CLOSE_PAREN_CHR statement ELSE statement . (95)
|
||
|
||
. reduce 95
|
||
|
||
|
||
state 182
|
||
iteration_statement : forkw OPEN_PAREN_CHR expression_statement expression_statement expression close_paren statement . (100)
|
||
|
||
. reduce 100
|
||
|
||
|
||
State 174 contains 1 shift/reduce conflict.
|
||
|
||
|
||
87 terminals, 63 nonterminals
|
||
119 grammar rules, 183 states
|