📄 cm_parse.v
字号:
idlist goto 14
id goto 85
array goto 16
state 52
call : id . LPAREN arg_list RPAREN
call : id . LPAREN RPAREN
LPAREN shift 86
state 53
statement : compound_stmt . (40)
. reduce 40
state 54
compound_stmt : LBRACE local_declarations . RBRACE
compound_stmt : LBRACE local_declarations . statement_list RBRACE
local_declarations : local_declarations . var_declaration
INT shift 4
CHAR shift 5
FLOAT shift 6
VOID shift 7
IF shift 38
WHILE shift 39
FOR shift 40
RETURN shift 41
ID shift 42
NUM shift 43
FLOATNUM shift 44
CONSTCHAR shift 45
NOT shift 46
LPAREN shift 47
SEMICOLON shift 48
LBRACE shift 32
RBRACE shift 87
var_declaration goto 88
type_specifier goto 51
id goto 52
compound_stmt goto 53
statement_list goto 89
statement goto 56
expression_stmt goto 57
selection_stmt goto 58
while_stmt goto 59
for_stmt goto 60
return_stmt goto 61
expression goto 62
var goto 63
or_expression goto 64
and_expression goto 65
additive_expression goto 66
rel_expression goto 67
term goto 68
factor goto 69
call goto 70
state 55
compound_stmt : LBRACE statement_list . RBRACE
statement_list : statement_list . statement
IF shift 38
WHILE shift 39
FOR shift 40
RETURN shift 41
ID shift 42
NUM shift 43
FLOATNUM shift 44
CONSTCHAR shift 45
NOT shift 46
LPAREN shift 47
SEMICOLON shift 48
LBRACE shift 32
RBRACE shift 90
id goto 52
compound_stmt goto 53
statement goto 91
expression_stmt goto 57
selection_stmt goto 58
while_stmt goto 59
for_stmt goto 60
return_stmt goto 61
expression goto 62
var goto 63
or_expression goto 64
and_expression goto 65
additive_expression goto 66
rel_expression goto 67
term goto 68
factor goto 69
call goto 70
state 56
statement_list : statement . (38)
. reduce 38
state 57
statement : expression_stmt . (39)
. reduce 39
state 58
statement : selection_stmt . (41)
. reduce 41
state 59
statement : while_stmt . (42)
. reduce 42
state 60
statement : for_stmt . (43)
. reduce 43
state 61
statement : return_stmt . (44)
. reduce 44
state 62
expression_stmt : expression . SEMICOLON
SEMICOLON shift 92
state 63
expression : var . ASSIGN expression
factor : var . (80)
ASSIGN shift 93
. reduce 80
state 64
expression : or_expression . (54)
or_expression : or_expression . OR and_expression
OR shift 94
. reduce 54
state 65
or_expression : and_expression . (63)
and_expression : and_expression . AND additive_expression
AND shift 95
. reduce 63
state 66
and_expression : additive_expression . (65)
additive_expression : additive_expression . EQ rel_expression
additive_expression : additive_expression . LT rel_expression
additive_expression : additive_expression . GT rel_expression
additive_expression : additive_expression . LE rel_expression
additive_expression : additive_expression . GE rel_expression
additive_expression : additive_expression . NE rel_expression
EQ shift 96
LT shift 97
LE shift 98
GT shift 99
GE shift 100
NE shift 101
. reduce 65
state 67
additive_expression : rel_expression . (72)
rel_expression : rel_expression . PLUS term
rel_expression : rel_expression . MINUS term
PLUS shift 102
MINUS shift 103
. reduce 72
state 68
rel_expression : term . (75)
term : term . TIMES factor
term : term . OVER factor
TIMES shift 104
OVER shift 105
. reduce 75
state 69
term : factor . (78)
. reduce 78
state 70
factor : call . (81)
. reduce 81
state 71
param : type_specifier ID $$2 . LBRACKET RBRACKET
LBRACKET shift 106
state 72
fun_declaration : type_specifier id LPAREN params RPAREN SEMICOLON . (19)
. reduce 19
state 73
fun_definition : type_specifier id LPAREN params RPAREN compound_stmt . (21)
. reduce 21
state 74
param_list : param_list COMMA param . (26)
. reduce 26
state 75
array : id LBRACKET NUM $$1 RBRACKET . (13)
. reduce 13
state 76
selection_stmt : IF LPAREN . expression RPAREN statement ELSE statement
selection_stmt : IF LPAREN . expression RPAREN statement
ID shift 42
NUM shift 43
FLOATNUM shift 44
CONSTCHAR shift 45
NOT shift 46
LPAREN shift 47
id goto 52
expression goto 107
var goto 63
or_expression goto 64
and_expression goto 65
additive_expression goto 66
rel_expression goto 67
term goto 68
factor goto 69
call goto 70
state 77
while_stmt : WHILE LPAREN . expression RPAREN statement
ID shift 42
NUM shift 43
FLOATNUM shift 44
CONSTCHAR shift 45
NOT shift 46
LPAREN shift 47
id goto 52
expression goto 108
var goto 63
or_expression goto 64
and_expression goto 65
additive_expression goto 66
rel_expression goto 67
term goto 68
factor goto 69
call goto 70
state 78
for_stmt : FOR LPAREN . for_expression SEMICOLON for_expression SEMICOLON for_expression RPAREN statement
empty : . (58)
ID shift 42
NUM shift 43
FLOATNUM shift 44
CONSTCHAR shift 45
NOT shift 46
LPAREN shift 47
. reduce 58
empty goto 109
id goto 52
for_expression goto 110
var goto 111
or_expression goto 112
and_expression goto 65
additive_expression goto 66
rel_expression goto 67
term goto 68
factor goto 69
call goto 70
state 79
return_stmt : RETURN SEMICOLON . (51)
. reduce 51
state 80
return_stmt : RETURN expression . SEMICOLON
SEMICOLON shift 113
state 81
var : ID $$3 . LBRACKET expression RBRACKET
LBRACKET shift 114
state 82
factor : var . (80)
. reduce 80
state 83
factor : NOT factor . (85)
. reduce 85
state 84
factor : LPAREN expression . RPAREN
RPAREN shift 115
state 85
idlist : id . (11)
array : id . LBRACKET NUM $$1 RBRACKET
LBRACKET shift 20
. reduce 11
state 86
call : id LPAREN . arg_list RPAREN
call : id LPAREN . RPAREN
ID shift 42
NUM shift 43
FLOATNUM shift 44
CONSTCHAR shift 45
NOT shift 46
LPAREN shift 47
RPAREN shift 116
id goto 52
expression goto 117
var goto 63
or_expression goto 64
and_expression goto 65
additive_expression goto 66
rel_expression goto 67
term goto 68
factor goto 69
call goto 70
arg_list goto 118
state 87
compound_stmt : LBRACE local_declarations RBRACE . (31)
. reduce 31
state 88
local_declarations : local_declarations var_declaration . (35)
. reduce 35
state 89
compound_stmt : LBRACE local_declarations statement_list . RBRACE
statement_list : statement_list . statement
IF shift 38
WHILE shift 39
FOR shift 40
RETURN shift 41
ID shift 42
NUM shift 43
FLOATNUM shift 44
CONSTCHAR shift 45
NOT shift 46
LPAREN shift 47
SEMICOLON shift 48
LBRACE shift 32
RBRACE shift 119
id goto 52
compound_stmt goto 53
statement goto 91
expression_stmt goto 57
selection_stmt goto 58
while_stmt goto 59
for_stmt goto 60
return_stmt goto 61
expression goto 62
var goto 63
or_expression goto 64
and_expression goto 65
additive_expression goto 66
rel_expression goto 67
term goto 68
factor goto 69
call goto 70
state 90
compound_stmt : LBRACE statement_list RBRACE . (34)
. reduce 34
state 91
statement_list : statement_list statement . (37)
. reduce 37
state 92
expression_stmt : expression SEMICOLON . (45)
. reduce 45
state 93
expression : var ASSIGN . expression
ID shift 42
NUM shift 43
FLOATNUM shift 44
CONSTCHAR shift 45
NOT shift 46
LPAREN shift 47
id goto 52
expression goto 120
var goto 63
or_expression goto 64
and_expression goto 65
additive_expression goto 66
rel_expression goto 67
term goto 68
factor goto 69
call goto 70
state 94
or_expression : or_expression OR . and_expression
ID shift 42
NUM shift 43
FLOATNUM shift 44
CONSTCHAR shift 45
NOT shift 46
LPAREN shift 47
id goto 52
var goto 82
and_expression goto 121
additive_expression goto 66
rel_expression goto 67
term goto 68
factor goto 69
call goto 70
state 95
and_expression : and_expression AND . additive_expression
ID shift 42
NUM shift 43
FLOATNUM shift 44
CONSTCHAR shift 45
NOT shift 46
LPAREN shift 47
id goto 52
var goto 82
additive_expression goto 122
rel_expression goto 67
term goto 68
factor goto 69
call goto 70
state 96
additive_expression : additive_expression EQ . rel_expression
ID shift 42
NUM shift 43
FLOATNUM shift 44
CONSTCHAR shift 45
NOT shift 46
LPAREN shift 47
id goto 52
var goto 82
rel_expression goto 123
term goto 68
factor goto 69
call goto 70
state 97
additive_expression : additive_expression LT . rel_expression
ID shift 42
NUM shift 43
FLOATNUM shift 44
CONSTCHAR shift 45
NOT shift 46
LPAREN shift 47
id goto 52
var goto 82
rel_expression goto 124
term goto 68
factor goto 69
call goto 70
state 98
additive_expression : additive_expression LE . rel_expression
ID shift 42
NUM shift 43
FLOATNUM shift 44
CONSTCHAR shift 45
NOT shift 46
LPAREN shift 47
id goto 52
var goto 82
rel_expression goto 125
term goto 68
factor goto 69
call goto 70
state 99
additive_expression : additive_expression GT . rel_expression
ID shift 42
NUM shift 43
FLOATNUM shift 44
CONSTCHAR shift 45
NOT shift 46
LPAREN shift 47
id goto 52
var goto 82
rel_expression goto 126
term goto 68
factor goto 69
call goto 70
state 100
additive_expression : additive_expression GE . rel_expression
ID shift 42
NUM shift 43
FLOATNUM shift 44
CONSTCHAR shift 45
NOT shift 46
LPAREN shift 47
id goto 52
var goto 82
rel_expression goto 127
term goto 68
factor goto 69
call goto 70
state 101
additive_expression : additive_expression NE . rel_expression
ID shift 42
NUM shift 43
FLOATNUM shift 44
CONSTCHAR shift 45
NOT shift 46
LPAREN shift 47
id goto 52
var goto 82
rel_expression goto 128
term goto 68
factor goto 69
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -