Dari penjelasan di atas terlihat bahwa tugas dari compiler adalah :
- Melakukan translasi dari HLL program sebagai input (source program) ke dalam equivalent machine language program.
- Menghasilkan pesan hasil diagnostik kepada programmer bila terjadi penyimpangan spesifikasi HLL(source language).
Terlepas dari pengertiannya yang demikian relatif luas, istilah Compiler biasa digunakan untuk program komputer yang menerjemahkan program yang ditulis dalam bahasa pemrograman tingkat tinggi (semacam bahasa Pascal, C++, BASIC, FORTRAN, Visual Basic, Visual C#, Java, xBase, atau COBOL) menjadi bahasa mesin, biasanya dengan bahasa Assembly sebagai perantara.
Perbedaan Assembler dan Compiler
Assembler adalah translator untuk bahasa tingkat rendah (low level language –LLL), sedangkan compiler adalah translator untuk HLL. Suatu bahasa assembly memiliki ciri khas dari komputer yang digunakannya, berbeda dengan HLL yang tidak tergantung dari jenis mesin (machine independent). Perbedaan lain, bahasa assembly menurunkan sifat arsitektur komputer yang digunakannya, sedangkan HLL membuat feature arsitekturnya sendiri.
Sama halnya dengan bahasa assembler, proses compiler mengalami 2 fase, yaitu :
Analysis of + Synthesis of = Translation from
Source Text Target Text Source Text to Target
Source text analysis didasarkan pada tata bahasa (grammar) dalam source languange. Komponen dari fase analysis adalah (i) syntax analysis yang menentukan struktur sintaks dari source statement (ii) semantic analysis yang menentukan arti statement secara tata bahasa.
Fase analysis dalam compiler terbagai menjadi beberapa tahap, yaitu :
- Lexical analysis
- Syntax analysis
- Semantic analysis
No comments:
Post a Comment