繁体   English   中英

语言的CFG

[英]CFG for language

我正在尝试创建一个生成以下语言的 cfg:

foo+bar

这种语言是否与上下文无关并且可以由 cfg 生成? 如果是,如何创建生成这种语言的语法?

我在为 cfl 创建 cfg 方面没有太多经验。 如果提供任何帮助或解决方案,我会很高兴

首先,您知道如何为语言{a^nd^t | n = t}创建 CFG 吗? {a^nd^t | n = t} ? 这将是您的起点。

S -> aSd | epsilon

从这里开始,您需要扩展当a s 多于d s 或d s 多于a s 时发生的情况。 目标始终是确保对于在左侧消耗的每个ab ,在右侧消耗cd

S -> aSd | aAc | bDd | epsilon

Aa s 比d s 多的情况, D是另一种情况。 在其中的每一个中,您需要为每个右侧字符消耗一个左侧字符。

还有一种情况,即nt中的一个或两个都是0 我会把它留给你来决定如何处理。

然后你将不得不处理耗尽一方的角色。 例如,如果您处于状态A ,您希望将a s 与c s 匹配,直到a s 用完并变成b s。 就像是,

A -> aAc | bCc

剩下的就交给你去想办法了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM