Pembuatan Aplikasi Generator untuk Komponen Scanner dan Parser pada Compiler
Main Author: | JIWANTO, STEVEN |
---|---|
Format: | Undergraduate thesis PeerReviewed application/pdf |
Terbitan: |
Fakultas Teknik UBAYA
, 2012
|
Subjects: | |
Online Access: |
http://repository.ubaya.ac.id/13738/1/TI_1538_Abstrak.pdf http://digilib.ubaya.ac.id/pustaka.php/227797 http://repository.ubaya.ac.id/13738/ |
Daftar Isi:
- Saat ini masih ditemukan banyak kendala dalam perancangan Compiler , khususnya pada tahap perancangan komponen Scanner dan Parser . Pada tahap perancangan komponen Scanner dan Parser dibutuhkan tabel simbol yang akan dijadikan acuan untuk membaca dan memeriksa isi source program . Besar kecilnya ukuran tabel simbol dan jumlah data yang harus diolah untuk kebutuhan pengisian tabel simbol sangat tergant ung dari kompleksitas rancangan aturan bahasa pemrograman yang dibuat. Jika rancangan aturan bahasa pemrograman cukup kompleks maka pekerjaan secara manual akan banyak memakan waktu dan sangat riskan kesalahan. Pengubahan ra ncangan aturan bahasa pemrograman dapat mengakibatkan beberapa langkah pembuatan tabel simbol harus diulangi untuk menyesuaikan dengan perubahan aturan bahasa. Oleh karena itu, dibutuhkan sebuah aplikasi Generator yang mampu menghasilkan tabel simbol untuk Scanner dan Parser dengan lebih cepat dan akurat. Desain proses untuk aplikasi Generator dibuat berdasarkan urutan langkah pembuatan tabel simbol untuk Scanner dan Parser. Langkah-langkah pembuatan tabel simbol untuk Scanner yaitu mendefinisikan token , membuat tabel transisi Deterministic Finite Automata (DFA) gabungan, dan membuat tabel transisi Finite Automata (FA) dan tabel jenis token. Langkah-langkah pembuatan tabel simbol untuk Parser yaitu mendefinisikan aturan sintaks dengan menggunakan Context-Free Grammar (CFG), mencari himpunan First (X) dan Follow (X), memperluas CFG, membuat LR Item Set , dan membuat tabel Action , tabel Goto , dan tabel Grammar . Dari hasil uji coba aplikasi diperoleh kesimpulan bahwa aplikasi telah memenuhi sebagian besar kebutuhan pengguna, mulai dari fasilitas yang disediakan untuk mendefinisikan aturan bahasa, otomatisasi proses pembuatan tabel simbol untuk Scanner dan Parser, hingga dukungan untuk menyimpan dan mengubah rancangan aturan bahasa pemrograman dan mengulangi proses pembuatan tabel simbol.