📄 有序号的改写文法.txt
字号:
1.program : declaration-list
2.declaration-list : declaration declaration-list#
3.declaration-list# : declaration declaration-list#
4.declaration-list# : @
5.declaration : type-specifier ID declaration'
6.declaration : compound-stmt
7.declaration : struct-declaration
8.declaration': ;
9.declaration':[ NUM ] ;
10.declaration':( params )
11.struct-declaration : struct ID struct-stmt
12.struct-stmt : { local-declarations }
13.var-declaration : type-specifier ID var-declaration'
14.var-declaration' : ;
15.var-declaration' : [ NUM ] ;
16.type-specifier : int
17.type-specifier : void
18.fun-declaration : type-specifier ID ( params )
19.fun-declaration : compound-stmt
20.params : int ID param' param-list#
21.params : void params'
22.params' : param' param-list#
23.params' : @
24.param-list : param param-list#
25.param-list# : , param param-list#
26.param-list# : @
27.param : type-specifier ID param'
28.param' : @
29.param' : [ ]
30.compound-stmt : { local-declarations statement-list }
31.local-declarations : local-declarations#
32.local-declarations# : var-declaration local-declarations#
33.local-declarations# : @
34.statement-list : statement-list#
35.statement-list# : statement statement-list#
36.statement-list# : @
37.statement : expression-stmt
38.statement : compound-stmt
39.statement : selection-stmt
40.statement : iteration-stmt
41.statement : jump-stmt
42.expression-stmt : expression ;
43.expression-stmt : ;
44.selection-stmt : if ( expression ) statement selection-stmt'
45.selection-stmt' : else statement
46.selection-stmt' : @
47.iteration-stmt : while ( expression ) statement
48.iteration-stmt : do compound-stmt while ( expression ) ;
49.jump-stmt : continue ;
50.jump-stmt : break ;
51.jump-stmt : return-stmt
52.return-stmt : return return-stmt'
53.return-stmt': ;
54.return-stmt': expression ;
55.expression : ID expression'
56.expression': var' expression''
57.expression'' : = expression
58.expression'' : term# additive-expression# simple-expression'
59.var : ID var'
60.var' : @
61.var' : [ expression ]
62.var' : . ID
63.var': ( args )
64.simple-expression : additive-expression simple-expression'
65.simple-expression' : relop additive-expression
66.simple-expression' : @
67.relop : <=
68.relop : <
69.relop : >
70.relop : >=
71.relop : ==
72.relop : !=
73.additive-expression : term additive-expression#
74.additive-expression# : addop term additive-expression#
75.additive-expression# : @
76.addop : +
77.addop : -
78.term : factor term#
79.term# : mulop factor term#
80.term# : @
81.mulop : *
82.mulop : /
83.factor : ( expression )
84.factor : ID var'
85.factor : NUM
86.call : ID ( args )
87.args : arg-list
88.args : @
89.arg-list : expression arg-list#
90.arg-list# : , expression arg-list#
91.arg-list# : @
92.expression : NUM expression'
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -