CONTEXT FREE LANGUAGE Yang akan kita pelajari: Pohon Turunan Yang telah kita pelajari: Derivation Derivation Order 4-Tuple CFG Bahasa dari Grammar Yang akan kita pelajari: Pohon Turunan Keambiguan
Pohon Turunan
Pohon Turunan
Pohon Turunan Diperoleh
Keambiguan
leftmost derivation
leftmost derivation
Dua pohon turunan
Grammar bersifat ambigu: string berasal dari dua pohon turunan
Grammar bersifat ambigu: string berasal dari dua pohon turunan
Definisi: Suatu context-free grammar bersifat ambigu Jika sejumlah string berasal dari dua atau lebih pohon turunan.
Dengan kata lain: Suatu context-free grammar bersifat ambigu Jika sejumlah string memiliki: dua atau lebih turunan kiri (leftmost derivation). atau turunan kanan (rightmost derivation)
Apa pentingnya mengetahui keambiguan? misalkan
Hasil yang benar
Keambiguan itu buruk untuk bahasa pemrograman Seorang programmer harus dapat menghindari keamabiguan
Grammar Ambigu Lainnya IF_STMT if EXPR then STMT if EXPR then STMT else STMT
If expr1 then if expr2 then stmt1 else stmt2 IF_STMT if expr1 then STMT if expr2 then stmt1 else stmt2 IF_STMT if expr1 then STMT else stmt2 if expr2 then stmt1
Time for Practice!! No.1. Jelaskan mengapa grammar berikut ini bersifat ambigu. S → 0A | 1B A → 0AA | 1S | 1 B → 1BB | 0S | 0 No.2. Jelaskan mengapa grammar berikut ini disebut ambigu. S -> AB | CD A -> 0A1 | 01 B -> 2B | 2 C -> 0C | 0 D -> 1D2 | 12 No.3. Diketahui CFG ambigu berikut ini: S → AB | aaB A → a | Aa B → b Tuliskan string s dari grammar tersebut yang memiliki dua turunan paling-kiri (leftmost derivation). Tunjukkan pohon turunannya.
SEE YOU NEXT CLASS