SlideShare a Scribd company logo
1 of 3
Teknik Kompilasi
Kompilator (Compiler) adalah :
Sebuah program yang membaca suatu program yang ditulis dalam suatu bahasa
sumber (source language) dan menterjemahkannya ke dalam suatu bahasa
sasaran (target language).
Proses kompilasi dapat digambarkan melalui sebuah kotak hitam (black box)
berikut :
Program Sumber → Kompilator → Bahasa Sasaran
↓
Pesan-pesan kesalahan
(error messages)
Proses kompilasi dikelompokkan menjadi :
• Analisa : program sumber dipecah-pecah dan dibentuk menjadi bentuk
antara (intermediate presentation)
• Sintesa : membangun program sasaran yang diinginkan dari bentuk antara
Fase-fase proses sebuah kompilasi :
Bahasa Sasaran
1
Penganalisa Leksikal
(Scanner)
Penganalisa Sintaks
(Parser)
Penganalisa Semantik
Pembangkit Kode
antara
Pengoptimal Kode
Pembangkit Kode
Pengelola tabel
simbol
Penanganan
Kesalahan
Hal-hal yang dilakukan oleh setiap fase pada proses kompilasi terhadap
program sumber :
 Penganalisa leksikal :
Membaca program sumber, karakter demi karakter
Sederetan karakter dikelompokkan menjadi satu kesatuan, mengacu kepada
pola kesatuan kelompok karakter (token) yang ditentukan dalam bahasa
sumber.
Kelompok karakter yang membentuk sebuah token dinamakan lexeme untuk
token tersebut.
Setiap token yang dihasilkan disimpan di dalam tabel simbol.
Sederetan karakter yang tidak mengikuti pola token akan dilaporkan
sebagai token tak dikenal (unidentified token).
 Penganalisa 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 (syntax error).
Secara logika deretan token yang bersesuaian dengan sintaks tertentu akan
dinyatakan sebagai pohon parsing (parse tree).
 Penganalisa Semantik :
Memeriksa token dan ekspresi dari batasan-batasan 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 operan-operan yang bertipe sama
 Pembangkit Kode Antara :
Membangkitkan kode antara (intermediate code) berdasarkan pohon parsing.
Pohon parse selanjutnya diterjemahkan oleh suatu penterjemah yang
dinamakan penerjemah berdasarkan sintaks (sintax directed translator).
Hasil penerjemahan ini biasanya merupakan perintah tiga alamat (tree-
address code) yang merupakan representasi program untuk suatu mesin
abstrak.
Perintah tiga alamat bisa berbentuk :
quadruples (op, arg1, arg2, result), triples (op, arg1, arg2).
2
Ekspresi dengan satu argumen dinyatakan dengan menetapkan arg2 dengan –
(strip, dash).
 Pengoptimal Kode :
Melakukan optimasi (penghematan space dan waktu komputasi), jika mungkin,
terhadap kode antara.
 Pembangkit Kode :
Membangkitkan kode dalam bahasa target tertentu (misalnya bahasa mesin).
Contoh skema penerjemahan suatu ekspresi dalam bahasa sumber, yaitu :
position := initial + rate * 60
:=
id 1 +
id 2 *
id 3 into real
:=
60
id 1 +
id 2 *
temp1 := inttoreal(60)
id 3 60 temp2 := id3 * temp1
temp3 := id2 + temp2
id1 := temp3
kode antara
pengoptimal
temp1 := id3 * 60.0
pembangkit
kode
id1 := id2 + temp1
pembangkit
position :=initial + rate * 60
penganalisa leksikal
(scanner)
id 1:= id 2 + id 3 * 60
penganalisa sintaks
(parser)
kode
penganalisa semantik
MOVF R1, id1
MULF #60.0, R2
MOVF id2, R1
MOVF id3.R2
ADDF R2, R1
Keterangan :
- id adalah token untuk identifier. Tiga lexeme untuk token ini
adalah position, initial dan rate.
- Penganalisa semantik secara logika membangkitkan pohon parse.
- Penganalisa semantik mendeteksi mismatch type. Perbaikan dilakukan
dengan memanggil procedure inttoreal yang mengkonversi integer ke
real.
- Quadruples dari : temp2 := id3 * temp1 adalah (*, id3, temp1,
temp2), id := temp3 adalah (assign, temp3, -, id1), temp1 :=
inttoreal(60) adalah (inttoreal, 60, -, temp1).
- Pembangkit kode dalam contoh ini menghasilkan kode bahasa mesin.
3

More Related Content

What's hot

Jeni slides intro1-bab01-pengenalan
Jeni slides intro1-bab01-pengenalanJeni slides intro1-bab01-pengenalan
Jeni slides intro1-bab01-pengenalanAli Basyah
 
Analisis leksikal tugas
Analisis leksikal tugasAnalisis leksikal tugas
Analisis leksikal tugasAminah Rahayu
 
Langkah Dasar Pemrograman pada Aplikasi Dev C++
Langkah Dasar Pemrograman pada Aplikasi Dev C++Langkah Dasar Pemrograman pada Aplikasi Dev C++
Langkah Dasar Pemrograman pada Aplikasi Dev C++Ishardi Nassogi
 
Desain Kompiler - Kode Antara
Desain Kompiler - Kode AntaraDesain Kompiler - Kode Antara
Desain Kompiler - Kode AntaraIrfannur Diah
 
Pengantar Pemrograman Chapter 3
Pengantar Pemrograman Chapter 3Pengantar Pemrograman Chapter 3
Pengantar Pemrograman Chapter 3Dede Kurniadi
 
Pengantar algoritma dan pemrograman
Pengantar algoritma dan pemrogramanPengantar algoritma dan pemrograman
Pengantar algoritma dan pemrogramanMAFauzan
 
Pengantar Pemrograman Chapter 2
Pengantar Pemrograman Chapter 2Pengantar Pemrograman Chapter 2
Pengantar Pemrograman Chapter 2Dede Kurniadi
 
Bahasa Pemrograman C++
Bahasa Pemrograman C++Bahasa Pemrograman C++
Bahasa Pemrograman C++Rangga Ananto
 
Algoritma & Pemrograman
Algoritma & PemrogramanAlgoritma & Pemrograman
Algoritma & PemrogramanAri Wibowo
 
Tm teknik kompilasi juni 2013
Tm   teknik kompilasi juni 2013Tm   teknik kompilasi juni 2013
Tm teknik kompilasi juni 2013Ratzman III
 
Topik 2(notasi pseudocode)
Topik 2(notasi pseudocode)Topik 2(notasi pseudocode)
Topik 2(notasi pseudocode)SyaharullahDisa
 
2 konsep dasar pascal
2   konsep dasar pascal2   konsep dasar pascal
2 konsep dasar pascalachieasik89
 
Algoritma & Pemrograman - Pendahuluan
Algoritma & Pemrograman  - PendahuluanAlgoritma & Pemrograman  - Pendahuluan
Algoritma & Pemrograman - PendahuluanAri Wibowo
 
Teknik kompilasi
Teknik kompilasiTeknik kompilasi
Teknik kompilasiHedyIzmaya
 
Dasar pemrograman basic
Dasar pemrograman basicDasar pemrograman basic
Dasar pemrograman basicYang Terluka
 

What's hot (20)

Jeni slides intro1-bab01-pengenalan
Jeni slides intro1-bab01-pengenalanJeni slides intro1-bab01-pengenalan
Jeni slides intro1-bab01-pengenalan
 
Analisis leksikal tugas
Analisis leksikal tugasAnalisis leksikal tugas
Analisis leksikal tugas
 
Langkah Dasar Pemrograman pada Aplikasi Dev C++
Langkah Dasar Pemrograman pada Aplikasi Dev C++Langkah Dasar Pemrograman pada Aplikasi Dev C++
Langkah Dasar Pemrograman pada Aplikasi Dev C++
 
Desain Kompiler - Kode Antara
Desain Kompiler - Kode AntaraDesain Kompiler - Kode Antara
Desain Kompiler - Kode Antara
 
Pengantar Pemrograman Chapter 3
Pengantar Pemrograman Chapter 3Pengantar Pemrograman Chapter 3
Pengantar Pemrograman Chapter 3
 
Pengantar algoritma dan pemrograman
Pengantar algoritma dan pemrogramanPengantar algoritma dan pemrograman
Pengantar algoritma dan pemrograman
 
Pengantar Pemrograman Chapter 2
Pengantar Pemrograman Chapter 2Pengantar Pemrograman Chapter 2
Pengantar Pemrograman Chapter 2
 
Pseudocode
PseudocodePseudocode
Pseudocode
 
Bahasa Pemrograman C++
Bahasa Pemrograman C++Bahasa Pemrograman C++
Bahasa Pemrograman C++
 
Teknik kompilasi
Teknik kompilasiTeknik kompilasi
Teknik kompilasi
 
Algoritma & Pemrograman
Algoritma & PemrogramanAlgoritma & Pemrograman
Algoritma & Pemrograman
 
Algoritma 02
Algoritma 02Algoritma 02
Algoritma 02
 
Bab1
Bab1Bab1
Bab1
 
Tm teknik kompilasi juni 2013
Tm   teknik kompilasi juni 2013Tm   teknik kompilasi juni 2013
Tm teknik kompilasi juni 2013
 
Topik 2(notasi pseudocode)
Topik 2(notasi pseudocode)Topik 2(notasi pseudocode)
Topik 2(notasi pseudocode)
 
2 konsep dasar pascal
2   konsep dasar pascal2   konsep dasar pascal
2 konsep dasar pascal
 
Algoritma & Pemrograman - Pendahuluan
Algoritma & Pemrograman  - PendahuluanAlgoritma & Pemrograman  - Pendahuluan
Algoritma & Pemrograman - Pendahuluan
 
Teknik kompilasi
Teknik kompilasiTeknik kompilasi
Teknik kompilasi
 
Teknik kompilasi
Teknik kompilasiTeknik kompilasi
Teknik kompilasi
 
Dasar pemrograman basic
Dasar pemrograman basicDasar pemrograman basic
Dasar pemrograman basic
 

Viewers also liked

Galeria de fotos zonvear
Galeria de fotos zonvearGaleria de fotos zonvear
Galeria de fotos zonvearzonvear
 
The clients’ satisfaction with property-related financing by banks and Real E...
The clients’ satisfaction with property-related financing by banks and Real E...The clients’ satisfaction with property-related financing by banks and Real E...
The clients’ satisfaction with property-related financing by banks and Real E...Bhzad Sidawi
 
The financing of affordable housing in the ksa executive report
The financing of affordable housing in the ksa executive reportThe financing of affordable housing in the ksa executive report
The financing of affordable housing in the ksa executive reportBhzad Sidawi
 
The consideration of lifelong user and property characteristics in ND CAD sys...
The consideration of lifelong user and property characteristics in ND CAD sys...The consideration of lifelong user and property characteristics in ND CAD sys...
The consideration of lifelong user and property characteristics in ND CAD sys...Bhzad Sidawi
 
Brief report problems associated with the use of e-learning system and poten...
Brief report  problems associated with the use of e-learning system and poten...Brief report  problems associated with the use of e-learning system and poten...
Brief report problems associated with the use of e-learning system and poten...Bhzad Sidawi
 
Incorporating lifestyle in the design of affordable Housing
Incorporating lifestyle in the design of affordable HousingIncorporating lifestyle in the design of affordable Housing
Incorporating lifestyle in the design of affordable HousingBhzad Sidawi
 
THE PERCEPTION OF VOCABULARY OF THE ISLAMIC ARCHITECTURAL HERITAGE: THE CASE ...
THE PERCEPTION OF VOCABULARY OF THE ISLAMIC ARCHITECTURAL HERITAGE: THE CASE ...THE PERCEPTION OF VOCABULARY OF THE ISLAMIC ARCHITECTURAL HERITAGE: THE CASE ...
THE PERCEPTION OF VOCABULARY OF THE ISLAMIC ARCHITECTURAL HERITAGE: THE CASE ...Bhzad Sidawi
 
A conceptual analytic model of the vocabulary of the islamic architectural he...
A conceptual analytic model of the vocabulary of the islamic architectural he...A conceptual analytic model of the vocabulary of the islamic architectural he...
A conceptual analytic model of the vocabulary of the islamic architectural he...Bhzad Sidawi
 
National Cerebral Palsy (CP) Awareness Month (Infographic) | Michigan Cerebra...
National Cerebral Palsy (CP) Awareness Month (Infographic) | Michigan Cerebra...National Cerebral Palsy (CP) Awareness Month (Infographic) | Michigan Cerebra...
National Cerebral Palsy (CP) Awareness Month (Infographic) | Michigan Cerebra...Michigan Cerebral Palsy Attorneys
 
Prima vsechny moje lasky
Prima vsechny moje laskyPrima vsechny moje lasky
Prima vsechny moje laskyMediaGuruCZ
 
Oneok v. Learjet- SCOTUS Decision 04-21-15
Oneok v. Learjet- SCOTUS Decision 04-21-15Oneok v. Learjet- SCOTUS Decision 04-21-15
Oneok v. Learjet- SCOTUS Decision 04-21-15Ryan Billings
 
Comemoracao dia criancas_16.10.2011
Comemoracao dia criancas_16.10.2011Comemoracao dia criancas_16.10.2011
Comemoracao dia criancas_16.10.2011Claudio Chiarotto
 
Estratégias - Pirassununga
Estratégias - PirassunungaEstratégias - Pirassununga
Estratégias - Pirassunungacamilaperez25
 

Viewers also liked (20)

Galeria de fotos zonvear
Galeria de fotos zonvearGaleria de fotos zonvear
Galeria de fotos zonvear
 
The clients’ satisfaction with property-related financing by banks and Real E...
The clients’ satisfaction with property-related financing by banks and Real E...The clients’ satisfaction with property-related financing by banks and Real E...
The clients’ satisfaction with property-related financing by banks and Real E...
 
3
33
3
 
The financing of affordable housing in the ksa executive report
The financing of affordable housing in the ksa executive reportThe financing of affordable housing in the ksa executive report
The financing of affordable housing in the ksa executive report
 
The consideration of lifelong user and property characteristics in ND CAD sys...
The consideration of lifelong user and property characteristics in ND CAD sys...The consideration of lifelong user and property characteristics in ND CAD sys...
The consideration of lifelong user and property characteristics in ND CAD sys...
 
Brief report problems associated with the use of e-learning system and poten...
Brief report  problems associated with the use of e-learning system and poten...Brief report  problems associated with the use of e-learning system and poten...
Brief report problems associated with the use of e-learning system and poten...
 
Incorporating lifestyle in the design of affordable Housing
Incorporating lifestyle in the design of affordable HousingIncorporating lifestyle in the design of affordable Housing
Incorporating lifestyle in the design of affordable Housing
 
THE PERCEPTION OF VOCABULARY OF THE ISLAMIC ARCHITECTURAL HERITAGE: THE CASE ...
THE PERCEPTION OF VOCABULARY OF THE ISLAMIC ARCHITECTURAL HERITAGE: THE CASE ...THE PERCEPTION OF VOCABULARY OF THE ISLAMIC ARCHITECTURAL HERITAGE: THE CASE ...
THE PERCEPTION OF VOCABULARY OF THE ISLAMIC ARCHITECTURAL HERITAGE: THE CASE ...
 
A conceptual analytic model of the vocabulary of the islamic architectural he...
A conceptual analytic model of the vocabulary of the islamic architectural he...A conceptual analytic model of the vocabulary of the islamic architectural he...
A conceptual analytic model of the vocabulary of the islamic architectural he...
 
National Cerebral Palsy (CP) Awareness Month (Infographic) | Michigan Cerebra...
National Cerebral Palsy (CP) Awareness Month (Infographic) | Michigan Cerebra...National Cerebral Palsy (CP) Awareness Month (Infographic) | Michigan Cerebra...
National Cerebral Palsy (CP) Awareness Month (Infographic) | Michigan Cerebra...
 
Prima vsechny moje lasky
Prima vsechny moje laskyPrima vsechny moje lasky
Prima vsechny moje lasky
 
Oneok v. Learjet- SCOTUS Decision 04-21-15
Oneok v. Learjet- SCOTUS Decision 04-21-15Oneok v. Learjet- SCOTUS Decision 04-21-15
Oneok v. Learjet- SCOTUS Decision 04-21-15
 
Mujeres Puro cuento promosmx.com
Mujeres Puro cuento  promosmx.comMujeres Puro cuento  promosmx.com
Mujeres Puro cuento promosmx.com
 
Acceso libre a internet
Acceso libre a internetAcceso libre a internet
Acceso libre a internet
 
Bajo sus alas
Bajo sus alasBajo sus alas
Bajo sus alas
 
Comemoracao dia criancas_16.10.2011
Comemoracao dia criancas_16.10.2011Comemoracao dia criancas_16.10.2011
Comemoracao dia criancas_16.10.2011
 
Fotos accidentes - crash pictures
Fotos accidentes - crash picturesFotos accidentes - crash pictures
Fotos accidentes - crash pictures
 
Estratégias - Pirassununga
Estratégias - PirassunungaEstratégias - Pirassununga
Estratégias - Pirassununga
 
A Una Persona Estupenda
A Una Persona EstupendaA Una Persona Estupenda
A Una Persona Estupenda
 
Lindenberg Jundiaí (11-9.8659-1838)
Lindenberg Jundiaí (11-9.8659-1838) Lindenberg Jundiaí (11-9.8659-1838)
Lindenberg Jundiaí (11-9.8659-1838)
 

Similar to Teknik Kompilasi

Pertemuan 1 algoritma
Pertemuan 1 algoritmaPertemuan 1 algoritma
Pertemuan 1 algoritmaBraga Rezpect
 
Pask 1 14_s16010_sandro
Pask 1 14_s16010_sandroPask 1 14_s16010_sandro
Pask 1 14_s16010_sandroSandroSiagian
 
Pertemuan - 1.pptx
Pertemuan - 1.pptxPertemuan - 1.pptx
Pertemuan - 1.pptxNazri46
 
1. pendahuluan kompilasi
1. pendahuluan kompilasi1. pendahuluan kompilasi
1. pendahuluan kompilasiyuster92
 
Presentasi Pemograman Dasar
Presentasi Pemograman DasarPresentasi Pemograman Dasar
Presentasi Pemograman Dasarandroid24
 
Unm tki1-kb3-ppt1-alur logika pemrograman komputer
Unm tki1-kb3-ppt1-alur logika pemrograman komputer Unm tki1-kb3-ppt1-alur logika pemrograman komputer
Unm tki1-kb3-ppt1-alur logika pemrograman komputer Hairil Rahman
 
Presentasi Pemograman Dasar
Presentasi Pemograman DasarPresentasi Pemograman Dasar
Presentasi Pemograman Dasarandroid24
 
Teknik kompilasi
Teknik kompilasiTeknik kompilasi
Teknik kompilasiarya bakri
 
6. analisis semantik
6. analisis semantik6. analisis semantik
6. analisis semantikyuster92
 
Pengertian pemograman dasar
Pengertian pemograman dasarPengertian pemograman dasar
Pengertian pemograman dasarMaslik Sekaran
 
listiati univ bung hata (1110013211051) Algoritma dan flowchart
listiati univ bung hata (1110013211051) Algoritma dan flowchartlistiati univ bung hata (1110013211051) Algoritma dan flowchart
listiati univ bung hata (1110013211051) Algoritma dan flowchartMaryanto Sumringah SMA 9 Tebo
 

Similar to Teknik Kompilasi (20)

materi 1 & 2.pptx
materi 1 & 2.pptxmateri 1 & 2.pptx
materi 1 & 2.pptx
 
Teknik kompilasi
Teknik kompilasiTeknik kompilasi
Teknik kompilasi
 
Perkuliahan 01 Teknik kompilasi
Perkuliahan 01 Teknik kompilasiPerkuliahan 01 Teknik kompilasi
Perkuliahan 01 Teknik kompilasi
 
Bahasa Pemrograman
Bahasa PemrogramanBahasa Pemrograman
Bahasa Pemrograman
 
Tekom part 1
Tekom part 1Tekom part 1
Tekom part 1
 
Pertemuan 1 algoritma
Pertemuan 1 algoritmaPertemuan 1 algoritma
Pertemuan 1 algoritma
 
Daskom 4
Daskom 4Daskom 4
Daskom 4
 
Pask 1 14_s16010_sandro
Pask 1 14_s16010_sandroPask 1 14_s16010_sandro
Pask 1 14_s16010_sandro
 
Translator
TranslatorTranslator
Translator
 
Pertemuan - 1.pptx
Pertemuan - 1.pptxPertemuan - 1.pptx
Pertemuan - 1.pptx
 
1. pendahuluan kompilasi
1. pendahuluan kompilasi1. pendahuluan kompilasi
1. pendahuluan kompilasi
 
Presentasi Pemograman Dasar
Presentasi Pemograman DasarPresentasi Pemograman Dasar
Presentasi Pemograman Dasar
 
Unm tki1-kb3-ppt1-alur logika pemrograman komputer
Unm tki1-kb3-ppt1-alur logika pemrograman komputer Unm tki1-kb3-ppt1-alur logika pemrograman komputer
Unm tki1-kb3-ppt1-alur logika pemrograman komputer
 
Presentasi Pemograman Dasar
Presentasi Pemograman DasarPresentasi Pemograman Dasar
Presentasi Pemograman Dasar
 
tugas
tugastugas
tugas
 
Teknik kompilasi
Teknik kompilasiTeknik kompilasi
Teknik kompilasi
 
6. analisis semantik
6. analisis semantik6. analisis semantik
6. analisis semantik
 
02 evolution
02 evolution02 evolution
02 evolution
 
Pengertian pemograman dasar
Pengertian pemograman dasarPengertian pemograman dasar
Pengertian pemograman dasar
 
listiati univ bung hata (1110013211051) Algoritma dan flowchart
listiati univ bung hata (1110013211051) Algoritma dan flowchartlistiati univ bung hata (1110013211051) Algoritma dan flowchart
listiati univ bung hata (1110013211051) Algoritma dan flowchart
 

Teknik Kompilasi

  • 1. Teknik Kompilasi Kompilator (Compiler) adalah : Sebuah program yang membaca suatu program yang ditulis dalam suatu bahasa sumber (source language) dan menterjemahkannya ke dalam suatu bahasa sasaran (target language). Proses kompilasi dapat digambarkan melalui sebuah kotak hitam (black box) berikut : Program Sumber → Kompilator → Bahasa Sasaran ↓ Pesan-pesan kesalahan (error messages) Proses kompilasi dikelompokkan menjadi : • Analisa : program sumber dipecah-pecah dan dibentuk menjadi bentuk antara (intermediate presentation) • Sintesa : membangun program sasaran yang diinginkan dari bentuk antara Fase-fase proses sebuah kompilasi : Bahasa Sasaran 1 Penganalisa Leksikal (Scanner) Penganalisa Sintaks (Parser) Penganalisa Semantik Pembangkit Kode antara Pengoptimal Kode Pembangkit Kode Pengelola tabel simbol Penanganan Kesalahan
  • 2. Hal-hal yang dilakukan oleh setiap fase pada proses kompilasi terhadap program sumber :  Penganalisa leksikal : Membaca program sumber, karakter demi karakter Sederetan karakter dikelompokkan menjadi satu kesatuan, mengacu kepada pola kesatuan kelompok karakter (token) yang ditentukan dalam bahasa sumber. Kelompok karakter yang membentuk sebuah token dinamakan lexeme untuk token tersebut. Setiap token yang dihasilkan disimpan di dalam tabel simbol. Sederetan karakter yang tidak mengikuti pola token akan dilaporkan sebagai token tak dikenal (unidentified token).  Penganalisa 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 (syntax error). Secara logika deretan token yang bersesuaian dengan sintaks tertentu akan dinyatakan sebagai pohon parsing (parse tree).  Penganalisa Semantik : Memeriksa token dan ekspresi dari batasan-batasan 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 operan-operan yang bertipe sama  Pembangkit Kode Antara : Membangkitkan kode antara (intermediate code) berdasarkan pohon parsing. Pohon parse selanjutnya diterjemahkan oleh suatu penterjemah yang dinamakan penerjemah berdasarkan sintaks (sintax directed translator). Hasil penerjemahan ini biasanya merupakan perintah tiga alamat (tree- address code) yang merupakan representasi program untuk suatu mesin abstrak. Perintah tiga alamat bisa berbentuk : quadruples (op, arg1, arg2, result), triples (op, arg1, arg2). 2
  • 3. Ekspresi dengan satu argumen dinyatakan dengan menetapkan arg2 dengan – (strip, dash).  Pengoptimal Kode : Melakukan optimasi (penghematan space dan waktu komputasi), jika mungkin, terhadap kode antara.  Pembangkit Kode : Membangkitkan kode dalam bahasa target tertentu (misalnya bahasa mesin). Contoh skema penerjemahan suatu ekspresi dalam bahasa sumber, yaitu : position := initial + rate * 60 := id 1 + id 2 * id 3 into real := 60 id 1 + id 2 * temp1 := inttoreal(60) id 3 60 temp2 := id3 * temp1 temp3 := id2 + temp2 id1 := temp3 kode antara pengoptimal temp1 := id3 * 60.0 pembangkit kode id1 := id2 + temp1 pembangkit position :=initial + rate * 60 penganalisa leksikal (scanner) id 1:= id 2 + id 3 * 60 penganalisa sintaks (parser) kode penganalisa semantik MOVF R1, id1 MULF #60.0, R2 MOVF id2, R1 MOVF id3.R2 ADDF R2, R1 Keterangan : - id adalah token untuk identifier. Tiga lexeme untuk token ini adalah position, initial dan rate. - Penganalisa semantik secara logika membangkitkan pohon parse. - Penganalisa semantik mendeteksi mismatch type. Perbaikan dilakukan dengan memanggil procedure inttoreal yang mengkonversi integer ke real. - Quadruples dari : temp2 := id3 * temp1 adalah (*, id3, temp1, temp2), id := temp3 adalah (assign, temp3, -, id1), temp1 := inttoreal(60) adalah (inttoreal, 60, -, temp1). - Pembangkit kode dalam contoh ini menghasilkan kode bahasa mesin. 3