KOMPILASI
Fathur Rahman, M.Kom
TUJUAN
Teknik :
Kompilasi :
Compile :
Kenapa perlu
Translator ?
*.asm
*.asm
Assembler
Assembler
Object
Objectcode
code
*.exe
*.exe/*.com
/*.com
2. Compiler
Source code adalah bahasa tingkat tinggi, object code
adalah bahasa mesin atau bahasa assembly. Source
code dan data diproses berbeda
Data
Data
Source
Source
code
code
Compile
Compilerr
Execution
Execution
Hasil
Hasil
Object
ObjectCode
Code
3. Interpreter
Interpreter tidak menghasilkan bentuk object code, tetapi
hasil translasinya hanya dalam bentuk internal, dimana
program induk harus selalu ada-berbeda dengan compiler
Source
Sourcecode
code
Data
Data
Translator
Translator
Hasil
Hasil
Source
Program
Compiler
ERROR
MESSAGES
OBJECT
PROGRAM
COMPILER vs INTERPRETER
COMPILER vs INTERPRETER
Proses kompilasi
dikelompokkan ke dalam
dua 1.kelompok
besar
:
analisa : program sumber
2.
Penganalisa Leksikal
Penganalisa Sintaks
Penganalisa Semantik
memeriksa token dan ekspresi dari batasanbatasan yang ditetapkan. Batasan-batasan
tersebut misalnya :
a. panjang maksimum token identifier adalah 8
karakter,
b. panjang maksimum ekspresi tunggal adalah 80
karakter,
c. nilai bilangan bulat adalah -32768 s/d 32767,
d. operasi aritmatika harus melibatkan operanoperan yang bertipe sama
membangkitkan kode antara (intermediate code) berdasarkan pohon parsing. Pohon parse selanjutnya
diterjemahkan oleh suatu penerjemah yang dinamakan
penerjemah berdasarkan sintak (syntax-directed
translator). Hasil penerjemahan ini biasanya merupakan
perintah tiga alamat (three-address code) yang merupakan
representasi program untuk suatu mesin abstrak. Perintah
tiga alamat bisa berbentuk quadruples (op, arg1, arg2,
result), tripels (op, arg1, arg2). Ekspresi dengan satu
argumen dinyatakan dengan menetapkan arg2 dengan (strip, dash)
Pengoptimal kode
Contoh
Kompila
si
Pembuatan compiler
Bahasa mesin
Pembuatan compiler
Assembly
Hasil dari program mempunyai Ukuran yang
relatif kecil
Pembuatan compiler
Bahasa Tingkat Tinggi (high level language)
Compare A to B
If equal go to C
Go to D
BAHASA SUMBER
DEFINISI bahasa
sumber
Tingkatan Bahasa
Pemrograman
Struktur Ekspresi
Metode pengurutan evaluasi dalam
ekspresi :
Explicit Bracketing
Operator binding
Binding adalah asosiasi antara atribut dan
entity atau antara operasi dan simbol.
Binding time adalah waktu yang
dialokasikan untuk menyatukan variable
dengan nilainya.
Struktur Data
Empat aspek dalam struktur data
Deklarasi data
Tipe data yang tersedia
Alokasi storage
Lingkup variabel
Struktur I/O
Format free
langsung ditampilkan sehingga mudah
bagi user untuk memeriksa kebenaran
program. Contoh pada VB.
Formatted
output ditampilkan secara terformat,
seperti di C : printf(), delphi/VB : format()
ANDAIKAN......
Anda akan menciptakan sebuah
bahasa program, coba sebutkan
urutan proses yang harus
ditentukan/skenario yang dijalani
untuk menghasilkan bahasa
pemrograman impian Anda tersebut
!
SKENARIO
PERANCANGAN
1.
2.
3.
4.
5.
6.
7.
8.
9.