Posted on 2006-12-30 10:00
帥子 閱讀(514)
評論(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則沒有涉及,期待中。