0
点赞
收藏
分享

微信扫一扫

可视化语法分析树

精进的医生 2022-02-18 阅读 54


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 -gui

1.  控制台输入grun Calc prog -gui

2. 输入公式 ​敲回车

3. 输入ctrl+z 敲回车

可视化语法分析树_词法











举报

相关推荐

0 条评论