2016-04-11 23 views
1

Angenommen, ich habe folgende antlr Regel:Antlr4 - Parsen von rechts nach links nach links statt nach rechts

statement  : variableDeclaration 
       | printStatement 
       | functionCall 
       | returnStatement ; 

returnStatement : 'return' ; 

//other rules 

Und die einige Codes als

fun() { 
    return 5; 
} 
folgt

Die Art und Weise antlr die Linie parst gelassen wird Recht, die in den meisten Fällen erwartet.

Ich möchte jedoch zuerst Callback von Parser für 5 und die für return erhalten. Es bedeutet von rechts nach links zu analysieren.

Ist es möglich? Wenn ja, wie kann ich dies erreichen?

Antwort