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

📄 文法说明.txt

📁 语法分析程序 实现C语言的语法分析过程
💻 TXT
字号:
program : declaration-list
declaration-list : declaration-list declaration | declaration
declaration : var-declaration | fun-declaration | struct-declaration
struct-declaration : struct ID struct-stmt
struct-stmt : { local-declarations }
var-declaration : type-specifier ID ; | type-specifier ID [ NUM ] ;
type-specifier : int | void
fun-declaration : type-specifier ID ( params ) | compound-stmt
params : params-list | void
param-list : param-list , param | param
param : type-specifier ID | type-specifier ID [ ]
compound-stmt : { local-declarations statement-list }
local-declarations : local-declarations  var-declaration | empty
statement-list : statement-list statement | empty
statement : expression-stmt | compound-stmt | selection-stmt | iteration-stmt | jump-stmt
expression-stmt : expression ; | ;
selection-stmt : if ( expression ) statement | if ( expression ) statement else statement
iteration-stmt : while(expression) statement | do compound-stmt while ( expression ) ;
jump-stmt : continue ';' | break ';' | return-stmt
return-stmt : return ; | return expression ;
expression : var = expression | simple-expression
var : ID | ID [ expression ] | ID . ID
simple-expression : additive-expression relop additive-expression | additive-expression
relop : <= | < | > | >= | == | !=
additive-expression : additive-expression addop term | term
addop : + | -
term : term mulop factor | factor
mulop : * | /
factor : ( expression ) | var | call | NUM
call : ID ( args )
args : arg-list | empty
arg-list : arg-list , expression | expression

empty 表示空
终结符号 
@ ID struct { } ; [ ] int void ( ) NUM , . if else while do continue break return <= < > >= == != + - * / =  (@表示空)
非终结符号
program
declaration-list
declaration-list#
declaration
declaration'
struct-declaration
struct-stmt
var-declaration
var-declaration'
fun-declaration
type-specifier
params
params'
param-list
param-list#
param
param'
compound-stmt
local-declarations
local-declarations#
statement-list
statement-list#
statement
expression-stmt
selection-stmt
selection-stmt'
iteration-stmt
jump-stmt
return-stmt
return-stmt'
expression
expression'
expression''
var
var'
simple-expression
simple-expression'
relop
additive-expression
additive-expression#
addop
term
term#
mulop
factor
call
args
arg-list
arg-list#

⌨️ 快捷键说明

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