使上下文无关文法不模糊

碳纳米管

这周我要考试。布尔语句有以下语法:

B -> B and B | not B | (B) | id 

B是一个非端子,端子有:andnot()id

这种语法是模棱两可的。我需要重新编写它,并创建一个等效的语法,该语法不是模棱两可的,并且没有左递归,因此not具有较高的优先级,“和”与左侧相关。

我尝试自己做:我的开始是:

B -> not B' | ( B' | id B' 

但是我认为这是错误的,而且我很长时间都处于困境。

吉斯兰·弗尼(Ghislain Fourny)

使用更多的非终结符可以在所有运算符上设置优先级(我希望我得到正确使用的符号)。

这是为了获得与的从右到左的关联性:id和id,并且id被解析为id和[id和id]

B -> NotExpr | NotExpr and B
NotExpr -> PrimaryExpr | not NotExpr
PrimaryExpr -> id | (B)

这是为了获得从左到右的关联性:id和id和id被解析为[id和id]和id

B -> NotExpr | B and NotExpr
NotExpr -> PrimaryExpr | not NotExpr
PrimaryExpr -> id | (B)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

YACC和上下文无关文法

来自分类Dev

上下文无关文法算法

来自分类Dev

等效上下文无关文法

来自分类Dev

语言的上下文无关文法

来自分类Dev

与as数量比bs多的语言的上下文无关文法

来自分类Dev

生成以下语言的上下文无关文法

来自分类Dev

以00开头和结尾的上下文无关文法

来自分类Dev

寻找给定语言的上下文无关文法

来自分类Dev

Python中具有特征结构的上下文无关文法

来自分类Dev

常规的haskell代数数据类型是否等于上下文无关文法?GADTS呢?

来自分类Dev

可能使用DCG的Prolog中上下文无关文法(CFG)的序列生成器

来自分类Dev

具有某些不等式的上下文无关文法

来自分类Dev

C ++是上下文无关的还是上下文相关的?

来自分类Dev

上下文无关的语法帮助

来自分类Dev

证明上下文无关语法是规则的

来自分类Javascript

JavaScript是上下文无关语言吗?

来自分类Dev

与上下文无关的XML结构标记

来自分类Dev

上下文无关语法中的歧义

来自分类Dev

从语言生成上下文无关的语法

来自分类Dev

ε终端是否与上下文无关?

来自分类Dev

设计上下文无关的语法

来自分类Dev

轻度上下文相关文法

来自分类Dev

如何编写上下文无关文法方面的antlr4中的操作优先级

来自分类Dev

关于根据上下文无关文法生成值列表(例如[1,1,1,2,2,2])

来自分类Dev

上下文无关语言是否是确定性上下文无关语言

来自分类Dev

2种上下文无关语言的集合差异是否是上下文无关的?

来自分类Dev

上下文不超时

来自分类Dev

我是否使上下文无关的语法上下文敏感,这有关系吗?

来自分类Dev

Rust的语法语法是上下文无关的还是上下文敏感的?

Related 相关文章

热门标签

归档