0
我在PLY中为包含两种子语言的语言编写解析器:“正常”表达式语言和类型注释语言。问题是它们共享一些令牌,并且这两种语言的优先顺序不同。子语言的优先级
例如,在表达式语言a | b, c
应相当于(a | b), c
(和装置一样在Python),而在类型语言相同的应相当于a | (b, c)
(键入或者a
或键入b, c
,这是一个元组类型为b
,类型为c
)。
真正的问题比这个更复杂一些,但它仍然基本相同。
在PLY中可以暂时改变优先级吗?如果不是,我会申请另一个解决方案吗?