用于将关系代数解析为 T-Sql 代码的解析器,反之亦然
我现在考虑编写一个解析器来解析 逻辑表达式
关系代数
为 T-Sql 代码
,反之亦然!是否有一个解析器可以做到这一点?否则我怎么能做到这一点?编写解析器的基础知识是什么?
I now think about write a parser to parse Logical Expressions
Relational Algebra
to T-Sql Codes
and vice-versa! Whether there is an parser to do this? Otherwise how can i do this? What is the basics of writing a parser?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您不了解解析和翻译的基础知识,则需要首先在这方面花费大量精力,否则您可能不会成功。 (对不起)。
这个SO答案为您提供了所需背景知识的指针:
学习编写编译器
If you don't know the basics of parsing and translation, you need to spend significant energy there first or you will likely not succeed. (Sorry).
This SO answer gives you pointers to the background you need:
Learning to write a compiler
您最好查看 LINQ 表达式树 (
System.Linq.Expressions
),并注意这(在表达式 -> TSQL 方向)正是 LINQ -to-SQL 和类似的工具可以。表达式树被设计为以这种方式进行解析;然而对于 TSQL ->表达式...这将会更加棘手,因为它不是一种简单的语言,并且不是为这种解构而设计的。
You would do well to look at LINQ expression trees (
System.Linq.Expressions
), and note that this (in the expression -> TSQL direction) is exactly what LINQ-to-SQL and similar tools do.Expression trees are designed to be parsed in this manner; However for TSQL -> expression... that is going to be trickier since it is not a simple language, and was not designed for this deconstruction.