Minggu, 05 Januari 2014

Contoh: First, Follow dan Parsing Table (Teknik Kompilasi)

Soal :
BM à BM and BK | BK
BK à BK ­­or BT | BT
BT à not BT | (BM) | id | *

1.      Rekursif Kiri


BM à BM and BK | BK
BM à BK BM’      
BM’à and BK BM’ | 0

      BK à BK or BT | BT
      BK à BT BK’
      BK’ à or BT BK’ | 0

Jadi hasil rekursif kiri adalah :
1.                BM à BK BM’
2.                BM’ à and BK BM’ | 0
3.                BK à BT BK’
4.                BK’ à or BT BK’ | 0
5.                BT à not BT | (BM) | id | *


2.      First
First (BM)  : { not, (, id, * }
First (BM’) : { and, 0 }
First (BK)   : { not, (, id, * }
First (BK’) : { or, 0 }
First (BT)   : { not, ( , id, * }

3.      Follow
Follow (BM)  : { $, ) }
Follow (BM’) : { $, ) }
Follow (BK)   : { and, $, ) }
Follow (BK’)  : { and, $, ) }
Follow (BT)   : { or, and, $, ) }


4.      Parsing Table
§  BM à BK BM’
First {BK} = {not, (, id, *}
Jadi, M{BM,not}=M{BM,( }=M{BM,id}=M{BM,*}= BM à BK BM’
§  BM’ à and BK BM’ | 0
M(BM’,and) = BM’ à and BK BM’
§  BM’ à 0
Follow(BM’) = { $, ) }
Jadi, M{BM’ , $}=M{BM’ , ) } = BM’ à 0
§  BK à BT BK’
First(BT) = { not, ( , id, * }
Jadi, M{BK,not}=M{BK,( }=M{BK,id}=M{BK,*}= BK à BT BK’
§  BK’ à or BT BK’
M(BK’,or) = BK’ à or BT BK’
§  BK’ à 0
Follow(BK’) = { and, $, ) }
Jadi, M{BK’,and}=M{BK’ , $}=M{BK’ , ) } = BK’ à 0
§  BT à not BT
M{BT,not} = BT à not BT
§  BT à (BM)
 M{ BT, ( } = BT à (BM)
§  BT à id
M{BT,id} = BT à id
§  BT à *

M{BT,*} = BT à *



1 komentar:

Followers