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

📄 grammar.txt

📁 一个不算完整的编译器实现
💻 TXT
字号:
program declaration-list
declaration-list declaration-list declaration
declaration-list declaration
declaration var-declaration
declaration fun-declaration
var-declaration type-specifier ID ;
var-declaration type-specifier ID [ NUM ] ;
type-specifier int
type-specifier void
type-specifier bool
fun-declaration type-specifier ID ( params ) compound-stmt
params param-list
params void
param-list param-list , param
param-list param
param type-specifier ID
param type-specifier ID [ ]
compound-stmt { local-declarations statement-list }
local-declarations local-declarations var-declaration
local-declarations #
statement-list statement-list statement
statement-list #
statement expression-stmt
statement compound-stmt
statement selection-stmt
statement iteration-stmt
statement return-stmt
expression-stmt expression ;
expression-stmt ;
selection-stmt if ( expression ) statement
selection-stmt if ( expression ) statement else statement
iteration-stmt while ( expression ) statement
return-stmt return ;
return-stmt return expression ;
expression var = expression
expression simple-expression
var ID
var ID [ expression ]
simple-expression additive-expression relop additive-expression
simple-expression additive-expression
relop <=
relop <
relop >
relop >=
relop ==
relop !=
additive-expression additive-expression addop term
additive-expression term
addop +
addop -
addop ||
addop |
term term mulop unary-expression
term unary-expression
mulop *
mulop /
mulop %
mulop &&
unary-expression unaryop unary-expression
unary-expression factor
unaryop !
unaryop -
factor ( expression )
factor var
factor call
factor constant
constant NUM
constant true
constant false
call ID ( args )
args arg-list
args #
arg-list arg-list , expression
arg-list expression

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -