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

📄 grammar

📁 C语言的词法、语法分析器 输出语法分析树
💻
字号:
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 + -