在过去的几个星期,我一直在深入解析SQL语句到的东西易于管理的美丽世界,才发现,我可能会需要一个完整的词法分析器/解析器来妥善处理所有允许令牌/格式做一样。
我在创建表的语句最感兴趣,但一个完整的通用解析器会更好,因为在网络上似乎没有人有这个呢。
我不是计算机专业毕业,但是自学成才的人,所以这是很对我的学习曲线。 我是采取的步骤:
- 解析与正则表达式SQL
- 失败了,修复的正则表达式
- 失败更糟的是,挖通了SQLite的源,找出它使用的柠檬分析器,一个SQLite具体项目
- 尽量让柠檬+ PHP解析器的工作思路,我可以手动将其转换成JS。 (失败)
- 用C试图让Emscripten工作的柠檬生成的解析器(依赖地狱,失败了。)
- 搜索其他语法/词法分析器发电机,注意ANTLR3
- 尝试了一整天,晚上拿到Sqljet语言文件通过改变输出格式和回溯错误转换为JavaScript。
我一直在使用的优秀AntlrWorks GUI,试图找出什么错误,但我不能确定它是否是一个的突破的JavaScript栈,Java堆栈,或者说.G格式是旧格式的V2。
有没有与语法/词法分析器发电机经验的人,可以点我到正确的方向产生一个适当的可重复使用的SQLite的解析器? 我似乎能够发电的javascript MySQL和PL / SQL解析器。 这是否意味着,SQLite的.G格式是需要更新?