Kamis, 18 Oktober 2007

Posisi Parser dalam Kompilator

Posisi Penganalisa Sintaks (Parser) dalam proses kompilasi adalah sebagai berikut :

Deretan token Parser Pohon Parse (Parse Tree)

Kesalahan Sintaks (sintax errors)

- Deretan token : dihasilkan oleh Penganalisa Leksikal (Scanner)
- Pohon parse : suatu pohon dimana akarnya (root) adalah simbol awal grammar (starting symbol), setiap node dalam (inner node) adalah simbol nonterminal, dan daunnya (leaf) dibaca dari kiri ke kanan adalah deretan token masukan. Pohon parse ini dibentuk berdasarkan aturan grammar yang ditetapkan untuk parser.
- Kesalahan sintaks : terjadi jika pola deretan token tidak memenuhi ketentuan pola yang telah ditentukan grammar untuk parser.

Grammar yang dipilih untuk scanner adalah Regular Grammar (RG) sedangkan untuk parser adalah Grammar Context Free (CFG). Penting diketahui perbedaan cara pandang RG dengan CFG terhadap sebuah token yang mengalir antara scanner dan parser. Bagi RG (scanner) sebuah token (kecuali reserve word) adalah sebuah kalimat dimana setiap karakter pembentuk token tersebut adalah simbol terminal. Sebaliknya bagi CFG (parser) sebuah token adalah sebuah simbol terminal dimana sederetan tertentu token akan membentuk sebuah kalimat.
Latihan 1 : Berikan contoh kalimat_versi_parser dimana setiap simbol terminalnya adalah sebuah kalimat_versi_scanner. Tunjukkan secara gramatikal bahwa setiap kalimat_versi_scanner tersebut memang merupakan simbol-simbol terminal bagi kalimat_versi_parser.

Tidak ada komentar: