Java、ANTLR 和 Netbeans 新手在这里。
我已经安装了 jdk 和 netbeans。我在 netbeans 6.8 上开始了一个新项目,并将 antlr-3.2.jar 添加为库。我还使用 AntlrWorks 创建了一个词法分析器和解析器类。这些类被命名为 ExprParser.java 和 ExprLexer.java。我将它们复制到名为 path-to-netbeans-project/src/parsers 的目录中。
我有一个主文件:
包javaapplication2; 导入 org.antlr.runtime.*; 导入解析器。*; 公共类主要{ 公共静态 void main(String[] args) 抛出异常 { ANTLRInputStream 输入 = 新的 ANTLRInputStream(System.in); ExprLexer 词法分析器 = 新的 ExprLexer(输入); CommonTokenStream 令牌 = new CommonTokenStream(lexer); ExprParser 解析器 = 新的 ExprParser(tokens); 解析器.prog(); } }
应用程序构建良好。我正在阅读的书说我应该运行程序并输入一些内容,然后按 Ctrl+Z(我在 Windows 上)将 EOF 发送到控制台。问题是当我在 netbeans 控制台中按 Ctrl+z 时没有任何反应。当我从命令行运行时, ctrl+z 工作正常。
这可能是太多的信息,但我无法弄清楚。对不起。一次学习 3 项新技术可能不是一个好主意。