我使用SqlServer提供的SqlParser类来解析sql脚本的AST, 就像我在这篇文章中回答:https://stackoverflow.com/a/34103965/3828013。
它的输出是一个xml文档,如下所示。但我搜索了很多,找不到任何相关文件。任何人都知道可以给我链接。
<?xml version="1.0" encoding="utf-8"?>
<SqlScript Location="((1,1), (92,1))">
<Errors />
<SqlBatch Location="((91,3), (92,1))">
<!--
-->
<Tokens>
<Token location="((91,3), (92,1))" id="651" type="LEX_WHITE">\n</Token>
</Tokens>
</SqlBatch>
</SqlScript>
答案 0 :(得分:1)
您可以找到SQL Abstract Syntax Trees Vocabulary
抽象语法树允许构建结构化表示 具有语法的任何语言的代码:携带标签的AST节点都可以 代表关键字,对象,变量,常量或任何语言 元素,而树结构允许抽象出来 语言的范围或依赖的概念。 AST是一个 具体语法代码的机器可读格式,可以进行修饰 具有来自语法的隐含或上下文知识。我们在此 建议用RDF图来模拟AST。 AST结构自然适合 RDF图:节点映射资源,节点标签映射资源的类型,和 语法知识映射到词汇的语义,例如同 包容。