在C#中解析自定义搜索条件语法

时间:2009-12-18 15:30:05

标签: c# parsing

在C#应用中,我希望用户能够以这种格式输入搜索条件:

(Name = 'Fred' OR Name = 'Jim') AND Age > 30

我需要的是一些解析输入的方法,以便我可以根据标准测试潜在的搜索匹配。我在Malcolm Crowe's compiler tools for .NET年前做过实验,但我想知道在DSL和表达树的这些日子里我是否应该注意新的东西。解决这个问题的最佳方法是什么?

2 个答案:

答案 0 :(得分:3)

我最近一直在关注Irony。它几乎压倒了你所需要的东西,但它确实属于“我应该注意的新东西”类别。

Here's an example,使用反讽,似乎做了你需要的东西(虽然注册需要注册)。

答案 1 :(得分:1)

如果您的标准语法符合搜索条件,您可以使用的另一个工具是MGrammer,它有几个可用于帮助构建解析的工具。 Scott Hanselman's Blog信息的良好链接。还有一些如何使用它的示例视频。