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

 

posted @ 2012-02-24 16:07  justinzhang  阅读(9000)  评论(11编辑  收藏  举报