Tuesday, September 26, 2017

TRANSLASI BAHASA

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:
  1. Skema translasi (grammar). Mekanisme untuk memproduksi keluaran untuk kalimat yang dihasilkan.
  2. 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