В настоящее время я пытаюсь запустить шаблон грамматики Python с веб-сайта ANTLR. Я изучаю, в настоящее время пытаюсь запустить тестовый ввод из него, но, похоже, не генерирует никаких сообщений об ошибках. Что может быть причиной этого? В настоящее время я использую следующий синтаксис:
CharStream input = new ANTLRFileStream("t1.py");
System.out.println(input);
PythonLexer lexer = new MyLexer(input);
CommonTokenStream tokens = new CommonTokenStream(lexer);
PythonTokenSource indentedSource = new PythonTokenSource(tokens);
tokens = new CommonTokenStream(indentedSource);
PythonParser parser = new PythonParser(tokens);
System.out.println(tokens);
System.out.println("tokens="+tokens.getTokens());
parser.file_input();
Что в основном происходит, так это то, что только мой ввод отображается, и он показывает строку, выполненную, если она выполнена, но мой вводимый текст такой:
asdasdasdasdguess = "a"
a = raw_input('Please enter a value:')
correct = "b"
if guess == correct:
print "That's it!\n"
и мой вывод показывает это:
asdasdasdasdguess = "a"
a = raw_input('Please enter a value:')
correct = "b"
if guess == correct:
print "That's it!\n"
done
Разве это не должно вызывать ошибку, поскольку после всех вводимых данных это ошибка? Или это потому, что я использовал неправильную грамматику? Я пытаюсь понять, как он должен читать входные данные, но все примеры, которые я видел, использовали правильные входные данные, поэтому я не мог определить, что произойдет, если вы использовали неправильный ввод. И если вы считаете, что моя грамматика неверна Не могли бы вы предложить образец шаблона грамматики Python, который я мог бы использовать для тестирования?