Makalah Kompilasi
Makalah Kompilasi
TEKNIK KOMPILASI
Hadi Witoyo & Suwidi
Bagai mana
Kompiler Pascal
Bekerja
Tugas Makalah
Teknik Kompilasi Asuhan Bp Dede Sutarya ST
Disusun Oleh:
Hadi Witoyo : 2001 312 47 0065 0047
Suwidi : 2001 312 47 0065 0063
Akhir kata penulis mengharapkan kritik dan saran dari pembaca guna
memperbaiki segala kekurangan yang ada, dan pembangunan karakter kami
untuk menuju yang lebih baik.
Sebagai media komunikasi kami sebarluaskan makalah ini di mailing list:
teknikkompilasi@yahoogroups.com
kirimkan saran ke penulis:
massuwidi@yahoo.com
yoyok@infokom.net
Penyusun
BAB I PENDAHULUAN
Latar Belakang......................................................................... 1
Ruang lingkup..........................................................................2
Tujuan ……………………………………………………………………….. ..2
BAB II PEMBAHASAN
Deskripsi dan Sejarah Free Pascal............................................3
Cara Kerja Kompilator (Compiler).............................................4
Scanner Generator (Lexical Analyzer)………………………….......... 4
Parser Generator………………………………………………………….. 4
Syntax-directed translation Engines…………………………………… 4
Automatic Code Generators……………………………………………… 5
Data-flow Engines…………………………………………………………… 5
Deskripsi Cara Kerja Kompilator (Compiler)………………………… 5
Fitur-Fitur yang didukung PPC386............................................7
Constant Folding......................................................................7
Constant Merging………............................................................7
Short Cut Evaluation.................................................................7
Constant Set In lining................................................................7
Small Sets ...............................................................................7
Range checking .......................................................................7
And Instead of module..............................................................7
Shift instead of multiply or divide .............................................8
Automatic alignment................................................................8
Smart linking ..........................................................................8
Inline routines..........................................................................8
Stack frame omission...............................................................8
Register variable.......................................................................8
PENUTUP
Latar Belakang
Bagai mana Pascal Compiler itu open source hingga kita
bebas mengunakan dan merubahnya, dan dimana kita
peroleh compiler tersebut .
P
ascal adalah salah satu bahasa tingkat tinggi dan merupakan
bahasa pemrograman procedural yang banyak dipakai untuk
mengenalkan pemrograman bagi mahasiswa. Baik mahasiwa Ilmu
Komputer, Teknik Komputer , maupun Ilmu Murni, sehingga pascal cukup
populer di kalangan ini. Agar suatu baris kode pascal dimengerti oleh
komputer diperlukan suatu software yang akan menerjemahkannya ke
bahasa mesin. Software tersebut bisa berupa interpreter dan compiler.
Bagi interpreter, program akan langsung diterjemahkan atau dieksekusi.
Sehingga program (source) tersebut tidak terjadi perubahan bentuk dan
setiap instruksi dilakukan apa adanya. Sedangkan kompilator (compiler)
akan melakukan hal sebaliknya, yaitu melakukan translasi ke suatu
bentuk yang biasanya disebut sebagai object, kemudian oleh linker dan
loader diubah menjadi sebuah program yang
executable. Dalam lingkungan Windows®
CARA DOWNLOAD
biasanya berekstensi .exe. Inilah perbedaan
Daftarkan email anda di yang mendasar antara interpreter dengan
http://www.freepascal.org/ kompilator (Compiler).
Anda akan menjadi Member
Ikut dalam forum Pada saat ini ada banyak sekali kompilator
Cari file-file para pengembang yang dikembangkan untuk memenuhi
kebutuhan suplay bahasa pemrograman.
Begitu juga dengan kompilator pascal. Banyak badan nirlaba dan
komersil yang mengembangkan compiler pascal. Tentunya dengan
tujuan yang berbeda-beda dan dengan kelebihan dan kekurangan yang
berbeda pula. Dalam keadaan seperti ini penulis menawarkan salah satu
alternatif pengguanaan compiler pascal yang open-source dan gratis.
Sehingga bisa mengurangi pembajakan.Yakni freepascal yang bisa di-
Lingkup materi yang dibahas dalam makalah ini meliputi
deskripsi singkat tentang free pascal (ppc386) khusus untuk
windows, cara kerja sebuah compiler menghasilkan kode
yang dimengerti mesin, fitur-fitur yang ada di free pascal
(dalam rangka optimasi).
P
ada mulanya diberi nama FPK-Pascal, kemudian diganti dengan
Free Pascal. Free Pascal sangat mirip dengan Turbo Pascal dan
Delphi, yang berjalan di sistem operasi DOS, Linux, Win32,
OS/2, dan AmigaOS. Untuk operating system lain, seperti FreeBSD,
Solaris, BEOS, PALMOS, dan NETBSD masih dalam tahap
pengembangan.
Compiler free pascal (ppc386) ditulis dalam bahasa Pascal dan
bisa dikompilasi sendiri dengan ppc386. Artinya bila ingin mengubah
kompiler ini, langkah yang harus dilakukan adalah mengkompile ulang
source-code yang disertakan dalam setiap paket dengan ppc386. Cara
yang lain yaitu dengan memakai fpcmake. Lain halnya dengan GNU
Pascal yang sama-sama open-source. Bedanya GNU Pascal ditulis
dalam bahasa C, sehingga bila ingin melakukan kompilasi ulang
kompiler harus menggunakan compiler C.
Tetapi hal ini tidaklah menjadi persoalan bagi seorang
programmer. Free Pascal mulai digarap pada bulan Juni 1993 dan baru
dirilis ke internet pada tahun 1996 versi 1.0.6 yang dirilis pada bulan
Maret tahun 2002. Untuk versi 1.1.x masih dalam tahap
pengembangan dan uji coba. Apabila telah stabil maka akan dirilis
dalam versi 1.2.x dengan perbaikan segala macam bug yang
ditemukan pada versi 1.1.x. Jadi masih sangat disarankan untuk
memakai versi 1.0.x bagi yang menggunakan prosessor Intel dan
Perhatikan fungsi
ini pada
semanti Deskripsi Cara Kerja Kompilator (Compiler),
c
Deskripsi Cara Kerja Kompolator (Compiler), Adalah sebagai
mana gambaran singkat berikut,
C := 1 + 2 + 3 + 4 ;
C := 10;
And Instead of modul, Ketika operan kedua, operasi mod pada nilai
unsigned merupakan sebuah konstanta 2, maka sebuah perintah and
akan dipakai sebagai pembagian integer. Ini akan melahirkan code
yang lebih efisien.
Shift instead of multiply or divide, Bila salah satu operan pada suatu
perkalian merupakan konstanta dua, maka akan di-encode dengan
memakai arithmetic shift instructions, sehingga akan dihasilkan
kode yang lebih efisien. Begitu juga dengan pembagian dengan
operator div dan pengaksesan terhadap indeks array.
Smart linking, Fitur ini akan meniadakan code yang tidak berguna
pada pembentukan file executable, sehingga akan didapatkan ukuran
file yang sangat kecil. Smart linking bisa diaktifkan dengan
menambahkan baris –Cx pada fpc.cfg, atau dengan cara
menambahkan {$SMARTLINK ON} pada program utama.
Stack frame omission, Pada kondisi tertentu, stack frame (jalur keluar
masuknya kode) akan dihilangkan dan variable akan diakses secara
langsung lewat stack pointer. Kondisi-kondisi stack frame akan
dihilangkan:
Kesimpulan
Ppc386 merupakan compiler yang cukup bagus. Hal ini
dibuktikan dengan kecepatan dan waktu roses kompilasi, mutu
program object, dan integrated environment(IDE) yang
lengkap. Disampng itu ppc386 juga mendukung antara lain:
2. ansi string
3. exception support
5. RTTI support
7. code optimizer
a. peephole optimizer
11
P E N U T U P
10. smartlinking
12. support IDE (currently for GO32v2 and Win32 only, in beta testing
phase).
12
P E N U T U P
Daftar Pustaka
13