理解文法和语文
Posted zhif97
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了理解文法和语文相关的知识,希望对你有一定的参考价值。
1.理解符号串与集合运算。
L=A,B, … ,Z,a,b, … ,z
D=0,1, … ,9
说明下表示的含义:
LUD :全部字母和数字的集合
LD :由一个字母后跟一个数字组成的所有符号串的集合
L4 :由4个字母组成的所有符号串的集合
L* :由字母组成的所有符号串(包括∑)的集合
D+ :由一个或若干个数字组成的所有符号串的集合
L(LUD)* :以字母开头,后跟字母、数字组成的所有符号串的集合
2.文法G(Z):Z->aZb|ab定义的是什么样的语言?
解析:
产生式:Z->aZb, Z->ab >>可以推导出: Z=>ab, Z=>aZb=>a²b²
重复使用产生式:Z->aZb >>得 : Z=>aZb=>a²Zb²...=>a?﹣¹Zb?﹣¹=>a?b?
所以语言为L(G[Z])=a?b?|n≥1
3.写出教材22页例2.2中标识符的文法四元组形式(VN,NT,P,S)。
解析:
有文法 G=(VN,VT,P,S),设L为标识符,D为字母,H为数字
VN=L,D,H,VT=a,b,c,...,x,y,z,0,1,2,...,9
P= <L>-><D>
<L>-><L><D>
<L>-><L><H>
<D>-><a>
<D>-><b>
┊
<D>-><z>
<H>-><0>
<H>-><1>
┊
<H>-><9>
S=<L>
4.写出下列表达式的最左推导、最右推导。
G(E):
E=> E + T | T
T=>T * F | F
F=>(E)| i
- i*i+i
- i+i*i
- i+(i+i)
注意观察最左和最右推导过程的不同。
解析:
最左推导:
从文法的起始符号开始:
E -> E + T
-> T + T
-> F + T
-> i + T
-> i + T * F
-> i + F * F
-> i + i * F
-> i + i * i
最右推导:
从文法的开始符号开始:
E -> E + T
-> E + T * F
-> E + T * i
-> E + F * i
-> E + i * i
-> T + i * i
-> F + i * i
-> i + i * i
以上是关于理解文法和语文的主要内容,如果未能解决你的问题,请参考以下文章