t017parser.g

来自「antlr最新版本V3源代码」· G 代码 · 共 92 行

G
92
字号
grammar t017parser;options {    language = Python;}program    :   declaration+    ;declaration    :   variable    |   functionHeader ';'    |   functionHeader block    ;variable    :   type declarator ';'    ;declarator    :   ID     ;functionHeader    :   type ID '(' ( formalParameter ( ',' formalParameter )* )? ')'    ;formalParameter    :   type declarator            ;type    :   'int'       |   'char'      |   'void'    |   ID            ;block    :   '{'            variable*            stat*        '}'    ;stat: forStat    | expr ';'          | block    | assignStat ';'    | ';'    ;forStat    :   'for' '(' assignStat ';' expr ';' assignStat ')' block            ;assignStat    :   ID '=' expr            ;expr:   condExpr    ;condExpr    :   aexpr ( ('==' | '<') aexpr )?    ;aexpr    :   atom ( '+' atom )*    ;atom    : ID          | INT          | '(' expr ')'    ; ID  :   ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'0'..'9'|'_')*    ;INT :	('0'..'9')+    ;WS  :   (   ' '        |   '\t'        |   '\r'        |   '\n'        )+        {$channel=HIDDEN}    ;    

⌨️ 快捷键说明

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