繁体   English   中英

了解CFG的基础

[英]understanding basics of CFG

刚刚开始撰写Sipser的书中有关CFL的章节,已经不了解其基础知识。

让这成为某种语言的语法:

S -> A0A 
A -> 00A | 11A | 10A | 01A | e

我对这个A0A部分感到非常困惑。 这是否意味着从0开始的左侧应始终与右侧相同。 这是否意味着00011或000不是这种语言的?

任何S是您对任何A都有的任何选项,其后是单个文字0 ,然后是A另一个选项。 每个A是独立的。

字符串00011是该语言的语言,因为您可以选择两个A ,例如,第一个为00A ,第二个为11A 如果递归地为两个“剩余” A s选择空字符串( e ),则在将所有内容连接在一起时,最终将得到字符串00011

您可以执行类似的操作来获取字符串000

A转换为空,或者转换为两个二进制数字,然后转换为A。这意味着A转换为任何偶数个二进制数字序列。

S转换为A,然后转换为0,然后转换为A。这意味着S转换为二进制数的偶数,然后转换为0,然后转换为偶数。 也就是说,S是中间为0的任何奇数个二进制数字序列。

这是否意味着从0开始的左侧应始终与右侧相同。

没有为什么? 两个不同的A可以转换为不同的序列。

暂无
暂无

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

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