所以我有一个语句
规则,它可以导致更多语句:
statement returns[String txt]
: '{'{
$txt="{";
}
(statement{
$txt+=$statement.txt;
})*
'}'{
$txt+="}";
}
| ... //more rules // ...
;
我正在获取
引用 $statement 不明确;规则语句是封闭规则并在产生式中引用(假设封闭规则)
但不知道如何解决。不知何故,我需要告诉 ANTLR 我需要父 statement
内 statement
的返回 txt。请帮帮我:)
最佳答案
如果您使用$statement
,ANTLR 不知道您是指规则本身,还是 statement
里面( ... )*
.
尝试这样的事情:
statement returns[String txt]
: '{'{
$txt="{";
}
(s=statement{
$txt+=$s.txt;
})*
'}'{
$txt+="}";
}
| ...
;
关于ANTLR 不明确的引用 - 如何获取输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13705996/