Jumat, 20 Juni 2014

Bahasa Indonesia 2 - Artikel 17

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.



Share:

0 komentar:

Posting Komentar