第3章 文法和语言

第3章 文法和语言

ID:10016272

大小:47.50 KB

页数:5页

时间:2018-05-21

第3章 文法和语言_第1页
第3章 文法和语言_第2页
第3章 文法和语言_第3页
第3章 文法和语言_第4页
第3章 文法和语言_第5页
资源描述:

《第3章 文法和语言》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第三章文法和语言(习题参考答案)1、文法G=({A,B,S},{a,b,c},P,S),其中P为:S->Ac

2、aBA->abB->bc写出L(G[S])的全部元素。【解】S=>Ac=>abc或S=>aB=>abc所以L(G[S])={abc}2、文法G[N]为:N->D

3、NDD->0

4、1

5、2

6、3

7、4

8、5

9、6

10、7

11、8

12、9G[N]的语言是什么?【解】N=>ND=>NDD....=>NDDDD...D=>D......DG[N]的语言是V+,其中V={0,1,2,3,4,5,6,7,8,9}或:解:NNDn-1Dn{0,

13、1,3,4,5,6,7,8,9}+∴L(G[N])={0,1,3,4,5,6,7,8,9}+5.写一文法,使其语言是偶正整数的集合要求:(1)允许0打头;(2)不允许0打头解:(1)G[S]=({S,P,D,N},{0,1,2,…,9},P,S)P:S->PD

14、DP->NP

15、ND->0

16、2

17、4

18、6

19、8N->0

20、1

21、2

22、3

23、4

24、5

25、6

26、7

27、8

28、9(2)G[S]=({S,P,R,D,N,Q},{0,1,2,…,9},P,S)P:S->PD

29、P0

30、DP->NR

31、NR->QR

32、QD->2

33、4

34、6

35、8N->1

36、2

37、3

38、4

39、5

40、

41、6

42、7

43、8

44、9Q->0

45、1

46、2

47、3

48、4

49、5

50、6

51、7

52、8

53、96.已知文法G:<表达式>::=<项>

54、<表达式>+<项>

55、<表达式>-<项><项>::=<因子>

56、<项>*<因子>

57、<项>/<因子><因子>::=(<表达式>)

58、i。试给出下述表达式的推导及语法树。(1)i;(2)(i)(3)i*i;(4)i*i+i;(5)i+(i+i);(6)i+i*i。解:(1)v=<表达式>=><项>=><因子>=>i(2)v=<表达式>=><项>=><因子>=>(<表达式>)=>(<项>)=>(<因子>)=>(i)(3)v=<表

59、达式>=><项>=><项>*<因子>=><因子>*<因子>=>i*i(4)v=<表达式>=><表达式>+<项>=><项>+<项>=><项>*<因子>+<项>=><因子>*<因子>+<因子>=>i*i+i(5)v=<表达式>=><表达式>+<项>=><项>+<项>=><因子>+<因子>=>i+(<表达式>)=>i+(<表达式>+<项>)=>i+(<项>+<项>)=>i+(<因子>+<因子>)=>i+(i+i)(6)v=<表达式>=><表达式>+<项>=><项>+<项>=><因子>+<项>=>i+<项>=>i+<项>*

60、<因子>=>i+<因子>*<因子>=>i+i*i语法树见下图(略)7.为句子i+i*i构造两棵语法树,从而证明下述文法G[<表达式>]是二义的。<表达式>::=i

61、(<表达式>)

62、<表达式><运算符><表达式><运算符>::=+

63、-

64、*

65、/解:为句子i+i*i构造的两棵语法树如下:(略)所以,该文法是二义的。8.习题1中的文法G[S]是二义的吗?为什么?答:是二义的。因为对于句子abc可以有两种不同的生成树,即:S=>Ac=>abc和S=>aB=>abc两棵语法树如下:(略)9.考虑下面上下文无关文法:S→SS*

66、

67、SS+

68、a(1)表明通过此文法如何生成串aa+a*,并为该串构造推导树。(2)该文法生成的语言是什么?【解】(1)S=>SS*=>SS+S*aa+a*该串的推导树如下:(2)该文法生成的语言是只含+、*的算术表达式的逆波兰表示。11.令文法G[E]为:ET

69、E+T

70、E-TTF

71、T*F

72、T/FF(E)

73、i证明E+T*F是它的一个句型,指出这个句型的所有短语、直接短语和句柄。解:可为E+T*F构造一棵语法树(见下图),所以它是句型。从语法树中容易看出,E+T*F的短语有:T*F是句型E+T*F的相对于T的短语,也是相对

74、于规则TT*F的直接短语。E+T*F是句型E+T*F的相对于E的短语。句型E+T*F的句柄(最左直接短语)是T*F。12.下述文法G[E]生成的语言是什么?给出该文法的一个句子,该句子至少含五个终结符,构造该句子的语法树。证明:是G[]的句型,并指出该句型的所有短语、直接短语和句柄。->

75、->

76、->a

77、b

78、c->+

79、-->*

80、/解:(1)计算文法G[E]的语言:由于L(T)={(

81、a

82、b

83、c)((a

84、b

85、c)(*

86、/))n

87、n>=0}所以L(E)={L(T)(L(T)(+

88、-))n

89、n>=0}(2)该文法的一个句子是aab*+,它的语法树是:证明:是G[]的句型,并指出该句型的所有短语、直接短语和句柄。由于下面的语法树可以生成,所以它是G[]的句型

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。