- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
语法的建构
2.3 文法的构造 通过一系列的例子来进行说明 例2-9 构造文法G,使L(G)={0,1,00,11} 将文法的开始符号定义为这4个句子。 G1=({S},{0,1},{S?0,S?1,S?00,S?11},S) 先用变量A表示0,用变量B表示1。 G2=({S,A,B},{0,1},{S?A,S?B,S?AA,S?BB,A?0,B?1},S) 基于G2,考虑“规范性”问题。 G3=({S,A,B},{0,1},{S?0,S?1,S?0A,S?1B,A?0,B?1},S) 例2-9(续) 可以在V、T中增加一些元素,以获得“不同的”文法。 G4=({S,A,B,C},{0,1,2},{S?A,S?B,S?AA,S?BB,A?0,B?1},S) G5=({S,A,B,C},{0,1,2},{S?A,S?B,S?AA,S?BB,A?0,B?1,CACS?21,C?11,C?2},S) L(G1)= L(G2)= L(G3)= L(G4)= L(G5) 一个语言可以由不同的文法产生。 等价文法 等价(equivalence) 设有两个文法G1和G2,如果L(G1)= L(G2),则称G1与G2等价。 如果变量/终极符号/产生式对最终生成的句子没有影响,则对语言也没有影响。 约定 对一个文法,只列出该文法的所有产生式, 且所列第一个产生式的左部是该文法的开始符号。 例2-9的约定表示 G1:S?0|1|00|11 G2:S?A|B|AA|BB,A?0,B?1 G3:S?0|1|0A|1B,A?0,B?1 G4:S?A|B|AA|BB,A?0,B?1 G5: S?A|B|AA|BB,A?0,B?1, CACS?21,C?11,C?2 例 2-10 L={0n|n≥1} G6:S?0|0S L={0n|n≥0} G7:S?ε|0S L={02n13n|n≥0} G8:S?ε|00S111 L={02n13m|n≥0} G8’:S?AB, A?ε|00A, B?ε|111B 例2-11 构造文法G9,使L(G9)={w|w∈{a,b,…,z}+}。 G9:S?A|AS A?a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z 用S?A|AS生成 An 不可以用A?a|b|c|…|z表示A?a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z 不可以用A?a8表示A?aaaaaaaa。 不能用A?an 表示A可以产生任意多个a。 例2-12 构造文法G10, 使L(G10)={wwT|w∈{0,1,2,3}+}。 文法 S?HE H?0|1|2|3|0H|1H|2H|3H E?0|1|2|3|E0|E1|E2|E3 能否生成L(G10) ??? 例2-12(续) {wwT|w∈{0,1,2,3}+}的句子的特点 设w=a1a2…an,从而有wT= an…a2 a1,故 wwT= a1a2…anan…a2 a1 满足f(wwT,i)=f(wwT,|wwT|-i+1)。 递归地定义L ⑴ 对?a∈{0,1,2,3},aa∈L; ⑵如果x∈L,则对?a∈{0,1,2,3},axa∈L; ⑶ L中不含不满足(1)、(2)任何其他的串。 例2-12(续) 根据递归定义中的第一条,有如下产生式组: S?00 | 11 | 22 | 33 再根据递归定义第二条,可得到如下产生式组: S?0S0 | 1S1 | 2S2 | 3S3 从而, G10:S?00 | 11 | 22 | 33 | 0S0 | 1S1 | 2S2 | 3S3 例2-13 构造文法G12, 使L(G12) = {w| w是十进制有理数}。 解:易知有理数分为负有理数和非负有理数, 以S为开始符号,有 S ? R | +R | –R 其中R表示非负有理数 R又可以划分成无符号整数、无符号带小数和无符号纯小数 R ? N| B | P 例2-13(续) B ? N.D P ? 0.D 由于B表示的为无符号带小数,N不应以0开始: N ? AM A ? 1|2 |3 |4 |5 |6 |7 |8 |9 M为任意的十进制数串,包括为空 M ? ?| 0M| 1M|2M |3M |4M |5M |6M |7M |8M |9M 与之相对应, D不应以0结束
文档评论(0)