anltr 3.4
parser grammar:
additiveExpression
: multiplicativeExpression
(
( '+'^
| '-'^
)
multiplicativeExpression
)*
;
tree grammar:
expression
@init
{
$start.setOriginalText($text);//try to record source code
}
: ^('+' e1=expression e2=expression)
{
//do something
}
| ^('-' e1=expression e2=expression)
{
//do something
}
;
Example:
1+1+1+1;
AST:
+ $text=1+1+1+1 correct
+ 1 $text=+ wrong
+ 1 $text=+ wrong
1 1
I only get correct text for root tree,but not any for subtree.
What should I do?
Thank you very much!