編譯原理之了解基本的正規文法與正規式


1.分別寫出描述以下語言的正規文法和正規式:

(1)L1={abna|n≥0}。

  正規文法為:

  A -> aB

  B -> Ca

  C ->bC | ε

正規式為:

  ab*a

(2)L2={ambn|n≥1,m ≥1}

  正規文法為:

  A -> aA | aB | a | ε

  B -> Bb | b | ε

正規式為:

  aa*bb*

(3)L3={(ab)n|n≥1}

  正規文法為:

  A -> aB | ε

  B -> Ab

正規式為:

  ab(ab)*

 

 2.將以下正規文法轉換到正規式

(1)

Z→0A
A→0A|0B
B→1A|ε

   正規式為:

  A = 0A+0B

   = 0A+01A+0

   = (0+01)A0

   = (0|01)*0

  即

  Z = 0(0|01)*0

(2)

Z→U0|V1
U→Z1|1
V→Z0|0

   正規式為:

  Z = U0 + V1

   = Z10+10+Z01+01

   = Z(10+01)+10+01

   = (10|01)*1001

(3)

S→aA
A→bA|aB|b
B→aA

   正規式為:

  A = bA + aaA + b

   = A(b+aa)+b

   = (b|aa)*b

  即S = a(b|aa)*b

(4)

I→l|Il|Id

正規式為:

I = l+Il+Id

  = l(l+d)I

  = I(l|d)*


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM