Шаблон грамматики Python в ANTLR Java - PullRequest
0 голосов
/ 22 марта 2012

В настоящее время я пытаюсь запустить шаблон грамматики 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, который я мог бы использовать для тестирования?

...