【发布时间】:2013-11-20 16:35:13
【问题描述】:
我正在使用 Irony 为脚本语言创建解析器,但遇到了一个小问题:如何在 Irony 中翻译这样的 EBNF 表达式?
'(' [ Ident { ',' Ident } ] ')'
我已经尝试了一些技巧,例如
Chunk.Rule = (Ident | Ident + "," + Chunk);
CallArgs.Rule = '(' + Chunk + ')' | '(' + ')';
但这很丑陋,我什至不确定这是否可以正常工作(还没有尝试过......)。有人有什么建议吗?
编辑: 我找到了这些辅助方法(MakeStarList、MakePlusList),但由于完全缺乏 Irony 的文档,所以无法找到如何使用它们……有没有人有任何线索?
【问题讨论】: