gpt4 book ai didi

java - ANTLR树遍历器,多次返回值

转载 作者:行者123 更新时间:2023-11-30 04:45:20 24 4
gpt4 key购买 nike

我有一个这样的树行者:

function:
^(FUNCTION_TOK fcname=IDENTIFIER param=functionParameters*){
a_param_arrayList.add(param);
}
;

functionParameters returns [Object sth]:
^(PARAM_TOK value=IDENTIFIER){ sth = $value.getText();}
;

这是一个简单的场景,我只想将参数添加到数组列表中,但上面的代码(a_param_arrayList.add(param))只会收集第一个参数并忽略其他参数。但 functionParameters 实际上解析了多个参数。

有人知道如何修理这个树行者吗?非常感谢!

最佳答案

我通过使用规则参数来解决这个问题。

function:
^(FUNCTION_TOK fcname=IDENTIFIER functionParameters[a_param_arraylist]*)
;

functionParameters [ArrayList arr] returns [Object sth]:
^(PARAM_TOK value=IDENTIFIER){ sth = $value.getText(); arr.add(sth);}
;

关于java - ANTLR树遍历器,多次返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11101606/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com