Kompilator (Inggris: compiler)
adalah sebuah program komputer yang
berguna untuk menerjemahkan program komputer yang ditulis dalam bahasa
pemrograman tertentu menjadi program yang ditulis dalam bahasa pemrograman
lain. Kompilator melakukan proses kompilasi dengan cara menganalisis kode
sumber secara keseluruhan, sehingga waktu yang dibutuhkan untuk melakukan
kompilasi lebih lama, namun hasilnya lebih cepat dalam proses eksekusi daripada
program yang dibuat dengan menggunakan teknik interpretasi dengan interpreter.
Bahasa
yang digunakan untuk membuat compiler beragam,misalnya bahasa mesin, assembly,
bahasa tingkat tinggi (high level language), bootstrap. Compiler biasa
digunakan untuk program komputer yang menerjemahkan program yang ditulis dalam
bahasa tingkat-tinggi semacam bahasa Pascal, C++, BASIC, FORTRAN, Visual-Basic,
Visual C#, Java, xBase, atau COBOL.
Struktur
dalam membuat kompiler,ialah:





-
Dependensi Optimasi, bertujuan untuk menghasilkan kode
program yang berukuran lebih kecil dan cepat.
-
Optimasi Lokal, adalah optimasi yang dilakukan hanya
pada suatu blok dari source code.
-
Optimasi Global, biasanya dilakukan dengan suatu graph
terarah yang menunjukkan jalur yang mungkin selama ekskusi program.


1.
Tabel identifier,
berfungsi menampung semua identifier yang terdapat dalam program.
2.
Tabel Array,
berfungsi menampung informasi tambahan untuk sebuah array.
3.
Tabel blok, mencatat
variabel-variabel yang ada pada blok yang sama.
4.
Tabel Real, menyimpan
elemen tabel bernilai real.
5.
Tabel string,menyimpan
informasi string.
6.
Tabel display,
mencatat blok yang aktif.

1.
Kesalahan Leksikal karena kesalahan dalam
mengetik/mengeja.
2.
Kesalahan Sintaks ,misalnya dalam operasi aritematika
dengan tanda kurung yang jumlahnya kurang.
3.
Kesalahan Semantic karena tipe data yang salah atau
variabel yang belum didefinisikan
Untuk
memperbaiki kesalahan dan membuat source code valid,dapat dilakukan:
- Mekanisme Ad Hoc,
recovery yang dilakukan tergantung pada si pembuat compiler dan tidak terikat
pada suatu aturan tertentu
-
Syntax directed
repair, menyisipkan atau membuang simbol terminal yang dianggap hilang atau yang menyebabkan error
Tidak ada komentar:
Posting Komentar