是否可以使用AND
不区分大小写地解析非符号运算符(例如,OR
,OperatorPrecedenceParser
?
答案 0 :(得分:3)
OperatorPrecedenceParser没有内置支持非符号运算符的不区分大小写匹配。
但是,如果您的非符号运算符很短或者您只需要支持一些拼写变体(例如全部小写,全部大写,只有第一个char大写,......)那么您可以简单地添加运算符的所有变体你需要支持。 (当然,您可以使用辅助函数添加变体,而不是手动添加。)
答案 1 :(得分:2)
看起来PeekOp
是处理确定是否存在运算符的方法。它没有提及或方法来处理不区分大小写,因为它依赖于字符的直接相等(和CharStream.Match
)。
您可以随时手动添加各种可能的操作员版本。 e.g。
Add("or");
Add("oR");
Add("Or");
Add("OR");
最后,另一个选择是创建一个辅助方法来执行此操作。