3

是否有 .NET 库可以进行括号或表达式减少和优化?可以采用诸如 (A & (((B) | (C)) | D))) 之类的表达式并返回的东西

A & (B | C | D)

但也要取 (A & A) 并返回 A

4

2 回答 2

2

这更多地属于独立解析器/词法分析器的领域。但是ANTLR有一个相当不错的 C# 绑定,如果这符合您的目的的话。

为这种类型的字符串编写一个简单的解析器并自己进行归约可能不是很多工作。

于 2010-04-03T03:11:50.777 回答
0

我不是 LINQ 专家,但如果您想亲自动手,.Net 表达式树中已经存在此类任务的数据结构:

http://msdn.microsoft.com/en-us/library/bb397951.aspx

不过,您仍然必须解析字符串才能创建树。

于 2010-04-03T04:27:23.330 回答