问候
我正在做一个项目,这个项目要求我以文本形式编写查询,然后将它们转换为一些容易处理的节点,以便由一些抽象的存储库进行处理。在所有内容中,我最不感兴趣的部分是将文本转换为节点的部分。我希望它已经在某个地方完成了。
因为我是边走边编的,所以我选择使用LINQish表达式语法。
from m in Movie select m.A, m.B
我开始手动解析它,并获得了基础知识,但它相当俗气。我在寻找更好的解决方案。我使用MGrammar取得了一些进展,但如果这样的东西已经存在就更好了。有没有人知道有什么已经这样做了?我寻找了现有的ANTLR模板,但没有成功。
谢谢你的帮助。
发布于 2010-05-01 10:26:38
您可以从完整的C#语法开始,然后丢弃除LINQ语法之外的所有语法:-}
DMS Software Reengineering Toolkit是一个构建解析器/程序分析器/转换器的工具,它拥有完整的LINQ4.0前端,包括所有的C#语法。
发布于 2010-08-27 17:20:28
从Pyparsing wiki Examples page中尝试this example。它应该会给你一个开始。
https://stackoverflow.com/questions/2748629
复制相似问题