Re: [cpp] 编译器是怎么处理 ( a && b )||(c) 之类的表达式的?
huangyi
huangyi12 at gmail.com
Thu Mar 9 18:26:51 CST 2006
stack,或者利用BNF。
也有一些个词法分析程序生成器,我没用过。
据说boost里有一个词法分析的库 写出来的代码很接近BNF的表达形式 也没用过
On 3/9/06, li yuan <suif.liyuan at gmail.com> wrote:
>
> 可以用stack,再结合一个运算符的优先级的表,具体可以参考编译器的书《编译原理及实践》上就有讲
>
> 在06-3-9,Fei Xu <flyingxu at gmail.com> 写道:
>
> > 现在自己要写一段程序,处理类似于下面的字符串,
> > ((a AND b)OR (x OR y) ) AND z
> > 其中a b x y,z都是已知的值,AND OR的规则和c里面一模一样,然后按照与/或的关系得到这个表达式的值。
> > 我觉得这个处理的办法应该在编译器里面一样,但是我却不是很懂。
> >
> > 能给点建议或者网上有类似的源码吗?
> >
> > 或者该看什么书?我估计应该大学的本科教材里就有讲的吧?
> >
> >
> > --
> > Fei Xu
> > Shanghai, China
> >
> > _______________________________________________
> > Cpp mailing list
> > Cpp at codingnow.com
> > http://codingnow.com/mailman/listinfo/cpp
> >
>
>
>
> --
> 一步两个脚印
>
> _______________________________________________
> Cpp mailing list
> Cpp at codingnow.com
> http://codingnow.com/mailman/listinfo/cpp
>
>
--
http://codeplayer.blogbus.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://codingnow.com/pipermail/cpp/attachments/20060309/b2d17c06/attachment.html
More information about the Cpp
mailing list