2.理解文法和语文

Posted a131452

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2.理解文法和语文相关的知识,希望对你有一定的参考价值。

1.理解符号串与集合运算。

L=A,B, … ,Z,a,b, … ,z

D=0,1, … ,9

说明下表示的含义:

LUD=A,B,...,Z,a,b,...,z,0,1,...,9;           集合L与集合D的并集。

LD=A0,...,A9,B0,...,B9,...,a0,...,a9,b0,...b9,...;   在集合L中任取一个元素与集合D中的任意一个元素组合。

L4=AAAA,AAAB,...,ABCZ,Aabb,...,zzzz,...; 在集合L中任选四个字母组成的所有符号串的集合。

L*=ε,AA,BB,CC,AB,Aa,AAA,...; 由L集合中的字母组成的所有符号串的集合。

D+=AA,BB,...,AAA,...AAAA,...;由D集合中一个或若干个数字组成的所有符号串的集合。

L(LUD)*:以字母开头,后跟字母,数字组成的所有符号串的集合。

 

2.文法G(Z):Z->aZb|ab定义的是什么样的语言?

Z->aZb|ab

 => Z->aZb,Z->ab

=>Z->aabb
=>Z->aaa......bbb
所以改语言为I(G[Z])=a^nb^n|n>=1.

 

3.写出教材22页例2.2中标识符的文法四元组形式(VN,NT,P,S)。

I-> I | IL | ID

L->a | b | c |...| x | y | z

D->0 |1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9

 

4.写出下列表达式的最左推导、最右推导。

G(E):

E=> E + T | T

T=>T * F | F

F=>(E)| i

  • i*i+i
  • i+i*i
  • i+(i+i)

 注意观察最左和最右推导过程的不同。

  • i*i+i
  •   最左推导:        E=> E + T => T + T =>  T * F  + T =>  F * F  + T =>  i * F  + T =>  i * i  + T =>  i * i  + F => i * i  + i 
  •   最右推导:        E=> E + T => E + F =>  E  + i =>   T + i =>  T * F  + i =>  T * i  + i =>  F * 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

  i+(i+i)

     最左推导:        E=> E + T => T + T =>  F  + T =>  i + T =>  i + F =>  i + (E) =>  i + ( E + T) => i  +( T + T ) => i + (F + T) => i + ( i +T ) => i + ( i + F) => i + ( i + i ) 

     最右推导:        E=> E + T => E + F =>  E  + ( E ) =>  E + ( E + T ) =>  E + ( E + F ) =>  E + (E + i ) =>  E+ ( T + i) => E  +( F + i ) => E + (i + i) => T + ( i +i ) => F + ( i + i) => i + ( i + i ) 

 

以上是关于2.理解文法和语文的主要内容,如果未能解决你的问题,请参考以下文章

文法和语文总结与梳理

理解文法和语文

理解文法和语文

4.文法和语文总结与梳理

4.文法和语文总结与梳理

FIRST集、FOLLOW集合和LL(1)文法 - 草稿