は、私は、入力として使用ANTLRANTRLシンプルな文法や識別子
grammar ALang;
@members {
public static void main(String[] args) throws Exception {
ALangLexer lex = new ALangLexer(new ANTLRFileStream("antlr/ALang.al"));
CommonTokenStream tokens = new CommonTokenStream(lex);
ALangParser parser = new ALangParser(tokens);
parser.prog();
}
}
prog :
ID | PRINT
;
PRINT : 'print';
ID : ('a'..'z' | 'A'..'Z')+;
WS : (' ' | '\t' | '\n' | '\r')+ { skip(); };
のために、この単純な文法を書いた:
print
見つけた唯一のトークンが型IDのトークンです。 PRINTトークン定義をID定義の直前に置くだけでは不十分ですか?
は、PRINT非終端記号定義上のスペースがありませんか? – Yola