📄 grammar
字号:
program → declaration-list
declaration-list → declaration declaration-list-1
declaration-list-1 → declaration declaration-list-1 | EMPTY
declaration → type-specifier ID declaration-1
declaration-1 → var-declaration-1 | ( params ) compound-stmt
var-declaration → type-specifier ID var-declaration-1
var-declaration-1 → ; | [ NUM ] ;
type-specifier → int | void
fun-declaration → type-specifier ID ( params ) compound-stmt
params → void params-1 | int ID param-1 param-list-1
params-1 → ID param-1 param-list-1 | EMPTY
param-list → param param-list-1
param-list-1 → , param param-list-1 | EMPTY
param → type-specifier ID param-1
param-1 → [ ] | EMPTY
compound-stmt → { local-declarations statement-list }
local-declarations → local-declarations-1
local-declarations-1 → var-declaration local-declarations-1 | EMPTY
statement-list → statement-list-1
statement-list-1 → statement statement-list-1 | EMPTY
statement → expression-stmt | compound-stmt | selection-stmt | iteration-stmt | return-stmt
selection-stmt → if ( expression ) statement selection-stmt-1
selection-stmt-1 → else statement | EMPTY
expression-stmt → expression ; | ;
iteration-stmt → while ( expression ) statement
return-stmt → return return-stmt-1
return-stmt-1 → ; | expression ;
expression → ID expression-1 | ( expression ) term-1 additive-expression-1 simple-expression-1 | NUM term-1 additive-expression-1 simple-expression-1
expression-1 → var-1 expression-2 | ( args ) term-1 additive-expression-1 simple-expression-1
expression-2 → = expression | term-1 additive-expression-1 simple-expression-1
var-1 → [ expression ] | EMPTY
simple-expression → additive-expression simple-expression-1
simple-expression-1 → relop additive-expression | EMPTY
relop → <= | < | > | >= | == | !=
additive-expression → term additive-expression-1
additive-expression-1 → addop term additive-expression-1 | EMPTY
addop → + | -
term → factor term-1
term-1 → mulop factor term-1 | EMPTY
mulop → * | /
factor → ( expression ) | NUM | ID factor-1
factor-1 → var-1 | ( args )
args → arg-list | EMPTY
arg-list → expression arg-list-1
arg-list-1 → , expression arg-list-1 | EMPTY
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -