求大牛指点迷津???
类似于string s=a*((b+c)*0+(d*e)+1),其实+表示or操作,*表示and操作,a,b,c,d,e为代数字母,有没有方法将s化简为
s=a,又比如简单点的s=a*b+1化简为s=1
我是想用C++做一个sql语言解析,就是优化语言,提高执行的效率,在语法上出错时,可以提示,
可是这个问题该怎么解决?
eg:
select * from cs where ((sno='070273001')and cno='002' or 3=4)
[解决办法]
说实话,我没有太明白你的问题。
[解决办法]
我估计lz 想问的是类似短路求值的东西..
[解决办法]
把 *换成 &&
+换成 ||
[解决办法]
这个东西写起来还是比较复杂的。
你可以先对字符串做一个预处理。把相应的符号进行下自定义的替换。
然后再把逻辑判断加上。
[解决办法]
这个可难咯,不过支持你!
[解决办法]
从编译原理入手找答案!