0
考虑语言{anbmcp | n <= p OR m <= p}
,为此语言创建一个CFG。
我已经开始使用S -> aA | aB
,但我不确定应该如何去定义A或B.“OR”似乎很难融入到语言的定义中,因为似乎没有必要同时跟踪n和m并进行比较他们反对p,但我不知道我想跟踪哪一个为语言生成CFG
考虑语言{anbmcp | n <= p OR m <= p}
,为此语言创建一个CFG。
我已经开始使用S -> aA | aB
,但我不确定应该如何去定义A或B.“OR”似乎很难融入到语言的定义中,因为似乎没有必要同时跟踪n和m并进行比较他们反对p,但我不知道我想跟踪哪一个为语言生成CFG
为了保持这个约束,对于每个'a'你需要添加一个'c'。同样,对于每个'b'你都应该添加'c'。
A -> aAC | aC | B
B -> bB | bC
C -> cC | c
我可能是错在这里。但这就是你在创建CFG时应该考虑的方法。