我正在尝试在Eclipse Luna(4.4)上安装ANTLR 4 IDE。我已经从Marketplace中安装了它,但是我不知道如何创建一个包含ANTLR 4 Lexer/Parser的项目。
当我尝试创建一个新项目时,我没有看到任何关于ANTLR 4的选项。我尝试创建一个.g4文件并在编辑器中打开它,但保存后什么也没发生。
我正在尝试在Eclipse Luna(4.4)上安装ANTLR 4 IDE。我已经从Marketplace中安装了它,但是我不知道如何创建一个包含ANTLR 4 Lexer/Parser的项目。
当我尝试创建一个新项目时,我没有看到任何关于ANTLR 4的选项。我尝试创建一个.g4文件并在编辑器中打开它,但保存后什么也没发生。
帮助 > 安装新软件...
工作区
文本框中输入http://download.eclipse.org/modeling/tmf/xtext/updates/composite/releases/
Xtext
节点并检查Xtext Complete SDK
(确保版本为2.7.3x)下一步
,同意最终用户许可协议,并单击完成帮助 > 安装新软件...
工作区
文本框中输入http://download.eclipse.org/releases/luna
Facet
Eclipse Faceted Project Framework
和Eclipse Faceted Project Framework JDT Enablement
下一步
,同意最终用户许可协议,并单击完成帮助 > Eclipse Marketplace...
antlr
ANTLR 4 IDE
(确保是ANTLR 4 IDE而不是ANTLR IDE)文件 > 新建项目 > 项目
常规选项卡
并选择 ANTLR 4 项目
(如果您没有看到这个选项,请参考设置步骤4)下一步
,给项目命名并点击 完成
属性
项目面板
,点击 转换为面向对象的形式...
(如果您没有看到这个选项,请参考设置步骤3)Java
项目面板并点击 应用
(如果您没有看到这个选项,请参考设置步骤3)确定
,让解决方案重新构建,再次打开属性Java 构建路径
,点击 源码
选项卡添加文件夹...
并勾选 项目 > target > generated-sources > antlr4
,点击 确定
库
选项卡添加外部 JAR 文件...
,找到您的 antlr-4.x-complete.jar
文件,点击 打开
ANTLR 4 > 工具
,如果弹出窗口请点击 应用
启用项目特定设置
添加
,找到您的 antlr-4.x-complete.jar
文件,点击 打开
4.x
应用
,点击 是
以重新构建,点击 确定
退出属性测试
创建一个新类,使用以下代码并尝试运行。在控制台中输入Hello there
,然后按下Ctrl + z将EOF发送到输入流中。
import org.antlr.v4.runtime.*;
import org.antlr.v4.runtime.tree.*;
public class HelloRunner
{
public static void main( String[] args) throws Exception
{
ANTLRInputStream input = new ANTLRInputStream( System.in);
HelloLexer lexer = new HelloLexer(input);
CommonTokenStream tokens = new CommonTokenStream(lexer);
HelloParser parser = new HelloParser(tokens);
ParseTree tree = parser.r(); // begin parsing at rule 'r'
System.out.println(tree.toStringTree(parser)); // print LISP-style tree
}
}
注意事项
ANTLR 4 > 工具
时看到错误,请检查您的 Xtext 版本,2.8.0 会导致工具窗口出错。如果您注意到您添加到 ANTLR 4 > 工具 > 分发
的 ANTLR 版本消失了,这似乎是正常的
ANTLR Tool v4.5 (C:\JavaLib\antlr-4.5-complete.jar)
Hello.g4 -o C:\Users\username\workspace\project\target\generated-sources\antlr4 -listener -no-visitor -encoding UTF-8