我在 Ragel 中实现了我的词法扫描器,当我识别各种空白时,我需要一个令牌来使用。但除了分离其他标记之外,我不关心空白。如果我将它传递给我的 Lemon 解析器,我将不得不插入许多额外的规则来摆脱它,这将使我的语法变得丑陋并减慢解析速度。但是我发现让 Lemon 生成空白标记的唯一方法是放入我从未打算使用的 reduce 规则。
目前,我有一个list0 ::= .
允许空列表的规则,所以我添加了一个list0 ::= SP.
. 有没有更简洁的方法来声明一个令牌,而不在减少规则中使用它?