查看“Getting-started.md”的源代码
←
Getting-started.md
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
{{MARKDOWN}} # 开始使用ANTLR v4 大家好,欢迎来到ANTLR的第4版! 它以 [Crazy Nasty-Ass Honey Badger](http://www.youtube.com/watch?v=4r7wHMg5Yjg),因为ANTLR v4会拿走你给它的任何东西--它根本不在乎! 参见[Why do we need ANTLR v4?](faq/general.md)和[preface of the ANTLR v4 book](http://media.pragprog.com/titles/tpantlr2/preface.pdf). ## 安装说明 ANTLR实际上是两件事: 一种工具,用于将语法转换为Java(或其他目标语言)中的语法分析器/词法分析器,以及生成的语法分析器/词法分析器所需的运行时。 即使您使用ANTLR IntelliJ插件或ANTLRWorks来运行ANTLR工具,生成的代码仍然需要运行时库。 您应该做的第一件事可能是下载并安装开发工具插件。 即使你只使用这些工具进行编辑,它们也很棒。 然后,按照下面的说明获取系统可用的运行时环境,以运行生成的解析器/词法分析器。 在接下来的内容中,我将讨论antlr-4.9-complete.jar,它具有该工具和运行时以及任何其他支持库 (例如,ANTLR v4是用v3编写的)。 如果您打算使用mvn、ant将ANTLR集成到现有的构建系统中,或者希望将ANTLR集成到您的IDE中,例如eclipse或intellij中, see [Integrating ANTLR into Development Systems](https://github.com/antlr/antlr4/blob/master/doc/IDEs.md). ### UNIX 0. Install Java (version 1.7 or higher) 1. Download ``` $ cd /usr/local/lib $ curl -O https://www.antlr.org/download/antlr-4.9-complete.jar ``` 或者只是在浏览器中从网站下载: [https://www.antlr.org/download.html](https://www.antlr.org/download.html) 把它放在理性的地方,比如“/usr/local/lib”。 2. Add `antlr-4.9-complete.jar` to your `CLASSPATH`: ``` $ export CLASSPATH=".:/usr/local/lib/antlr-4.9-complete.jar:$CLASSPATH" ``` 将其放入您的`.bash_profile`或您的启动脚本中也是一个好主意。 3. 为ANTLR工具和 “测试” 创建别名。 ``` $ alias antlr4='java -Xmx500M -cp "/usr/local/lib/antlr-4.9-complete.jar:$CLASSPATH" org.antlr.v4.Tool' $ alias grun='java -Xmx500M -cp "/usr/local/lib/antlr-4.9-complete.jar:$CLASSPATH" org.antlr.v4.gui.TestRig' ``` ### WINDOWS (*Thanks to Graham Wideman*) 0. Install Java (version 1.7 or higher) 1. Download antlr-4.9-complete.jar (or whatever version) from [https://www.antlr.org/download/](https://www.antlr.org/download/) Save to your directory for 3rd party Java libraries, say `C:\Javalib` 2. Add `antlr-4.9-complete.jar` to CLASSPATH, either: * Permanently: Using System Properties dialog > Environment variables > Create or append to `CLASSPATH` variable * Temporarily, at command line: ``` SET CLASSPATH=.;C:\Javalib\antlr-4.9-complete.jar;%CLASSPATH% ``` 3. Create short convenient commands for the ANTLR Tool, and TestRig, using batch files or doskey commands: * Batch files (in directory in system PATH) antlr4.bat and grun.bat ``` java org.antlr.v4.Tool %* ``` ``` @ECHO OFF SET TEST_CURRENT_DIR=%CLASSPATH:.;=% if "%TEST_CURRENT_DIR%" == "%CLASSPATH%" ( SET CLASSPATH=.;%CLASSPATH% ) @ECHO ON java org.antlr.v4.gui.TestRig %* ``` * Or, use doskey commands: ``` doskey antlr4=java org.antlr.v4.Tool $* doskey grun =java org.antlr.v4.gui.TestRig $* ``` ###测试安装 直接启动org.antlr.v4.Tool: ``` $ java org.antlr.v4.Tool ANTLR Parser Generator Version 4.9 -o ___ specify output directory where all output is generated -lib ___ specify location of .tokens files ... ``` or use -jar option on java: ``` $ java -jar /usr/local/lib/antlr-4.9-complete.jar ANTLR Parser Generator Version 4.9 -o ___ specify output directory where all output is generated -lib ___ specify location of .tokens files ... ``` ## 第一个例子 在临时目录中,将以下语法放入文件Hello中。g4:你好。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 ``` 然后在其上运行ANTLR工具: ``` $ cd /tmp $ antlr4 Hello.g4 $ javac Hello*.java ``` 现在测试一下: ``` $ grun Hello r -tree (Now enter something like the string below) hello parrt (now,do:) ^D (The output:) (r hello parrt) (That ^D means EOF on unix; it's ^Z in Windows.) The -tree option prints the parse tree in LISP notation. It's nicer to look at parse trees visually. $ grun Hello r -gui hello parrt ^D ``` 弹出一个对话框,显示规则'r'匹配的关键字'hello',后跟标识符'parrt'。 ![](images/hello-parrt.png) ## 图书源代码 这本书有很多也应该有用的例子。 你可以在这里免费下载: [http://pragprog.com/titles/tpantlr2/source_code](http://pragprog.com/titles/tpantlr2/source_code) 此外,在GitHub上有大量v4的语法集合: [https://github.com/antlr/grammars-v4](https://github.com/antlr/grammars-v4)
返回至“
Getting-started.md
”。
导航菜单
个人工具
登录
命名空间
页面
讨论
变体
已展开
已折叠
查看
阅读
查看源代码
查看历史
更多
已展开
已折叠
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息