GRMMR CONTEXT-FREE DN PRING entuk umum produksi CFG dlh :, V N, (V N V T )* nlisis sintks dlh penelusurn seuh klimt (tu sentensil) smpi pd simol wl grmmr. nlisis sintks dpt dilkukn mellui derivsi tu prsing. Penelusurn mellui prsing menghsilkn pohon sintks. Contoh 1 : Dikethui grmmr G 1 = {I H I H I, H c... z, 0 1 2... 9} dengn I dlh simol wl. erikut ini kedu cr nlis sintks untuk klimt x23. cr 1 (derivsi) cr 2 (prsing) I IH I IH IH I H HH xh I x2h x23h I 3 x23 H 2 x euh klimt dpt sj mempunyi leih dri stu pohon. Contoh 2 : Dikethui grmmr G 2 = { O, O * +, 0 1 2... 9} Klimt : 2*3+7 mempunyi du pohon sintks erikut : O O * O O + 2 + * 7 3 7 2 3 euh klimt yng mempunyi leih dri stu pohon sintks diseut klimt migu (miguous). Grmmr yng menghsilkn pling sedikit seuh klimt migu diseut grmmr migu.
Metod Prsing d 2 metod prsing : top-down dn ottom-up. Prsing top-down : Dierikn klimt x segi input. Prsing dimuli dri simol wl smpi klimt x nyt (tu tidk nyt jik klimt x memng tidk is diturunkn dri ) dri pemcn semu lef dri pohon prsing jik dic dri kiri ke knn. Prsing ottom-up : Dierikn klimt x segi input. Prsing dimuli dri klimt x yng nyt dri pemcn semu lef pohon prsing dri kiri ke knn smpi ti di simol wl (tu tidk smpi di jik klimt x memng tidk is diturunkn dri ) Prsing Top-down d 2 kels metod prsing top-down, yitu kels metod dengn ckup dn kels metod tnp ckup. Contoh metod kels dengn ckup dlh metod rute-force, sedngkn contoh metod kels tnp ckup dlh metod recursive descent. Metod rute-force Kels metod dengn ckup, termsuk metod rute-force, dlh kels metod prsing yng menggunkn produksi lterntif, jik d, ketik hsil penggunn seuh produksi tidk sesui dengn simol input. Penggunn produksi sesui dengn nomor urut produksi. Contoh 3 : Dierikn grmmr G = { d, c, ccd ddc}. Gunkn metod rute-force untuk melkukn nlisis sintks terhdp klimt x = ccd. Hsil : Input : is : ccd Penjelsn : Gunkn produksi pertm. Msukkn simol terkiri klimt segi input. d c c Input : c is : cd Krkter erikutny dlh simol terminl, Hsil dindingkn dengn Input. d Input : is : ccd Gunkn produksi pertm. d c cd Input : cc is : c Penjelsn : Hsil Input. Tidk d lgi produksi lterntif, ckup : gunkn produksi lterntif pertm. d Input : c is : cd Penjelsn : Hsil Input. ckup : Gunkn produksi lterntif pertm. Input : is : ccd Gunkn produksi pertm.
c c d c c d c c d c cc Input : c is : cd Input : cc is : d ccd Input : ccd is : Krkter erikutny dlh Krkter erikutny dlh simol terminl, Hsil simol terminl, Hsil dindingkn dengn Input. dindingkn dengn Input. ELEI, UKE Metod rute-force tidk dpt menggunkn grmmr rekursi kiri, yitu grmmr yng mengndung produksi rekursi kiri (left recursion) :. Produksi rekursi kiri kn menyekn prsing menglmi looping tk hingg. Contoh 4 : Dierikn grmmr G = { c, }. Gunkn metod rute-force untuk melkukn nlisis sintks terhdp klimt x = c. Hsil : Input : is : c Penjelsn : Msukkn simol terkiri klimt segi input. Gunkn produksi pertm. c Input : is : c Gunkn produksi pertm. c Input : is : c Gunkn produksi pertm. c dn seterusny... (looping) Input : is : c Input : is : c Gunkn produksi pertm. Gunkn produksi pertm. gr tidk menghsilkn looping tk hingg, grmmr rekursi kiri hrus ditrnsformsi. Untuk contoh di ts trnsformsi errti meruh produksi menjdi.
Metod Recursive-Descent Kels metod tnp ckup, termsuk metod recursive descent, dlh kels metod prsing yng tidk menggunkn produksi lterntif ketik hsil kit penggunn seuh produksi tidk sesui dengn simol input. Jik produksi mempunyi du uh rus knn tu leih mk produksi yng dipilih untuk digunkn dlh produksi dengn simol pertm rus knnny sm dengn input yng sedng dic. Jik tidk d produksi yng demikin mk diktkn hw prsing tidk dpt dilkukn. Ketentun produksi yng digunkn metod recursive descent dlh : Jik terdpt du tu leih produksi dengn rus kiri yng sm mk krkter pertm dri semu rus knn produksi terseut tidk oleh sm. Ketentun ini tidk melrng dny produksi yng ersift rekursi kiri. Contoh 5 : Dikethui grmmr G = {,, d}. Gunkn metod recursive descent untuk melkukn nlisis sintks terhdp klimt x = c. Hsil : Input : is : Penjelsn : Msukkn simol terkiri klimt segi input. Gunkn produksi dengn simol pertm rus knn = Input : is : c Gunkn produksi dengn simol pertm rus knn = c. Kren produksi demikin mk prsing ggl dilkukn. ELEI, PRING GGL Prsing ottom-up lh stu contoh menrik dri prsing ottom-up dlh prsing pd grmmr preseden sederhn (GP). eelum smpi ke prsing terseut, kn dikemukkn eerp pengertin dsr sert relsi yng d pd GP. Pengertin Dsr Jik dn x keduny diderivsi dri simol wl grmmr tertentu, mk diseut sentensil jik (V T V N )*, dn x diseut klimt jik x (V T )* Mislkn = Q 1 Q 2 dlh sentensil dn V N : - dlh frse dri sentensil jik : Q 1 Q 2 dn - dlh simple frse dri sentensil jik : Q 1 Q 2 dn - imple frse terkiri dinmkn hndel - frse, simple frse, dn hndel dlh string dengn pnjng 0 tu leih.. Contoh 6 : (1) I I H H dlh sentensil dn dlh simple frse H H (dindingkn dengn Q 1 Q 2 mk Q 1 = H, =, dn Q 2 = ) H Perhtikn : simple frse () dlh yng terkhir diturunkn
(2) I I H H dlh sentensil dn H dlh simple frse I (dindingkn dengn Q 1 Q 2 mk Q 1 =, = H, dn Q 2 = ) H Perhtikn : simple frse (H) dlh yng terkhir diturunkn entensil H mempunyi du simple frse ( dn H), sedngkn hndelny dlh H. Relsi Preseden dn Grmmr Preseden ederhn Relsi preseden dlh relsi ntr 2 simol grmmr (ik V T mupun V N ) dimn pling tidk slh stu simol terseut dlh komponen hndel. Mislkn dn R dlh 2 simol. d 3 relsi preseden yng :,, dn U U U R R R hndel hndel hndel Relsi : R Relsi : R Relsi : R Perhtikn : komponen hndel sellu menunjuk yng simol linny. Contoh 7 : Dikethui grmmr dengn G = {Z M, M (L, L M)}. Dri 3 sentensil :, (L, (M), tentukn hndel dn relsi yng d. (L (M) Z Z Z M M M ( L ( L Hndel : Hndel : (L Relsi :, Relsi : (, ( L, M ) L ecr umum : jik c dlh seuh produksi mk : - c dlh hndel dri sentensil yng mengndung string c - relsi preseden ntr,, dn c dlh :, c Hndel : M) Relsi : ( M, M, ), ) Dengn memperhtikn rus knn produksi yng d sert ergi sentensil yng dpt diderivsi dri Z mk semu relsi preseden tercntum dlm tel erikut : Z M L ( ) Z M L ( )
Grmmr G diseut grmmr preseden sederhn jik : 1. pling nyk terdpt stu relsi ntr setip du simolny 2. tidk terdpt du produksi produksi dengn rus knn yng sm Prsing Grmmr Preseden ederhn Prosedur prsing : 1. ut tel 3 kolom dengn lel : sentensil dn relsi, hndel, dn rus kiri produksi. 2. Tuliskn klimt (tu sentensil) yng diselidiki pd ris pertm kolom pertm. 3. Dengn menggunkn tel relsi preseden cntumkn relsi preseden ntr setip du simol yng ertetngg. 4. Tentukn hndel dri sentensil terseut. Hndel dlh string yng ditsi terkhir dn pertm jik dilkukn penelusurn dri kiri tu yng sling mempunyi relsi. Hndel terseut pstilh merupkn rus knn produksi, kren itu tentukn rus kiri dri hndel terseut. 5. Gnti hndel dengn rus kiri produksiny. GOTO 3. 6. Klimt yng diselidiki dlh enr dpt diderivsi dri simol wl jik kolom rus kiri produksi menghsilkn simol wl. Contoh 8 : Lkukn prsing ts klimt x = () erdsrkn grmmr G di ts. sentensil dn relsi hndel rus kiri produksi ( ) M ( M ) M) L ( L (L M M M Z Prosedur prsing smpi di simol wl (Z). Mk klimt () memng dpt diderivsi dri simol wl Z dengn menggunkn grmmr G.