mac antrl4环境安装&第一个程序总结
虾米姐
阅读:744
2021-11-03 14:28:47
评论:0
本文章主要介绍了mac antrl4环境安装&第一个程序,具有不错的的参考价值,希望对您有所帮助,如解说有误或未考虑完全的地方,请您留言指出,谢谢!
设置环境,官网:IT虾米网
$ cd /usr/local/lib
$ sudo curl -O https://www.antlr.org/download/antlr-4.7.2-complete.jar
// 设置环境变量
$ vim .bash_profile
$ export CLASSPATH=".:/usr/local/lib/antlr-4.7.2-complete.jar:$CLASSPATH"
$ alias antlr4='java -jar /usr/local/lib/antlr-4.7.2-complete.jar'
$ alias grun='java org.antlr.v4.gui.TestRig'
$ wq! // 保存
$ source .bash_profile
// 测试,以下则成功:
$ antlr4
ANTLR Parser Generator Version 4.7.2
-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
-no-visitor don't generate parse tree visitor (default)
-package ___ specify a package/namespace for the generated code
-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
-Xexact-output-dir all output goes into -o dir regardless of paths/package
第一个测试程序,参考:IT虾米网
$ mkdir test
$ cd test/
$ vim Hello.g4
输入:
// Define a grammar called Hello
grammar Hello;
r : 'hello' ID ; // match keyword hello followed by an identifier
ID : [a-z]+ ; // match lower-case identifiers
WS : [ \t\r\n]+ -> skip ; // skip spaces, tabs, newlines
$ wq! // 保存
$ antlr4 Hello.g4
$ ls
Hello.g4 HelloBaseListener.java HelloLexer.tokens
Hello.interp HelloLexer.interp HelloListener.java
Hello.tokens HelloLexer.java HelloParser.java
$ javac Hello*.java
$ ls
Hello.g4 HelloLexer.java
Hello.interp HelloLexer.tokens
Hello.tokens HelloListener.class
HelloBaseListener.class HelloListener.java
HelloBaseListener.java HelloParser$RContext.class
HelloLexer.class HelloParser.class
HelloLexer.interp HelloParser.java
$ grun Hello r -gui // 按回车
hello test // 输入这个,再按回车
^D // 按ctrl+D 就出现gui图形界面了
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。