Selasa, 13 Maret 2007

Free Pascal (Ppc386)

Ternyata pascal sudah release versi baru lagi, setelah sekian lama berhenti di pascal 7.0 sekarang pascal sudah merelease versi baru dan pengembangan dari pascal dan dinamain free pascal. Free pascal dibuat untuk multi platform jadi nggak cuma ada dimicrosoft tapi bias di FreeBSD, linux, netware dll. Jadi kalau pengguna pascal yang sering kurang tidur karena ikut-ikutan pakai OS bajakan bisa pindah linux maupun FreeBSD.

Ngapain sih ngomongin pascal kan sudah ada Delphi yang GUI. Pascal itu merupakan bahasa pemrograman tingkat tinggi dan merupakan bahasa procedural yang digunakan untuk mengenalkan pemrograman kepada mahasiswa baik TI, MI bahkan SI. So pascal sangat dikenal dikalangan pendidikan. Free Pascal untuk windows dikenal dengan ppc386. Free pascal dapat didownload di http://www.freepascal.org


Compiler Free pascal dibuat menggunakan bahasa pascal sintaks yang digunakan pun sama dengan Delphi maupun turbo pascal. Sebelumnya memang sudah ada GNU pascal yang berjalan di linux. GNU pascal dibuat menggunakan bahasa C sehingga untuk mengcompile ulang harus menggunakan compiler C.

Apa saja sih yang didukung oleh Free pascal ini ?, banyak lah, akan aku coba terangin ya

Constant folding
Jika suatu operan merupakan konstanta maka pada saat kompilasi akan dihitung.
Missal : C:=1+2+3+4; akan disingkat menjadi C:=10;

Constant Merging
Pemakaian konstanta string, Floating point, konstanta ganda akan digantikan oleh salah satu dari konstanta tersebut.

Short cut evaluation
Pengujian ekspresi boolean akan berhenti dengan cepat jika hasil sudah diketahui, hal ini akan mempercepat proses kompilasi dari pada membandingkan seluruh operan Boolean.

Constant Set Inlining
Penggunaan operator in lebih praktis dan efisien dari pada penggunaan <,>, =, <=,
>=. Karena dengan menggunakan operator ini bisa mengeliminasi range perbandingan.

Small Sets
Jika ada himpunan yang terdiri kurang dari 33 elemen bias seacara langsung di-encode dengan 32-bit. Oleh karena itu tidak ada run-time library yang dipanggil untuk melakukan uji operan pada himpunan ini. Himpunan ini secara langsung di en-code oleh code generator.

Range checking
Assignmen dari suatu konstanta ke variabel akan diperiksa range-nya pada saat kompilasi.hal ini yang akan meniadakan pemeriksaan range pada saat run-time.

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.

Automatic alignment,
Secara default semua variabel yang lebih dari satu byte dijamin akan disetarakan dengan minimal batasan satu word. Penyejajaran pada stack dan data section tergantung pada setiap prosessor.

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.

Inline routines,
Pengevaluasian ekspresi boolean berhenti secepatnya jika hasilnya sudah diketahui, sehingga proses kompilasi lebih cepat daripada membandingkan seluruh operan boolean. Fitur untuk mengkodekan secara langsung runtime library Lo, Hi, High, Sizeof, typeof, Length, Pred, Succ, Inc, dan Assigned ke file executable (program jadi).

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:
• Sebuah fungsi yang tidak punya parameter atau variabel local
• Routine yang dideklarasikan dengan assembler modifier.
• Routine bukan merupakan kelas.

Register variable,
Apabila kita mengaktifkan switch –Or pada fpc.cfg, variabel atau parameter lokal yang sering dipakai akan dipindah ke register sehingga aksesnya lebih cepat


Ppc386 merupaka compiler yang bagus, cepat dalam proses kompilasi memiliki IDE yang lengkap. Disamping itu Ppc386 bisa mengkompile source kode menjadi program assembly GAS / Nasm /Masm /Tasm.











1 komentar:

  1. Artikel-artikel di blog ini bagus-bagus. Coba lebih dipopulerkan lagi di Lintasberita.com akan lebih berguna buat pembaca di seluruh tanah air. Dan kami juga telah memiliki plugin untuk Blogspot dengan installasi mudah. Salam!

    http://lintasberita.com/Teknologi/Free_Pascal_Ppc386/

    BalasHapus

dimohon isi komentar anda, Syukur ada yang mau ngasih kritik yang membangun, untuk membangun silaturahmi