1 / 17

Pertemuan 9 Ambiguous Grammar

Pertemuan 9 Ambiguous Grammar. Matakuliah : T0162/Teori Bahasa dan Automata Tahun : 2009. Learning Outcomes. Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : << TIK-99 >> << TIK-99>>. Outline Materi. Materi 1 Materi 2 Materi 3 Materi 4 Materi 5. CFG (lanjutan).

azize
Download Presentation

Pertemuan 9 Ambiguous Grammar

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Pertemuan 9Ambiguous Grammar Matakuliah : T0162/Teori Bahasa dan Automata Tahun : 2009

  2. Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : • << TIK-99 >> • << TIK-99>>

  3. Outline Materi • Materi 1 • Materi 2 • Materi 3 • Materi 4 • Materi 5

  4. CFG (lanjutan) Semua Regular Language dapatdidefinisikandengan CFG, tetapitidakberlakukebalikannya. Konversidari RE ke CFG: • RE =  S   2. RE =  (Produksidari S tidakdapatmenghasilkan string terminal). 2. RE = a S  a

  5. 4. RE = a + b S  a | b 5. RE = a.b S  ab 6. RE = a* S  aS | 

  6. Contoh: Buatlah CFG untuk language dengan RE = (ab+ba)*(abb)* Jawab: Produksi CFG S  A B A  CA |  C  ab | ba B  DB |  D  abb Jadi CFG G = {V,T,P,S} dengan V = {S,A,B,C,D} T = {a,b} P : ada disamping

  7. Ambiguous Grammar.. Ambiguous Grammar : Terdapat string dalam T* yang mempunyai lebih dari satu LMD atau lebih dari satu RMD atau lebih dari satu Parse Tree. Jika setiap string dalam L(G) mempunyai paling banyak satu parse tree, maka G disebut unambiguous.

  8. Ambiguous Grammar Contoh : parse tree untuk a+a*a T1 T2 E E E E * E E + + E E a a E * E a a a a

  9. Ambiguous Grammar Ada ambigous grammar (tidak semua) yang dapat diubah menjadi unambiguous grammar. Untuk CFG ekspresi aritmetika dapat diubah menjadi unambigous grammar : E  T | E + T T  F | T * F F  I | (E) I  a | b | c • Belum ada algoritma untuk mengubah dari ambiguous menjadi unambiguous grammar.

  10. Ambiguous Grammar • Suatu CFL L disebut inherently ambiguous jika semua CFG untuk L adalah ambiguous grammar. Contoh: L = Mempunyai CFG: S  AB | C A  aAb | ab B  cBd | cd C  aCd | aDd D  bDc | bc

  11. Parse tree untuk string ‘aabbccdd’ :

  12. Useless Symbols Useful / Useless Symbol : Simbol X disebut “Useful” apabila ada suatu derivasi X useless simbol apabila : 1. X tidak bisa menurunkan terminal, atau 2. X tidak bisa diturunkan dari S

  13. Useless Symbols Lemma : Untuk suatu L(G) , dapat ditemukan CFG yang equivalen G = (V, T, P, S) dimana untuk setiap A dalam V terdapat suatu string w  T* dimana Himpunan variabel V yang dapat menurunkan string Terminal dapat dicari dengan algoritma berikut :

  14. Begin 1. OLDV :  2. NEWV : = {A  A w untuk w  T*} 3. While OLDV  NEWV do begin 4. OLDV := NEWV; 5. NEWV := OLDV  {AA a untuk a (T  OLDV)*} end 6. v’ := NEWV end

  15. Useless Symbols Menghilangkan Useless Symbol : Contoh : Grammar : 1. S  ABa 2. A  a B dalam (1) useless sehingga produksi di atas menjadi : 1’. S  a 2’. A  a

  16. A dalam 2’ tidak bisa diakses dari S, grammar di atas menjadi : G’ = ({S}, {a}, {S  a}, S) Latihan : Cari ekuivalen CFG tanpa “Useless Symbol” untuk grammar berikut : S  ABCA A  a B  BCAB C  aBb

  17. << CLOSING>>

More Related