Java, ANTLR и новичок Netbeans здесь.
Я установил JDK и NetBeans. Я запустил новый проект на NetBeans 6.8 и добавил antlr-3.2.jar в качестве библиотеки. Я также создал класс лексера и парсера, используя AntlrWorks. Эти классы называются ExprParser.java и ExprLexer.java. Я скопировал их в каталог с именем path-to-netbeans-project / src / parsers.
У меня есть основной файл:
package javaapplication2;
import org.antlr.runtime.*;
import parsers.*;
public class Main {
public static void main(String[] args) throws Exception{
ANTLRInputStream input = new ANTLRInputStream(System.in);
ExprLexer lexer = new ExprLexer(input);
CommonTokenStream tokens = new CommonTokenStream(lexer);
ExprParser parser = new ExprParser(tokens);
parser.prog();
}
}
Приложение прекрасно работает. В книге, которую я читаю, говорится, что я должен запустить программу и ввести некоторые данные, а затем нажать Ctrl + Z (я в Windows), чтобы отправить EOF на консоль. Проблема в том, что ничего не происходит, когда я нажимаю Ctrl + z в консоли NetBeans. Когда я запускаю из командной строки, Ctrl + Z работает нормально.
Это, вероятно, слишком много информации, но я не могу понять это. Сожалею. Вероятно, не стоит изучать сразу 3 новые технологии.