Analisis Sintaksis Parsing Yang dimaksud dengan parsing dari

  • Slides: 9
Download presentation
Analisis Sintaksis

Analisis Sintaksis

Parsing Yang dimaksud dengan parsing dari sebuah kalimat adalah konstruksi atau pembentukan pohon sintaks

Parsing Yang dimaksud dengan parsing dari sebuah kalimat adalah konstruksi atau pembentukan pohon sintaks untuk kalimat tersebut. Pohon sintaks untuk sebuah kalimat dari banyak bahasa selalu mempunyai sebuah simpul akar(root) yang diberi label sesuai simbol Start dari Grammarnya. Simpul daun dari pohon sintaks menyajikan simbol terminal dalam kalimat yang telah diuraikan. Semua simpul bukan daun menyajikan simbol nonterminal. Setiap simpul nonterminal mempunyai sejumlah cabang ke bawah yang berasal dari ruas kanan dari baris produksi yang dipergunakan. 2 of 9

Contoh Sebuah Grammar memiliki himpunan produksi sbb: S→S*S S→a Jika dilakukan derivasi untuk untai

Contoh Sebuah Grammar memiliki himpunan produksi sbb: S→S*S S→a Jika dilakukan derivasi untuk untai a*a*a. Salah satu bentuk derivasinya adalah : S→S*S*S →a*a*S →a*a*a Dan ada beberapa kemungkinan lain, dimana setiap kemungkinan akan membentuk pohon sintaks yang berbeda 3 of 9

Ambiguous Grammar Sebuah kalimat yang dihasilkan oleh sebuah Grammar adalah Ambiguous, jika terdapat lebih

Ambiguous Grammar Sebuah kalimat yang dihasilkan oleh sebuah Grammar adalah Ambiguous, jika terdapat lebih dari satu pohon sintaks yang dapat dipakai untuk membentuk kalimat tersebut. Sebuah Grammar adalah Ambiguous, jika menghasilkan setidaknya satu kalimat Ambiguous. Selain itu Grammar disebut Unambiguous. Jika ada beberapa Grammar berbeda dapat menghasilkan bahasa yang sama, dimana ada Grammar yang Ambiguous dan lainnya Unambiguous, maka bahasa tersebut dikatakan Inheretently Ambiguous. 4 of 9

Metode Parsing Ada dua metode dasar parsing, yaitu : 1. Top-down parsing konstruksi pohon

Metode Parsing Ada dua metode dasar parsing, yaitu : 1. Top-down parsing konstruksi pohon sintaks dimulai dari akar(root) dan dilanjutkan turun kebawah menuju daun 2. Buttom-up parsing konstruksi pohon sintaks dimulai dari daun bergerak keatas menuju akar(root) Dalam perkembangannya kedua metode dasar dapat dikombinasikan untuk mendapatkan kemungkinan lain. 5 of 9

Top-down Parsing Cara kerja : pada setiap urutan langkah, nonterminal paling kiri α dari

Top-down Parsing Cara kerja : pada setiap urutan langkah, nonterminal paling kiri α dari bentuk sentensial Q 1 α Q 2, diganti dengan bagian kanan dari produksi α → β untuk menghasilkan bentuk sentensial berikutnya. Contoh : G =({I, L, D}, {a, b, . . z, 0, … 9}, I, Q) dgn Q : I → L | ID L → a|b|c. . . z D → 0|1|2. . . 9 Buat pohon sintaks untuk menguji d 3 6 of 9

Karakteristik Top-down Parsing Secara umum, Top-down parsing memerlukan back-up, yaitu pengulangan penggunaan suatu produksi

Karakteristik Top-down Parsing Secara umum, Top-down parsing memerlukan back-up, yaitu pengulangan penggunaan suatu produksi dengan alternatif produksi yang lain bila produksi yang digunakan tidak sesuai dengan simbol input. Top-down parsing dapat digambarkan sebagai usaha untuk mendapatkan derivasi leftmost untuk suatu untai input, yaitu derivasi untuk mendapatkan untai tertentu dengan cara melalukan derivasi terhadap nonterminal terkiri. 7 of 9

Pembagian Top-down Parsing Secara umum ada 2 metode Top-down Parsing, yaitu : 1. Metode

Pembagian Top-down Parsing Secara umum ada 2 metode Top-down Parsing, yaitu : 1. Metode dengan back-up diantaranya adalah teknik Brute Force 2. Metode tanpa back-up diantaranya adalah teknik Recursive Descent 8 of 9

Cara kerja Brute Force Diketahui sebuah Grammar dengan himpunan produksi : S → a.

Cara kerja Brute Force Diketahui sebuah Grammar dengan himpunan produksi : S → a. Ad S → a. B A→b A→c B → ccd B → ddc Bentuk pohon sintaks untuk untai accd 9 of 9