Posted on 2006-12-30 09:59
帥子 閱讀(1199)
評論(0) 編輯 收藏 所屬分類:
J2EE技術(shù)專區(qū)
0 antlr的運(yùn)行需要jdk的支持,如果您沒有安裝,請先下載安裝
http://java.sun.com/j2se/1.5.0/download.jsp
1 下載antlr的二進(jìn)制包
http://www.antlr.org/download/antlr-2.7.6.tar.gz
解壓到一個(gè)文件夾,比如f:\antlr-2.7.6,在該目錄下面,可以看到antlr.jar。這個(gè)正是antlr的工具包。
2 設(shè)置環(huán)境變量
我的電腦-> 屬性->高級-> 環(huán)境變量, 確保PATH里面含有jdk的bin路徑,如”C:\Program Files\Java\j2sdk1.5.0\bin;”,? 否則會(huì)提示找不到”java”命令
環(huán)境變量CLASSPATH指明了java執(zhí)行時(shí),搜索class庫文件的路徑。如果CLASSPATH變量不存在,就需要自己新建一下了。在變量值里面添加? .;F:\antlr-2.7.6\antlr.jar
各個(gè)路徑以’;'分割,?第一個(gè)’.'表示總是先在當(dāng)前目錄尋找,第二個(gè)指明了antlr包的所在”F:\antlr-2.7.6\antlr.jar”。
3 這樣就可以工作了。寫一個(gè)簡單的語法描述文件test.g, 運(yùn)行命令
java antlr.Tool test.g
antlr就會(huì)為你自動(dòng)生成lexer,parser,你只需要寫一個(gè)test.java調(diào)用這些分析類–一個(gè)簡單的分析器就完成了。
編譯所有
java *.java
運(yùn)行分析器類 test
java test
參考:
ANTLR Ashley J.S Mills Copyright ? 2005 The University Of Birmingham
非常詳細(xì)的介紹了如何使用antlr構(gòu)造一個(gè)表達(dá)式分析器,計(jì)算表達(dá)式的值;還有一個(gè) CSV 到XHTML的格式轉(zhuǎn)換器(個(gè)人認(rèn)為使用perl+正則表達(dá)式是不是更好?), csv是指使用逗號分割數(shù)據(jù)項(xiàng)的文本文件。
An ANTLR Tutorial Scott Stanchfield
詳細(xì)的介紹如何使用antlr一步一步構(gòu)造一個(gè)完整的編譯器 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則沒有涉及,期待中。