kid.grammar

来自「这是一个DFA简化和生成LL(1)分析表的程序,自动生成表格及图形」· GRAMMAR 代码 · 共 68 行

GRAMMAR
68
字号
program: statement_list eofile       | <error>statement_list: statement(s)statement: if_statement         | block /;?/         | declaration         | assignment /;?/         | list_assignment /;?/         | comment         | <error>if_statement: 'if' <commit> '(' condition ')' statement <uncommit>              'else' <commit> else_statement            |  'if' <commit> '(' condition ')' statement <uncommit>            | <error?> <reject>condition: expression rel_op <commit> rhs_expression         | <error?> <reject>rel_op: />=|>|<=|<>|<|=/rhs_expression: expressionelse_statement: statementblock: '{' <commit> statement_list '}'     | <error?> <reject>declaration: proc_declproc_decl: 'proc' <commit> identifier '(' identifier_list ')' blockidentifier_list: identifier(s /,/)assignment: var ':=' <commit> expression          | <error?> <reject>list_assignment: identifier_list ':=' <commit> expression_list               | <error?> <reject>var: identifieridentifier: /[A-Za-z_]\w*/expression: <leftop: term /([-+])/ term>term: <leftop: factor /([*\/])/ factor>    | neg <leftop: factor /([*\/])/ factor>neg: '-'factor: number      | '(' <commit> expression ')'      | proc_call      | varproc_call: identifier '(' expression_list ')'expression_list: expression(s /,/)number: /-?\d+(?:\.\d+)?/comment: /#.*/eofile: /^\Z/

⌨️ 快捷键说明

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