📄 grammar-0.1.txt
字号:
Fava in C Grammar v0.1------------------------------------------------------------2002-2-1 ffxz: come from Fava Grammar 0.72------------------------------------------------------------program -> declaration-listdeclaration-list -> declaration-list declaration | declarationdeclaration -> package-declaration-list ; | function-declarationpackage-declaration-list -> package-declaration-list package-declaration | package- declarationpackage-declaration -> package ID : string package-block | package ID package-blockpackage-block -> { package_decl_list }package_decl_list -> package_decl | package_decl package_decl_listpackage-decl -> decl-native-func | decl-struct | decl-global | decl-functiondecl-native-func -> native type ID ( decl-param-list-opt );decl-struct ->decl-global ->decl-function ->modifier-list -> modifier-list modifier | modifiermodifier -> static | native | unsigned variable-list -> variable-list, variable-declaration | variable-declarationvariable-declaration -> ID | ID = expressionfunction-declaration -> function main( function-arg-list[opt] ) compound- statementfunction-arg-list -> function-arg-list , function-arg | function-argfunction-arg -> type IDtype -> int | char | float | double | string | void | short | bool | pointercompound-statement -> { statment-list }statement-list -> statement-list statement | statementstatement -> compound-statement | if ( expression ) statement | if ( expression ) statement else statement | while ( expression ) statement | for ( expression[opt] ; expression[opt] ; expression[opt] ) statement | switch ( expression ) { case-statement-list } | break ; | continue ; | return expression[opt] ; | type variable-list ; | expression ; | ;case-statement-list -> case-statement-list case-statement | case-statementcase-statement -> label-statement statement-listlabel-statement -> case expression: | default :expression -> assignment-expression | expression , assignment-expressionassignment-expression -> conditional-expression | logical-or-expression assignment-operator assignment-expressionassignment-operator -> =conditional-expression -> logical-or-expression | logical-or-expression ? expression : assignment-expressionlogical-or-expression -> logical-and-expression | logical-or-expression || logical-and-expressionlogical-and-expression -> inclusive-or-expression | logical-and-expression && inclusive-or-expressioninclusive-or-expression -> exclusive-or-expressionexclusive-or-expression -> and-expressionand-expression -> equality-expressionequality-expression -> relational-expression | equality-expression == relational-expression | equality-expression != relational-expressionrelational-expression -> additive-expression | relational-expression < additive-expression | relational-expression > additive-expression | relational-expression <= additive-expression | relational-expression >= additive-expressionadditive-expression -> multiplicative-expression | additive-expression + multiplicative-expression | additive-expression - multiplicative-expressionmultiplicative-expression -> unary-expression | multiplicative-expression * unary-expression | multiplicative-expression / unary-expression | multiplicative-expression % unary-expressionunary-expression -> postfix-expression | unary-operator unary-expressionunary-operator -> + | - postfix-expression -> primary-expression | postfix-expression [ expression ] | postfix-expression ( call-arg-list[opt] ) | postfix-expression -> expression | postfix-expression ++ | postfix-expression -- | addrof ( expression ) | contentof ( expression )primary-expression -> literal | ( expression ) | ID | null | false | truecall-arg-list -> assignment-expression | call-arg-list , assignment-expressionliteral -> integer-literal | floating-literal | character-literal | string-literal | boolean-literal | null-literal
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -