TRANSLASI BAHASA
Translasi adalah himpunan pasangan string. Kompilator
mendefinisikan translasi sebagai pasangan (program sumber, program objek). Jika
kita anggap kopilator berisi tiga tahap, yaitu :
Analisis leksik adalah translasi string-string yang merepresentasikan program sumber dipetakan menjadi string-string token.
· Analisis sintaks memetakan string-string token menjadi
string-string yang merepresentasikan pohon sintaks.
· Pembangkit
kode kemudian mengambil string-string yang dihasilkan analisis menjadi bahasa atau
assembly.
1. Translator
Translator adalah sistem yang membaca program yang ditulis dalam suatu bahasa
dalam menterjemahkannya ke suatu program target
yang ekivalen dalam bahasa lain.
Translator untuk bahasa assembly disebut assembler,
sedangkan translator untuk bahasa tingkat tinggi disebut kompilator.
Saat
ini terdapat ribuan kompilator mulai dari bahasa pemograman umum seperti
Fortran. Pascal sampai bahasa spesialis yang digunakan pada beragam bidang aplikasi
komputer. Meskipun demikian sesungguhnya tugas-tugas yang perlu dilakukan kompilator
adalah serupa tak peduli bahasa sumber dan target mesin.Satu kumpulan prinsip
dan teknik kompilator yang sama diperlukan dalam pengembangan translator/kompilator
apapun.
Terdapat dua metode untuk mendefinisikan translasi,
yaitu:
- Skema translasi (grammar). Mekanisme untuk memproduksi keluaran untuk kalimat yang dihasilkan.
- Transducer, adalah recognizer yang dapat mengeluarkan string dengan panjang berhingga dari simbol-simbol keluaran pada tiap gerak.
Semantik kadang digunakan untuk menunjukkan asosiasi dengan kalimat-kalimat keluaran dimana string keluaran mendefinisikan “arti”
kalimat masukan.
2. Penerjemahan
Asumsi yang dilakukan adalah penerjemahan sebagai pemetaan, makaspesifikasi kompilator adalah sebagai himpunan
pasangan string (x,y), dimana :
·
x
adalah program bahasa sumber.
·
y
adalah program bahasa target dimana x diterjemahkan.
Kompilator mendefinisikan penerjemah yang merupakan pasangan (programsumber, program objek). Bila kompilator terdiri dari lexic alanalysis, syntactic analysis, dan code generation maka masing-masing
fase ini mendefinisikan penerjemahan. Lexical analysis merupakan
penerjamahan string yang merepresentasikan program sumber dipetakan menjadi string token.
Syntatic analysis memetakan string token menjadi string yang merepresentasikan pohon parse.
Code generation memetakan stringyang merepresentasikan pohon parse menjadi
string dalam bahasa mesin atau assembly.6
Masalah yang dihadapi adalah upaya
menghasilkan perangkat (device) yangefisien dalam melakukan penerjemahan yaitu
yang bila diberikan x sebagai masukanakan
menghasilkan y sebagai keluaran secara efisien.
3. Formalisasi Penerjemahan
Terdapat dua metode pendefinisian penerjemahan,
yaitu :
skema translasi yaitu grammar dengan
mekanisme untuk menghasilkan keluaran untuk
masing-masing kalimat yang dibangkitkan.
Transducer, adalah recognizer yang mengeluarkan string dengan panjang berhingga simbol-simbol keluaran untuk masing-masing pergerakan.
Banyak translasi yang tidak dapat dispesifikasikan
dengan homomorphism. Kita memerlukan
spesifikasi translasi yang lebih ampuh dan formal sehingga translasi
dapatdispesifikasikan dengan nyaman.
Masalah menspesifikasikan penerjemahan tidak berhingga
adalah serupa dengan masalah menspesifikasikan bahas dengan tidak berhingga. Terdapat
beberapa pendekatan untuk
menspesifikasikan translasi.
4. Sytax-directed Translasion Schemata
Secara intutif, syntax directed translasion schema
adalah grammar yang elemen-elemen penerjemahannya
dicantolkan ke masing-masing produksi. Kapanpun produksi digunakan di penururnan kalimat masukan, elemen translasi digunakan untuk membantu komputasi kalimat pengeluaran
yang diasosiasikan dengan bagian kalimatmasukan
yang dihasilkan oleh produksi itu.
5. Transducer
Transducer adalah recognizer yang mengeluarkan string
selama dilakukan pergerakan. Keluaran
dapat berupa e.
- Finite transducer adalah finite automata yang dapat mengeluarkan string simbolkeluaran pada setiap pergerakan.
- Pushdown transducer merupakan kelas translator penting. Pushdown transducer adalah pushdown automata dengan keluaran.
No comments:
Post a Comment