TEKNIK KOMPILASI

"TUGAS TEKNIK KOMPILASI"


Nama : Desire Natasya Ramona Kowal 
NIM : 202031071
Kelas : G

14. Apa saja metode yang dipakai untuk mengirimkan parameter pada teknik kompilasi. Jelaskan masing-masing metode tersebut dengan studi kasus!

    Dalam konteks teknik kompilasi, terdapat beberapa metode yang digunakan untuk mengirimkan parameter antara komponen yang berbeda. Berikut ini adalah beberapa metode yang umum digunakan :

Metode Pemindahan Nilai (Pass-by-Value).
  • Metode ini melibatkan pengiriman nilai parameter yang sebenarnya ke subrutin yang membutuhkannya. Pada saat pemanggilan subrutin, salinan nilai dari parameter diteruskan ke subrutin tersebut. Dalam metode ini, jika nilai parameter diubah di dalam subrutin, perubahan tersebut tidak akan mempengaruhi nilai parameter asli di luar subrutin. 
  • Contoh studi kasus :
  • Output : 


Metode Pemindahan Referensi (Pass-by-Reference).
  • Metode ini melibatkan pengiriman alamat atau referensi ke parameter yang sebenarnya ke subrutin. Dalam hal ini, jika nilai parameter diubah di dalam subrutin, perubahan tersebut akan mempengaruhi nilai parameter asli di luar subrutin. 
  • Contoh studi kasus :
  • Output :


Metode Pemindahan Nilai dengan Rujukan Konstan (Pass-by-Value with Constant Reference).
  • Metode ini mirip dengan metode pemindahan nilai, tetapi menggunakan rujukan konstan sebagai parameter. Rujukan konstan memungkinkan subrutin untuk mengakses nilai parameter, tetapi tidak memungkinkan subrutin untuk mengubah nilainya. 
  • Contoh studi kasus :
  • Output :


15. Salah satu peran pengurai dalam teknik kompilasi adalah mengatasi kesalahan syntax. Jelaskan 4 strategi dalam pemulihan kesalahan tersebut!

    Dalam pemrosesan bahasa pada teknik kompilasi, pengurai (parser) berperan penting dalam mengatasi kesalahan sintaksis. Ketika parser menemukan kesalahan sintaksis, ada beberapa strategi yang dapat digunakan untuk memulihkan dan melanjutkan proses parsing. Berikut adalah empat strategi umum dalam pemulihan kesalahan sintaksis :

Strategi Pemulihan Kesalahan dengan Penyisipan (Error Recovery by Insertion). 
  • Strategi ini melibatkan penyisipan token tambahan ke dalam aliran masukan untuk mencoba memulihkan parsing yang gagal. Misalnya, parser dapat menyisipkan token tertentu yang diharapkan untuk melanjutkan parsing setelah kesalahan. Hal ini memungkinkan parser untuk melanjutkan parsing dari posisi yang lebih lanjut dalam kode sumber. Namun, keakuratan penyisipan token harus diperhatikan agar tidak memperkenalkan kesalahan baru.
Strategi Pemulihan Kesalahan dengan Penghapusan (Error Recovery by Deletion). 
  • Strategi ini melibatkan penghapusan token yang salah atau tidak diharapkan dari aliran masukan untuk mencoba memulihkan parsing. Dengan menghapus token yang salah, parser dapat mencoba melanjutkan parsing dengan token berikutnya. Namun, perlu berhati-hati agar penghapusan token tidak menghasilkan parsing yang salah atau membuang informasi penting. 
Strategi Pemulihan Kesalahan dengan Penggantian (Error Recovery by Replacement). 
  • Strategi ini melibatkan penggantian token yang salah dengan token alternatif yang diharapkan. Jika parser menemukan token yang tidak valid, itu dapat diganti dengan token yang diharapkan agar parsing dapat dilanjutkan. Penggantian token dapat mengarah pada parsing yang benar jika token yang tepat ditemukan. Namun, dalam beberapa kasus, penggantian token mungkin tidak tersedia atau tidak pasti.
Strategi Pemulihan Kesalahan dengan Pemindahan (Error Recovery by Movement). 
  • Strategi ini melibatkan pergerakan maju atau mundur dalam aliran masukan untuk mencoba menemukan titik yang cocok atau benar dalam parsing. Jika parser menemui kesalahan, itu dapat memindahkan posisi parsing maju atau mundur dalam aliran masukan untuk mencoba menemukan titik yang benar. Ini memungkinkan parser untuk melanjutkan parsing dari posisi yang lebih lanjut atau kembali ke posisi sebelumnya.
    Strategi-strategi di atas sering digunakan dalam kombinasi untuk pemulihan kesalahan sintaksis yang efektif. Dalam implementasi yang lebih canggih, teknik heuristik atau algoritma keputusan dapat digunakan untuk memilih strategi pemulihan yang paling sesuai berdasarkan konteks dan jenis kesalahan yang ditemukan.

Komentar