2016-04-11 4 views
1

Пусть у меня есть следующие Antlr правила:Antlr4 - разбор справа налево, а не слева направо

statement  : variableDeclaration 
       | printStatement 
       | functionCall 
       | returnStatement ; 

returnStatement : 'return' ; 

//other rules 

И в какой-то код следующим

fun() { 
    return 5; 
} 

Путь ANTLR разбирает линия остается право, которое в большинстве случаев ожидается.

Я хотел бы сначала получить обратный вызов от парсера за 5 и за return. Это означает право на разбор.

Возможно ли это? Если да, как я могу это достичь?

ответ