ANTLR4 java版代码生成指令参数详解
来源:互联网 发布:数据采集器的工作原理 编辑:程序博客网 时间:2024/06/07 06:54
代码生成的指令参数
此处,我的环境是windows。Linux下相似。
C:\Users\Jeremy>java -jar c:\Javalib\antlr-4.7-complete.jarANTLR Parser Generator Version 4.7 -o ___ specify output directory where all output is generated(指定生成代码的 存放目录) -lib ___ specify location of grammars, tokens files -atn generate rule augmented transition network diagrams -encoding ___ specify grammar file encoding; e.g., euc-jp -message-format ___ specify output style for messages in antlr, gnu, vs2005 -long-messages show exception details when available for errors and warnings -listener generate parse tree listener (default) -no-listener don't generate parse tree listener -visitor generate parse tree visitor(指定要生成 用于遍历parse tree的visitor相关类方法) -no-visitor don't generate parse tree visitor (default) -package ___ specify a package/namespace for the generated code(为生存的代码 指定package名和命名空间) -depend generate file dependencies -D<option>=value set/override a grammar-level option -Werror treat warnings as errors -XdbgST launch StringTemplate visualizer on generated code -XdbgSTWait wait for STViz to close before continuing -Xforce-atn use the ATN simulator for all predictions -Xlog dump lots of logging info to antlr-timestamp.log
针对前面博文中的Hello.g4实例,运行如下命令(我这是在Windows下的MINGW终端下运行的。antlr-4.7-complete.jar放在C盘的Javalib目录下。)
//根据grammar文件生成相应的ANTLR API 代码.java文件$ java -jar /c/Javalib/antlr-4.7-complete.jar -visitor Hello.g4//编译java代码$ javac Hello*.java
此时,得到最终的Hello可执行程序。
这里我加上”-visitor”参数,即代表了要生成用于遍历parse tree的visitor相关类方法。
示例测试
方法一:
通过文本显示结果。
$ java org.antlr.v4.gui.TestRig Hello r -tree(输入) hello username^D(r hello username)
(That ^D means EOF on unix; it’s ^Z in Windows.) The -tree option prints the parse tree in LISP notation.
方法二:
通过可视化UI来显示 parse trees 可能更加直观。命令如下:
$ java org.antlr.v4.gui.TestRig Hello r -gui(输入) hello username^D
随后便弹出一个对话框来显示规则r:在关键字hello后面跟了一个username。
阅读全文
0 0
- ANTLR4 java版代码生成指令参数详解
- keytool.exe的详解(参数)、命名行生成keystore、java代码生成keystore
- ANTLR4在windows上的安装(java版)
- AngularJS指令参数详解
- angularJS指令参数详解
- AngularJS指令参数详解
- AngularJS指令参数详解
- AngularJS指令参数详解
- AngularJS指令参数详解
- AngularJS指令参数详解
- AngularJS指令参数详解
- angular 自定义指令参数详解
- arm指令编译参数详解
- adb logcat指令参数详解
- 数据库mysqldump指令参数详解
- java虚拟机指令详解
- cmd下生成wsdl客户端代码指令
- Linux防火墙iptables详解(二)--参数指令
- Spring+Springmvc+mybatis
- TensorFlow——训练自己的数据(一)数据处理
- redis1安装以及使用
- kafka单机环境搭建与测试
- ODBC学习笔记—SQLGetStmtAttr
- ANTLR4 java版代码生成指令参数详解
- 数据工程的崛起
- PackageInfo/ApplicationInfo/ActivityInfo
- 常见的23种设计模式
- 堆排序与冒泡排序的比较
- CSS关于POSOTION的问题
- jQuery源码分析-----CallBacks--memory
- linux系统安装maven
- 特征提取(Feature Detection)之——HOG (Histogram of Oriented Gradient)特征