⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 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 + -