Calc.g4
grammar Calc;
// 下面是语法
prog:   stat+ ;
stat:   expr ';'                # printExpr
    |   ID '=' expr ';'         # assign
    |   NEWLINE                 # blank
    ;
expr:   expr op=('*'|'/') expr      # MulDiv
    |   expr op=('+'|'-') expr      # AddSub
    |   INT                         # int
    |   ID                          # id
    |   '(' expr ')'                # parens
    ;
// 下面是词法
MUL :   '*' ;
DIV :   '/' ;
ADD :   '+' ;
SUB :   '-' ;
ID  :   [a-zA-Z]+ ;      // 匹配标识符
INT :   [0-9]+ ;         // 匹配整数
WS  :   [ \t]+ -> skip ; // 忽略空白符
NEWLINE:'\r'? '\n' ;     // 空行生成java文件
antlr4 Calc.g4编译
javac *.java测试验证语法组件
grun Calc prog -gui1. 控制台输入grun Calc prog -gui
2. 输入公式 敲回车
3. 输入ctrl+z 敲回车










