[讨论] 算数 expr 到底该怎么写....?

楼主: finalwave (吃火球赚钱)   2007-05-29 07:25:59
我是照老师投影片上的版本
再加上expr : expr '^' expr 这项
但发现只要遇到 a+y-x 的都会错
a-x-x
就是遇到-号就很容易出错就对了
是不是跟 - 号有两种意义有关 而我的优先级没排好?
但我前面那部份也是照投影片上写的说...
%left '+' '-'
%left '*' '/'
%right UMINUS
%right '^'
我目前是写这样
然后负号那项就照投影片上写的写 expr : '-' expr %prec UMINUS
请问哪里有写错吗?
一直找不出错在哪啊
作者: sunkeen (自闭星雨期待有你)   2007-05-29 08:35:00
会不会在semantic action的地方出错了?或者是你在lex的地方,把负号也当作number的一部份了?
楼主: finalwave (吃火球赚钱)   2007-05-29 08:50:00
大感谢楼上 我把负号写成number的一部份了
作者: CuteLoga (台大资工新鲜人XD)   2007-05-29 11:45:00
UMINUS的prec是不是应该比^高呢??
作者: usoko (time to face reality)   2007-05-29 12:53:00
对 应该是先写^再写UMINUS

Links booklink

Contact Us: admin [ a t ] ucptt.com