C中的SQL解析器

9 c sql parsing

我想在C中解析并存储SQL DML(INSERT,UPDATE,DELETE)语句的列和值.需要开源代码的URL或我可以链接我的C程序的库.该平台是SUSE Linux.试图制作和使用libSQL失败.详细的答案表示赞赏.谢谢.

附加说明:请建议我可以与我的C程序链接的库/代码.在我的程序中,我想使用此库的函数来解析并使用令牌进行进一步处理.

epa*_*tel 10

您可以查看SQLite的源代码.它使用名为Lemon的解析器.

链接:

SQLite架构

柠檬解析器

您还可以查看postgresql-plpython3的源代码.看起来它有一个纯粹的基于C的SQL解析器.

链接:

postgresql-plpython3 @ github


bor*_*yer 5

我建议从真正的 DBMS 的真正解析器开始。在自由软件中有几个。例如,PostgreSQL的解析器在发行版的目录src/backend/parser中,是用 C 和 Yacc 编写的。


lex*_*exu -3

您是否考虑过使用 lex 和 yacc 编写自己的程序?(黑客 - 核心方法)

这不是微不足道的..但这个网站可能会帮助您入门