我想将给定的ABNF语法翻译成有效的ParseKit语法。实际上我正试图找到这种声明的解决方案:
tag = 1*<any Symbol except "C">
与
Symbol = "A" / "B" / "C" / "D" // a lot more symbols here...
此问题的符号定义已简化,通常包含许多特殊字符。
我目前的解决方案是对tag
的所有允许符号进行硬编码,例如
tag = ('A' | 'B' | 'D')+;
但我真正想要的是“没有操作员”
tag = Symbol \ 'C';
是否有任何构造允许我保留我的符号列表并定义一些排除?
答案 0 :(得分:3)
ParseKit的开发人员。
是的,有一个功能正是如此。这是一个例子:
allItems = 'A' | 'B' | 'C' | 'D';
someItems = allItems - 'C';
使用-
运算符。