Tugas 1 Teknik Kompilasi Indras Yuda Suprapto Teknik Informatika Semester 5, 2009 Universitas Purwakarta
Questions !!! ➢ Cari keuntungan dan kerugian pembuatan kompilator ! ➢ Mengapa disebut model onepass ? Beri alasanya ! ➢ Istilahistilah dalam teknik kompilasi ➢ Perbedaan versi pada Delphi (Program)
Answer !!! ➢ Pembuatan kompilator diantaranya dengan : 1. BahasaMesin Tingkat kesulitannya tinggi, bahkan hampir mustahil dilakukan. Karena Bahasa mesin hanya mengenal kode biner yaitu 0 dan 1. Tetapi memori yang dihabiskan oleh bahasa mesin relatif kecil dan eksekusi cepat. 2. BahasaAssembly Bahasa Assembly bisa dan biasa digunakan sebagai tahap awal pada proses pembuatan sebuah kompilator. file mempunyai ukuran yang relatif kecil. Sulit dimengerti karena statement / perintahnya singkatsingkat tetapi masih bisa dipelajari. Fasilitas yang dimiliki terbatas. Eksekusi cepat, masih bisa dipelajari daripada bahasa mesin. 3. Bahasa Tingkat Tinggi lain pada mesin yang sama. Proses pembuatan kompilator akan lebih mudah
[email protected] 6 Oktober 2009
Tugas 1 Teknik Kompilasi 4. Bahasa tingkat tinggi yang sama pada mesin yang berbeda Untuk mesin yang berbeda perlu dikembangkan tahapantahapan tambahan. Misal, pembuatan kompilator C untukDOS, berdasar C padaUNIX 5. Bootstrap Pembuatan kompilator secara bertingkat. Untuk membangun sesuatu yang besar dibuat terlebih dahulu bagian intinya. PO dibuat dengan assembly, P1 dibuat dari P0, dan P2 dibuat dari P1 jadi kompiler untuk bahasa P dapat dibuat tidak harus dengan bahasa assembly secara keseluruhan.
➢ Model OnePass Model OnePass ini termasuk model parsing dimana dalam proses parsing hanya mengalami satu kali saja. Model OnePass ini tidak mengalami optimization code disebabkan oleh proses parsing satu kali. scan token parse token check token generate code for token n eof ? y gambar Phases work in an interleaved way (tahapan kerja dengan model onepass)
[email protected] 6 Oktober 2009
Tugas 1 Teknik Kompilasi Menyebabkan langkahnya tidak kompleks dan cepat sehingga tidak perlu memerlukan memori yang banyak. ➢ Istilahistilah •
Kompilator adalah sebuah program yang membaca suatu program yang ditulis Dalam suatu bahasa sumber (source language) dan menterjemahkannya ke dalam suatu bahasa sasaran (target language).
•
Translator adalah suatu program dimana mengambil input sebuah program yang ditulis pada satu bahasa program (source language) ke bahasa lain (the object target language).
•
Source language adalah jenis bahasa yang menjadi sumber.
•
Source code adalah kode program yang akan dikompilasi / diinterpret.
•
Object code adalah program hasil kompilasi/interpretasi.
•
Object file adalah file hasil kompilasi, biasanya berekstensi .OBJ atau .O .
•
Target Machine adalah komputer yang digunakan untuk menjalankan program hasil interpretasi/ kompilasi .
•
Token adalah kumpulan karakterkarakter yang memiliki arti.
•
Cross Compiler adalah menulis suatu bahasa pada suatu mesin untuk menghasilkan program untuk mesin lain.
➢ Perbedaan versi pada suatu Program Menurut versi sebuah program akan lebih baik dari program pendahulunya. Kenapa ? Karena program yang baik adalah setiap versinya semakin baik, mudah, cepat, dan fasilitas dari program itu bertambah sehingga memungkinkan bagi pengguna mudah menggunakannya. Tapi denga bertambah baik, mudah, cepat dan banyak fasilitasnya berbanding lurus dengan jumlah memorinya yaitu semakin besar ukuran program itu.
[email protected] 6 Oktober 2009