📄 bnf
字号:
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 → id var-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 )
call → id ( 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 + -