sql语法树构建

dhandxl 2014-04-18 05:07:53
现在想做一个sql语法树,然后能够匹配输入的sql语句,不知道怎么下手,希望各位大侠帮忙指导指导
...全文
598 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
rumlee 2014-04-25
  • 打赏
  • 举报
回复
分析sql语句应该和树没有什么关系。应该采用链和栈来实现,而且是链和栈的嵌套,特别涉及子查询、多条件等等的情况下还是有些复杂的。
dhandxl 2014-04-24
  • 打赏
  • 举报
回复
引用 5 楼 forgetsam 的回复:
和计算器一样吧,遍历,切割,进栈出栈,区别是sql的优先级和关键字你先得学习一下。
嗯,之前可能一直纠结于树的遍历,递归遍历,一时间没想到栈的方法,今天来试试,谢谢了
dhandxl 2014-04-24
  • 打赏
  • 举报
回复
引用 4 楼 rui888 的回复:
什么树?具体干嘛的
其实就是一个语法树,能够对应的解析一条sql语句的树,有大神用正则表达式做过,也有用关键字列表做的,我觉得应该能建一个相对完善的语法树来遍历解析一条sql语句,所以在想这个树怎么建。
dhandxl 2014-04-24
  • 打赏
  • 举报
回复
引用 3 楼 chliang198882 的回复:
不知道你具体想要什么东西,能不能举个例子
我自己要做的是sparql语句的解析,sparql是类似sql语句的,具体的解析是,我需要遍历出每一个关键字和非关键字,然后建立起相应的关系,即对应的关键字与对应的非关键字,然后推理出相应的代数算子,即重组。所以最后的结果是讲一条sql语句转化为相对应的代数算子。
dhandxl 2014-04-21
  • 打赏
  • 举报
回复
引用 1 楼 chliang198882 的回复:
你是想做一个ibatis框架么
只是想做一个sql语句的分析程序而已,不知道该怎么启动
forgetsam 2014-04-21
  • 打赏
  • 举报
回复
和计算器一样吧,遍历,切割,进栈出栈,区别是sql的优先级和关键字你先得学习一下。
tony4geek 2014-04-21
  • 打赏
  • 举报
回复
什么树?具体干嘛的
葛芮拉 2014-04-21
  • 打赏
  • 举报
回复
不知道你具体想要什么东西,能不能举个例子
葛芮拉 2014-04-18
  • 打赏
  • 举报
回复
你是想做一个ibatis框架么

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧