SlideShare a Scribd company logo
CONTEXT-FREE GRAMMAR (CFG)
DAN PARSING
   Bentuk umum produksi CFG adalah :
    α → β, α ∈ VN, β ∈ (VNVT)*
   Analisis sintaks :
    Penelusuran sebuah kalimat (sentensial)
    sampai pada simbol awal grammar.
    Analisis sintaks dapat dilakukan melalui
    derivasi atau parsing. Penelusuran melalui
    parsing menghasilkan pohon sintaks.
CONTEXT-FREE GRAMMAR (CFG)
DAN PARSING
  Contoh :
Diketahui grammar G = {I → HI HIA, H → abc...z, A → 012...9}
dengan I adalah simbol awal.
Berikut ini kedua cara analisa sintaks untuk kalimat x23b.
cara 1 (derivasi)                                        cara 2 (parsing)
   I      ⇒ IH                                                       I
          ⇒ IAH
          ⇒ IAAH                                               I          H
          ⇒ HAAH
          ⇒ xAAH                                       I           A      b
          ⇒ x2AH
          ⇒ x23H                              I          A       3
          ⇒ x23b
                                              H             2

                                            x
CONTEXT-FREE GRAMMAR (CFG)
DAN PARSING
   Contoh :
    Diketahui grammar G = {S → SOSA , O → *+, A → 012...9}
    Kalimat : 2*3+7 mempunyai dua pohon sintaks berikut :
                   S                                S

               S   O       S                S       O   S


               A   *   S   O   S        S   O   S   +   A

               2       A   +   A        A   *   A       7

                       3       7        2       3
    Sebuah kalimat yang mempunyai lebih dari satu pohon sintaks disebut
    kalimat ambigu (ambiguous). Grammar yang menghasilkan paling sedikit
    sebuah kalimat ambigu disebut grammar ambigu.
Metoda Parsing
Ada 2 metoda parsing : top-down dan
  bottom-up.
 Parsing top-down :

  Parsing dimulai dari simbol awal S sampai
  kalimat x
 Parsing bottom-up :

  Parsing dimulai dari kalimat x sampai
  simbol awal S
Parsing Top-down
   Ada 2 kelas metoda parsing top-down :
    1. kelas metoda dengan backup,
        Contoh: metoda Brute-Force
    2. kelas metoda tanpa backup
        Contoh: metoda recursive descent.
   Metoda Brute-Force
    Kelas metoda dengan backup, termasuk metoda Brute-
    Force, adalah kelas metoda parsing yang menggunakan
    produksi alternatif, jika ada, ketika hasil penggunaan
    sebuah produksi tidak sesuai dengan simbol input.
    Penggunaan produksi sesuai dengan nomor urut
    produksi.
Parsing Top-down
   Metoda Recursive-Descent

   Kelas metoda tanpa backup, termasuk metoda recursive descent,
    adalah kelas metoda parsing yang tidak menggunakan produksi
    alternatif ketika hasil akibat penggunaan sebuah produksi tidak
    sesuai dengan simbol input. Jika produksi A mempunyai dua buah
    ruas kanan atau lebih maka produksi yang dipilih untuk digunakan
    adalah produksi dengan simbol pertama ruas kanannya sama
    dengan input yang sedang dibaca. Jika tidak ada produksi yang
    demikian maka dikatakan bahwa parsing tidak dapat dilakukan.

   Ketentuan produksi yang digunakan metoda recursive descent
    adalah : Jika terdapat dua atau lebih produksi dengan ruas kiri yang
    sama maka karakter pertama dari semua ruas kanan produksi
    tersebut tidak boleh sama. Ketentuan ini tidak melarang adanya
    produksi yang bersifat rekursi kiri.
Parsing Bottom-Up
   Salah satunya adalah grammar preseden sederhana (GPS).
   Pengertian Dasar
      Jika α dan x keduanya diderivasi dari simbol awal grammar

       tertentu, maka α disebut sentensial jika α ∈ (V V)*, dan x
       disebut kalimat jika x ∈ (V)*
      Misalkan α = Q β Q adalah sentensial dan A ∈ V :
                      1    2                             N

- β adalah frase dari sentensial α jika : S ⇒ … ⇒ Q α Q dan α ⇒ … ⇒ β
                                                  1   2

- β adalah simple frase dari sentensial α jika : S ⇒ … ⇒ Q α Q dan α ⇒ β
                                                          1   2

- Simple frase terkiri dinamakan handel
- frase, simple frase, dan handel adalah string dengan panjang ≥ 0
Parsing Bottom-Up
Contoh 6 :
    I⇒IH
     ⇒HH
     ⇒Hb
    Hb adalah sentensial dan b adalah simple frase
   (dibandingkan dengan Q1β Q2 maka Q= H, β = b, dan Q = ε)
    Perhatikan : simple frase (b) adalah yang terakhir diturunkan

    I⇒IH
      ⇒Ib
      ⇒Hb
    Hb adalah sentensial dan H adalah simple frase
    (dibandingkan dengan Q1β Q2 maka Q= ε, β = H, dan Q = b)
    Perhatikan : simple frase (H) adalah yang terakhir diturunkan

   Sentensial Hb mempunyai dua simple frase (b dan H), sedangkan handelnya adalah H.

More Related Content

PPTX
CFG dan PARSING - P 5 - Teknik Kompilasi
PPTX
Notasi Bahasa - P 5,6,7
PPT
P 2 Konsep & Notasi Bahasa - Teknik Kompilasi
PDF
Teori bahasa-dan-otomata
PDF
Teori bahasaautomata
PDF
Aturan produksi Finite State Automata
PDF
Hirarky chomsky
PPTX
Intermediate code kode antara
CFG dan PARSING - P 5 - Teknik Kompilasi
Notasi Bahasa - P 5,6,7
P 2 Konsep & Notasi Bahasa - Teknik Kompilasi
Teori bahasa-dan-otomata
Teori bahasaautomata
Aturan produksi Finite State Automata
Hirarky chomsky
Intermediate code kode antara

What's hot (19)

PPTX
Pushdown Automata
PPT
Bab 2-intro-python
PPT
Teori bahasa dan automata2
PPTX
Analisis Semantik - P 6 Teknik Kompilasi
PPT
Tugas Akhir
PPT
Tugas Akhir Logika
PDF
Push Down Automata (PDA)
PPT
Tugas Logika
PPT
Tugas Logika
PPT
6. analisis semantik
PPT
PPSX
4.untai logika178
PPTX
Pertemuan 4 - Struktur Kondisi IF
DOC
Kompilasi13 ka p (1)
PDF
P1 2-tipe data
PPTX
SLIDE KE:5 NFA
PPT
Kmap
DOC
Kompilasi13 ka p (2)
PPTX
Pengenalan bahasa c++
Pushdown Automata
Bab 2-intro-python
Teori bahasa dan automata2
Analisis Semantik - P 6 Teknik Kompilasi
Tugas Akhir
Tugas Akhir Logika
Push Down Automata (PDA)
Tugas Logika
Tugas Logika
6. analisis semantik
4.untai logika178
Pertemuan 4 - Struktur Kondisi IF
Kompilasi13 ka p (1)
P1 2-tipe data
SLIDE KE:5 NFA
Kmap
Kompilasi13 ka p (2)
Pengenalan bahasa c++
Ad

More from yuster92 (7)

PPT
8. ptk optimasi kode
PPT
7. cara penanganan kesalahan
PPT
4.analisisleksikalfix
PPT
3. bhsregularfix
PPT
1. pendahuluan kompilasi
PPT
0. kontrak kuliah
PPT
9. tabel informasi
8. ptk optimasi kode
7. cara penanganan kesalahan
4.analisisleksikalfix
3. bhsregularfix
1. pendahuluan kompilasi
0. kontrak kuliah
9. tabel informasi
Ad

5. cf dan parsing

  • 1. CONTEXT-FREE GRAMMAR (CFG) DAN PARSING  Bentuk umum produksi CFG adalah : α → β, α ∈ VN, β ∈ (VNVT)*  Analisis sintaks : Penelusuran sebuah kalimat (sentensial) sampai pada simbol awal grammar. Analisis sintaks dapat dilakukan melalui derivasi atau parsing. Penelusuran melalui parsing menghasilkan pohon sintaks.
  • 2. CONTEXT-FREE GRAMMAR (CFG) DAN PARSING  Contoh : Diketahui grammar G = {I → HI HIA, H → abc...z, A → 012...9} dengan I adalah simbol awal. Berikut ini kedua cara analisa sintaks untuk kalimat x23b. cara 1 (derivasi) cara 2 (parsing) I ⇒ IH I ⇒ IAH ⇒ IAAH I H ⇒ HAAH ⇒ xAAH I A b ⇒ x2AH ⇒ x23H I A 3 ⇒ x23b H 2 x
  • 3. CONTEXT-FREE GRAMMAR (CFG) DAN PARSING  Contoh : Diketahui grammar G = {S → SOSA , O → *+, A → 012...9} Kalimat : 2*3+7 mempunyai dua pohon sintaks berikut : S S S O S S O S A * S O S S O S + A 2 A + A A * A 7 3 7 2 3 Sebuah kalimat yang mempunyai lebih dari satu pohon sintaks disebut kalimat ambigu (ambiguous). Grammar yang menghasilkan paling sedikit sebuah kalimat ambigu disebut grammar ambigu.
  • 4. Metoda Parsing Ada 2 metoda parsing : top-down dan bottom-up.  Parsing top-down : Parsing dimulai dari simbol awal S sampai kalimat x  Parsing bottom-up : Parsing dimulai dari kalimat x sampai simbol awal S
  • 5. Parsing Top-down  Ada 2 kelas metoda parsing top-down : 1. kelas metoda dengan backup, Contoh: metoda Brute-Force 2. kelas metoda tanpa backup Contoh: metoda recursive descent.  Metoda Brute-Force Kelas metoda dengan backup, termasuk metoda Brute- Force, adalah kelas metoda parsing yang menggunakan produksi alternatif, jika ada, ketika hasil penggunaan sebuah produksi tidak sesuai dengan simbol input. Penggunaan produksi sesuai dengan nomor urut produksi.
  • 6. Parsing Top-down  Metoda Recursive-Descent  Kelas metoda tanpa backup, termasuk metoda recursive descent, adalah kelas metoda parsing yang tidak menggunakan produksi alternatif ketika hasil akibat penggunaan sebuah produksi tidak sesuai dengan simbol input. Jika produksi A mempunyai dua buah ruas kanan atau lebih maka produksi yang dipilih untuk digunakan adalah produksi dengan simbol pertama ruas kanannya sama dengan input yang sedang dibaca. Jika tidak ada produksi yang demikian maka dikatakan bahwa parsing tidak dapat dilakukan.  Ketentuan produksi yang digunakan metoda recursive descent adalah : Jika terdapat dua atau lebih produksi dengan ruas kiri yang sama maka karakter pertama dari semua ruas kanan produksi tersebut tidak boleh sama. Ketentuan ini tidak melarang adanya produksi yang bersifat rekursi kiri.
  • 7. Parsing Bottom-Up  Salah satunya adalah grammar preseden sederhana (GPS).  Pengertian Dasar  Jika α dan x keduanya diderivasi dari simbol awal grammar tertentu, maka α disebut sentensial jika α ∈ (V V)*, dan x disebut kalimat jika x ∈ (V)*  Misalkan α = Q β Q adalah sentensial dan A ∈ V : 1 2 N - β adalah frase dari sentensial α jika : S ⇒ … ⇒ Q α Q dan α ⇒ … ⇒ β 1 2 - β adalah simple frase dari sentensial α jika : S ⇒ … ⇒ Q α Q dan α ⇒ β 1 2 - Simple frase terkiri dinamakan handel - frase, simple frase, dan handel adalah string dengan panjang ≥ 0
  • 8. Parsing Bottom-Up Contoh 6 : I⇒IH ⇒HH ⇒Hb Hb adalah sentensial dan b adalah simple frase (dibandingkan dengan Q1β Q2 maka Q= H, β = b, dan Q = ε) Perhatikan : simple frase (b) adalah yang terakhir diturunkan I⇒IH ⇒Ib ⇒Hb Hb adalah sentensial dan H adalah simple frase (dibandingkan dengan Q1β Q2 maka Q= ε, β = H, dan Q = b) Perhatikan : simple frase (H) adalah yang terakhir diturunkan  Sentensial Hb mempunyai dua simple frase (b dan H), sedangkan handelnya adalah H.