Bison %prec不';好像不行?

Bison %prec不';好像不行?,bison,Bison,这是我的y文件的一个示例 | rval '<' rval | rval '<' '<' rval | rval '>' rval | rval '>' '>' rval | rval LSHIFT rval | rval RSHIFT rval | rval“”rval |右移 |右移 我想让像>一样工作。我原以为这很难,但却发现“上下文相关优先权” 然而,它似乎不起作用。书写 |在lexer中使用rval'\s*>,因为这会干扰其他事情,所以在解析器

这是我的y文件的一个示例

| rval '<' rval
| rval '<' '<' rval
| rval '>' rval
| rval '>' '>' rval

| rval LSHIFT rval
| rval RSHIFT rval
| rval“”rval
|右移
|右移
我想让<<和>>像>一样工作。我原以为这很难,但却发现“上下文相关优先权”

然而,它似乎不起作用。书写
|在lexer中使用rval'\s*>,因为这会干扰其他事情,所以在解析器中不能这样做(没有
%glr parser
),因为它需要两个先行标记。问题是“优先规则”并没有真正实现优先解析。他们只是一个解决转移/减少冲突的黑客,有利于一个令牌而不是另一个令牌。在这种情况下,相关比较是在左侧
rval
内的标记和
'
标记之间进行的。解析器需要比较这些规则,以确定是减少
rval
中的任何规则,还是移位。如果没有更多的前瞻性,它就不知道在多个地方问同一个问题是否很不公平?我喜欢在这两个网站上发帖。邮寄似乎是最好的地方,但大多数人(包括我自己)都会先在上面搜索。
| * rval * '<' * '<' * rval  *