ANTLR4 java版代码生成指令参数详解
2017-07-07 11:32
471 查看
代码生成的指令参数
此处,我的环境是windows。Linux下相似。C:\Users\Jeremy>java -jar c:\Javalib\antlr-4.7-complete.jar ANTLR 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。
相关文章推荐
- keytool.exe的详解(参数)、命名行生成keystore、java代码生成keystore
- Android 通过Java代码生成创建界面。动态生成View,动态设置View属性。addRules详解
- Android 通过Java代码生成创建界面。动态生成View,动态设置View属性。addRules详解
- SQLMETAL使用LINQ自动代码生成工具命令残参数详解
- Java中可变长度参数代码详解
- java程序获得windows系统的一些参数(cmd指令运行返回结果)
- 用VC写Assembly代码(6)--附录3[X86指令使用详解]
- UML工具推荐 Poseidon版本 可以免费下载,自动生成代码 C++ Java C# VB.NET等 (来自德国汉堡的国际性建模软件开发商Gentleware AG的)
- [代码生成] 使用Java与XSLT的10条技巧
- 动态生成JAVA代码(二)
- Java中的Drag and Drop详解与代码示例
- zz网页中插入FLASH代码的参数详解
- 动态生成JAVA代码(一)
- JAVA生成一年十二月SQL代码
- java生成MD5代码的方法
- java代码自动生成
- 一个命令搞定Java Web通用添删改查及分页代码生成(音视频)
- 生成在blog中高亮+行号显示java代码的perl代码
- 动态生成JAVA代码的方法zz
- java代码框架生成工具 开发记录2005-03-02