1

问候

我正在做一个项目,该项目需要我以文本形式编写查询,然后将它们转换为一些易于处理的节点,以便由一些模糊的存储库处理。那里的所有内容中,我最不感兴趣的部分是将文本转换为节点的部分。我希望它已经在某个地方完成了。

因为我边走边编,我选择使用 LINQish 表达式语法。

from m in Movie select m.A, m.B

我开始手动解析它并获得了基础知识,但这很俗气。我正在寻找更好的解决方案。我在使用 MGrammar 方面取得了一些进展,但如果这样的东西已经存在就好了。有谁知道已经这样做的任何事情?我寻找现有的 ANTLR 模板,但没有运气。

谢谢您的帮助。

4

2 回答 2

1

你可以从一个完整的 C# 语法开始,扔掉除了 LINQ 语法之外的所有东西:-}

DMS Software Reengineering Toolkit是一个用于构建具有完整 C# 4.0 前端(包括所有 LINQ 语法)的解析器/程序分析器/转换器的工具。

于 2010-05-01T02:26:38.477 回答
0

Pyparsing wiki 示例页面尝试这个示例。它应该给你一个开始。

于 2010-08-27T09:20:27.680 回答