mac antrl4环境安装&第一个程序总结

访客 阅读:419 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.作者投稿可能会经我们编辑修改或补充。

我的关注

搜索
关注我们