Antlr+Eclipse開發環境的搭建


從昨晚到現在,我一直都在設法在Eclipse下搭建Antlr開發環境。

由於以前對classic的Eclipse不是很熟,在手動安裝插件時遇到了困難。

先從http://www.eclipse.org/downloads/上下載classic版本的Eclipse:

image

進入http://www.antlr.org/wiki/display/ANTLR3/ANTLR+3+Wiki+Home頁面:

image

進入后選擇:

image

選擇http://antlrv3ide.sourceforge.net/

image

進入AntlrIDE主頁,選擇download:

image

可以看到安裝ANTLR-IDE的先決條件,要安裝GEF、Zest和Dynamic Language ToolKit,剛開始我用updatemanager的方式來下載這些軟件,但是不知道為什么,有很多都出現下載錯誤。最后只好用手動的方式安裝部分插件。在Eclipse的更新管理器image

輸入如下網址http://download.eclipse.org/tools/gef/updates/releases/,獲取GEF/ZEST插件

image

用手動的方式安裝EMF/AntlrIDE/Dynamic Language Toolkit(DLTK) Core插件.

EMF插件下載地址:http://www.eclipse.org/modeling/emf/downloads/index.php?project=emf&showAll=0&showMax=5

下載EMF Runtime:

image

AntlrIDE下載地址:

http://sourceforge.net/projects/antlrv3ide/files/antlride/2.1.0/antlride-2.1.2.zip/download

image

 

Dynamic Language Toolkit(DLTK) Core下載地址:http://download.eclipse.org/technology/dltk/downloads/drops/R3.0/R-3.0-201106091504/,下載:

image 

將上面的插件下載后,用手動的方式進行安裝,安裝步驟如下:

在F:\Eclipse-EMF\eclipse-SDK-3.7.1-win32\eclipse目錄下建立extplugins和links兩個目錄:

image 

將下載的插件放入到extplugins目錄下:

image

在links目錄下建立如下三個文件:

image

文件的內容如下:

image

 

image

image

現在所有的軟件都已經安裝好了,我們可以在eclipse中檢查下看是否安裝成功:

windows->preferences下:

image

在Antlr下的Builder中添加altlr parser generator,下載地址如下:

http://www.antlr.org/download.html

image

然后設置Antlr自動生成文件

image

-----------------------------------------------分割線-------------------------------------------

現在開始在eclipse下建立一個Java工程,然后在Java工程中添加Antlr文件:

image

image

image

 

在Antlr_test.g下輸入如下文法:

grammar Antlr_test;

options {
  language = Java;
}

programe: statement +;
statement : (expression | VAR '=' expression) ';';
expression: (multExpr (('+' | '-')multExpr)*) | STRING;
multExpr:  atom ('*'atom)*;
atom  :  INT | '(' expression ')';
VAR : ('a'..'z' | 'A'..'Z')+;
INT : '0'..'9'+;
STRING  : '"'(('A'..'Z'| 'a'..'z')+)'"';
WS  : (' ' | '\t' | '\n' | '\r')+ {Skip();};

image

然后將Javaproject轉化為Antlr工程,這一步困擾了我好久………………

image

最后可以看到Antlr自動生成的Java代碼:

image 

image

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM