Полное руководство по ANTLR -Первая программа не работает

Недавно я приобрел The Definitive ANTLR Reference и очень рад начать использовать ANTLR.
В первой главе показана эта грамматика.:

grammar T;

options {
    language = Java;
}

r : 'call' ID ';' {System.out.println("invoke " + $ID.text);} ;
ID : 'a'..'z'+ ;
WS : (' '|'\n'|'\r')+   {$channel=HIDDEN;} ;

Я скопировал эту грамматику в файл, (расширение.g ), сгенерировал лексер и синтаксический анализатор и создал такой основной класс :

import org.antlr.runtime.*;

public final class Test {
    public static void main(String[] args) throws Exception {
        ANTLRInputStream input = new ANTLRInputStream(System.in);
        TLexer lexer = new TLexer(input);
        CommonTokenStream tokens = new CommonTokenStream(lexer);
        TParser parser = new TParser(tokens);

        parser.r();
    }
}

. реальные ошибки, но когда я запускаю основной класс и ввожу :

call foo;

, ничего не происходит. На экран должно выводиться "invoke foo", но ничего не происходит. Я не хочу продолжать читать книгу, не выполнив ни одного упражнения. Я использую ANTLR 3.4 в Eclipse, если это имеет значение. Извините, если это кажется простым вопросом, но я новичок в ANTLR.

Спасибо,
Омер

5
задан Guy Coder 3 May 2012 в 05:09
поделиться