2010-11-28 6 views

Antwort

21

Jen schrieb:

... was die praktischen Unterschiede zwischen diesen beiden Aussagen in ANTLR sind ...

MY_RULE wird verwendet, um die Eingangsquelle tokenize. Es stellt einen grundlegenden Baustein Ihrer Sprache dar.

my_rule wird vom Parser aufgerufen, es besteht aus null oder mehr anderen Parserregeln oder Token, die vom Lexer erzeugt werden.

Das ist der Unterschied.

Jen schrieb:

sie in verschiedenen AST Bäume führen Sie? Unterschiedliche Leistung? ...

Der Parser baut den AST mit Tokens auf, die vom Lexer erzeugt werden, daher ergeben die Fragen keinen Sinn (für mich). Ein Lexer "füttert" den Parser nur mit einem eindimensionalen Tokenstrom.