【发布时间】:2009-09-17 10:12:59
【问题描述】:
我正在寻找可以对查询过滤器进行操作的解析器。但是,我不太确定这些术语,因此证明工作很辛苦。我希望有人能帮助我。我读过“递归下降解析器”,但我想知道这些是否适用于成熟的语言解析器,而不是我正在寻找的逻辑表达式评估。
理想情况下,我正在寻找 .NET 代码 (C#),但也寻找适用于 T-SQL 的类似解析器。
我想要的是解析例如:
((a=b)|(e=1))&(c
理想情况下,运算符可以是可定义的(例如 '
解析器最好提出最少数量的问题才能得出最终结果 - 例如如果 AND 的一侧为假,则评估另一侧没有意义,并且首先评估最简单的一侧(即在上面的表达式中,应该假设 'c
我可以想象,这需要做很多工作,但是相当普遍。任何人都可以给我任何指示吗?如果没有像上面那样灵活的解析器,是否有任何基本的解析器可以作为开始使用?
非常感谢
李
【问题讨论】:
标签: c# tsql parsing expression-trees