问候
我正在开发一个项目,要求我以文本形式编写查询,然后将它们转换为一些易于处理的节点,由一些不明确的存储库处理。在那里,我最不感兴趣的部分是将文本转换为节点的部分。我希望它已经在某个地方完成了。
因为我正在制作东西,所以我选择使用LINQish表达式语法。
from m in Movie select m.A, m.B
我开始手动解析并获得了基础知识,但它非常俗气。我正在寻找更好的解决方案。我使用MGrammar取得了一些进展,但如果这样的事情已经存在就会很好。有没有人知道任何已经这样做的事情?我查找了现有的ANTLR模板,但没有运气。
感谢您的帮助。
答案 0 :(得分:1)
你可以从一个完整的C#语法开始,除了LINQ语法之外扔掉所有东西: - }
DMS Software Reengineering Toolkit是一个用于构建具有完整C#4.0前端的解析器/程序分析器/转换器的工具,包括所有LINQ语法。
答案 1 :(得分:0)
从this example尝试Pyparsing wiki Examples page。它应该给你一个开始。