请高人指点条件表达式文法怎么写?

ytx98 2012-10-25 07:24:19
如题,被老板赶鸭子上架要写一个简易的不完全的SQL语法分析程序.
我使用的自动生成工具为Grammatica,支持LL文法.
但是,我编译原理水平实在太菜,呵呵,没有学过啊.
求教,where条件表达式要怎么写?
原先我的写法是:
condis="(" condis ")" |condi logic_op condis | condi;
condi= value op value;
但是,不知道怎么消除左递归,请过路高人指点啊.
那个"空"要怎么写?
感谢!!!!
...全文
239 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
ytx98 2012-10-25
  • 打赏
  • 举报
回复
且,主要是Grammatica要能支持,有些地方我按教科书说的消除左递归,但是在Grammatica中就不知道怎么写了,那个表示"空"的玩意怎么搞,哎
ytx98 2012-10-25
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

http://irony.codeplex.com/

其实这块东西并不需自己搞,你直接google sql 的相关BNF文档就可以弄出来
[/Quote]

除了这里,还有别的地方需要用到,自定义脚本语言,所以,主要还是想借机会学习编译原理,不单纯为了SQL的,呵呵
ytx98 2012-10-25
  • 打赏
  • 举报
回复
还请高人指点Grammatica怎么使用啊?grammar编辑没有找到叫详细的帮助文档,哎.
wanghui0380 2012-10-25
  • 打赏
  • 举报
回复
http://irony.codeplex.com/

其实这块东西并不需自己搞,你直接google sql 的相关BNF文档就可以弄出来
ytx98 2012-10-25
  • 打赏
  • 举报
回复
感谢,先下载学习去. 其实也是想借这个机会弄明白编译原理,哎,半路出家的人伤不起啊
SQL77 2012-10-25
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
http://www.codeproject.com/Articles/32524/SQL-Parser
[/Quote]
学习。。
Tragedy 2012-10-25
  • 打赏
  • 举报
回复
膜拜.
ytx98 2012-10-25
  • 打赏
  • 举报
回复
补充:要能分析形如下面的表达式就可以了
a=b and c=d and (e=f) and ((g<>h) or i=j )

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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