Teknik Kompilasi
Kompilator
Kompilator (compiler) adalah sebuah program yang membaca suatu
program yang ditulis Dalam suatu bahasa sumber (source language) dan
menterjemahkannya kedalam suatu bahasa sasaran (target language) .
Contoh
:
Terlepas dari pengertiannya yang demikian relatif luas,
istilah kompilator biasa digunakan untuk program komputer yang
menerjemahkan program yang ditulis dalam bahasa pemrograman tingkat
tinggi (semacam bahasa Pascal, C++, BASIC, FORTRAN, Visual
Basic, Visual C#, Java, xBase, atau COBOL) menjadi bahasa
mesin, biasanya dengan bahasa Assembly sebagai perantara.
Gambar Proses Assembler
3 (tiga) blok diagram Analisa
Analisa leksikal
Membaca program sumber, karakter demi karakter. Sederetan (satu atau lebih) karakter dikelompokkan menjadi satu kesatuan mengacu kepada pola kesatuan kelompok karakter (token) yang ditentukan dalam bahasa sumber
Analisa sintaks
Memeriksa kesesuaian pola deretan token dengan aturan sintaks yang ditentukan dalam bahasa sumber. Sederetan token yang tidak mengikuti aturan sintaks akan dilaporkan sebagai kesalahan sintaks (sintax error).
Analisa semantik
Memeriksa token dan ekspresi dari batasan-batasan yang ditetapkan
Tipe Grammar Q1,Q2 dan Q3
Grammar tipe ke-1 : Context Sensitive Grammar (CSG)
Ciri : a, b Î (VT½VN)*, 0 < ïaï £ ïb
Grammar tipe ke-2 : Context Free Grammar (CFG)
Ciri : a Î VN, b Î (VT½VN)*
Grammar tipe ke-3 : Regular Grammar (RG)
Ciri : a Î VN, b Î {VT, VTVN} atau a Î VN, b Î {VT, VNVT}
Ciri-ciri RG sering dituliskan sebagai :
a Î VN, b Î {a, bC} atau a Î VN, b Î {a, Bc}
Pembuatan kompilator
Dapat dilakukan dengan :
1. Bahasa mesin, kesulitan sangat tinggi.
2. Bahasa assembly, biasa digunakan sebagai tahap awal.
Keuntungan : object code berukuran kecil.
Kerugian : memerlukan usaha yang besar.
3. Bahasa tingkat tinggi lain pada mesin yang sama.
Keuntungan : pemrograman mudah.
Kerugian : program hasil.
4. Bahasa tingkat tinggi yang sama pada mesin yang berbeda.
5. Bootstrap (diperkenalkan oleh Wirth).
Ide : kita bisa membangun sesuatu yang besar dengan dimulai dari bagian
Intinya.
0 komentar:
Posting Komentar