Posted on 2006-12-30 10:00
帅子 阅读(510)
评论(0) 编辑 收藏 所属分类:
j2se技术专区
0 antlr的运行需要jdk的支持,如果您没有安装,请先下载安装
http://java.sun.com/j2se/1.5.0/download.jsp
1 下载antlr的二进制包
http://www.antlr.org/download/antlr-2.7.6.tar.gz
解压到一个文件夹,比如f:\antlr-2.7.6,在该目录下面,可以看到antlr.jar。这个正是antlr的工具包。
2 设置环境变量
我的电脑-> 属性->高级-> 环境变量, 确保PATH里面含有jdk的bin路径,如”C:\Program Files\Java\j2sdk1.5.0\bin;”, 否则会提示找不到”java”命令
环境变量CLASSPATH指明了java执行时,搜索class库文件的路径。如果CLASSPATH变量不存在,就需要自己新建一下了。在变量值里面添加 .;F:\antlr-2.7.6\antlr.jar
各个路径以’;'分割, 第一个’.'表示总是先在当前目录寻找,第二个指明了antlr包的所在”F:\antlr-2.7.6\antlr.jar”。
3 这样就可以工作了。写一个简单的语法描述文件test.g, 运行命令
java antlr.Tool test.g
antlr就会为你自动生成lexer,parser,你只需要写一个test.java调用这些分析类–一个简单的分析器就完成了。
编译所有
java *.java
运行分析器类 test
java test
参考:
ANTLR Ashley J.S Mills Copyright � 2005 The University Of Birmingham
非常详细的介绍了如何使用antlr构造一个表达式分析器,计算表达式的值;还有一个 CSV 到XHTML的格式转换器(个人认为使用perl+正则表达式是不是更好?), csv是指使用逗号分割数据项的文本文件。
An ANTLR Tutorial
Scott Stanchfield
详细的介绍如何使用antlr一步一步构造一个完整的编译器 XL,可惜的是目前教程只完成了分析器这一块Build a Recognizer,对于symbol table, type checking,Build an AST,Write a Tree Walker to generate code,Write an Interpreter, Test the output code则没有涉及,期待中。