Bagaimana Cara Menulis Penerjemah?

Daftar Isi:

Bagaimana Cara Menulis Penerjemah?
Bagaimana Cara Menulis Penerjemah?

Video: Bagaimana Cara Menulis Penerjemah?

Video: Bagaimana Cara Menulis Penerjemah?
Video: AWAL MULA JADI PENERJEMAH || INI YANG HARUS DIKETAHUI SEBELUM MULAI JADI PENERJEMAH 2024, April
Anonim

Ada banyak bahasa pemrograman yang memiliki ciri khas tersendiri. Tetapi agar program yang ditulis di salah satu dari mereka berfungsi, Anda harus menyiarkannya. Terkadang bahasa pemrograman dikembangkan untuk kebutuhan mereka sendiri (misalnya, dukungan untuk otomatisasi dalam aplikasi besar) dan kemudian menjadi perlu untuk menulis penerjemah.

Bagaimana cara menulis penerjemah?
Bagaimana cara menulis penerjemah?

Diperlukan

  • - tata bahasa alami atau BNF dari bahasa sumber;
  • - alat pengembangan.

instruksi

Langkah 1

Siapkan data untuk analisis leksikal teks dalam bahasa sumber. Daftar semua token dalam bahasa. Bagi mereka ke dalam kategori (kata kunci, literal numerik dan string, pengidentifikasi, spasi, tanda baca, dll.).

Langkah 2

Menerapkan modul atau lexer. Pada input, ia harus menerima aliran data "mentah", dan pada output berupa daftar elemen yang berisi token dan pengidentifikasi tipenya dalam urutan kemunculannya dalam teks sumber. Program penguraian dapat menjadi cukup sederhana " pemindai satu tingkat". Menerapkan pemulihan kesalahan tidak masuk akal. Karakter yang tidak valid harus diperlakukan sebagai kesalahan.

Langkah 3

Siapkan data untuk diurai. Berdasarkan tata bahasa alami atau BNF dari bahasa sumber, buat tata bahasa LL1-nya. Berdasarkan jenis tata bahasa ini, buat skema penguraian berdasarkan kategori token yang valid dan konstruksi semantik bahasa.

Langkah 4

Menerapkan modul atau parser. Pada input, ia harus menerima daftar token yang disiapkan pada tahap penguraian leksikal. Kembangkan algoritme pemeriksaan sintaksis rekursif menggunakan skema yang Anda buat di langkah ketiga. Jika perlu, terapkan mekanisme pemulihan kesalahan. Tambahkan fungsionalitas ke algoritme penguraian untuk membangun pohon untuk menghitung fungsi, metode kelas. Dengan struktur algoritma parsing yang benar, fungsi ini dapat diimplementasikan tanpa masalah. Ini menghindari kebutuhan untuk mengimplementasikannya sebagai modul terpisah. Struktur data yang dibuat harus berisi daftar instruksi dalam bentuk urutan "datar" (ekspresi aritmatika diperluas ke dalam bentuk postfix yang cocok untuk komputasi pada mesin stack, loop diubah menjadi kombinasi urutan instruksi komputasi dan lompatan bersyarat atau tanpa syarat, dll.).

Langkah 5

Buat modul pengoptimalan jika diperlukan. Ini harus memproses dan mengubah struktur data yang disiapkan pada langkah sebelumnya. Algoritma dan metode optimasi sangat beragam.

Langkah 6

Kembangkan pembuat kode. Saat memproses struktur yang disiapkan pada langkah keempat atau kelima, itu hanya harus mengubah urutan instruksi abstrak menjadi instruksi untuk dieksekusi pada platform tertentu.

Langkah 7

Buat program pengikat (linker) jika diperlukan. Itu harus membentuk modul yang dapat dieksekusi yang dihasilkan dengan memilih lokasi segmen kode, menghitung alamat label, dll.

Direkomendasikan: