我可以用3 INDENT组替换以下语法中的indent_loop[3]吗?其中 INDENT 是缩进的词法规则。
我只想根据数字写出INDENT的数量。
match_node
: match_node_name (tree_operator) (NEW_LINE (indent_loop[3]) ( moduleCall | literals ))*
{ match_node_list.push($match_node_name.text); }
| SINGLE_QUOTE POINTE SINGLE_QUOTE
;
match_node_name
: IDENT_SMALL_LETTERS
;
indent_loop[int scope]
: {scope == 3}? INDENT INDENT INDENT
| {scope == 4}? INDENT INDENT INDENT INDENT
;
INDENT : '\t';
当我这样做时,我无法回到我的调用规则并且无法返回这组缩进?意思是, ( moduleCall | literals ))* 没有被调用。
我哪里错了?我才刚刚开始。
或者有没有其他方法可以做到这一点?