Postingan

ANALISA SEMANTIK

ANALISA SEMANTIK Analisa semantik  adalah proses setelah melewati proses scanning dan parsing. pada tahap ini dilakukan pengecekan pada struktur akhir yang telah diperoleh dan diperiksa kesesuaiannya dengan komponen program yang ada.  fungsi analisis semantik adalah untuk menentukan makna dari serangkaian intruksi yang terdapat dalam program sumber. Contoh : W := (W+X)*(Y+Z) maka penganalisa semantik harus mampu menentukan aksi apa yang akan dilakukan oleh operator-operator tersebut. untuk mengetahui makna, maka rutin analisa semantik akan memeriksa: apakah variabel yang ada telah didefinisikan sebelumnya apakah variabel tersebut tipenya sama apakah operan yang akan dioperasikan tersebut ada nilainya  pengecekan yang dilakukan oleh semantik yaitu memeriksa duplikasi,terdefinisi, dan memeriksa tipe. Kode antara kegunaannya : untuk memperkecil usaha dalam membangun kompilator dari sejumlah bahasa ke sejumlah mesin proses optimasi lebih mudah bisa m...

Metode Parsing (Teknik Kompilasi)

Gambar
Metode Parsing (Teknik Kompilasi) Metode parsing Parsing atau proses penurunan adalah Analisis parsing atau sintaksis adalah proses menganalisis serangkaian simbol, baik dalam bahasa alami atau dalam bahasa komputer, sesuai dengan aturan tata bahasa formal. Parsing dapat dilakukan dengan 2 cara :  1. Penurunan terkiri (leftmost derivation) : simbol variable yang paling kiri diturukan (tuntas) dahulu.  2. Penurunan terkanan (rightmost derivation) : simbol variable yang paling kiri diturukan (tuntas) dahulu. Misalkan kita inginkan hasil string aabbaa dari CFL ( Context Free Language ) CFL S a AS | a, A SbA | ba Contoh soal : Parsing digolongkan menjadi:  • Top-Down top down parsing adalah langkah dalam membentuk/membangun sebuah parse tree berdasarkan input dimulai dari root dan membuat nodes untuk parse tree secara preorder(depth first). Penelusuran dari root ke leaf atau dari simbol awal ke simbol terminal.  metode ini meliputi:  • B...
Gambar
#include <iostream.h> #include<conio.h> void Hasil (int x, int y){     if (x==1) {         if (y>=17){             cout << "Pria Dewasa";         }         else{             cout << "Perjaka";         }     }     else {         if (y>=17){             cout << "Wanita Dewasa";         }         else{             cout << "Gadis";         }     } } int main(){     int umur, kel;     cout << "Jenis Kelamin" << '\n';     cout << "1. Laki-Laki" << '\n';     cout << "2. Perempuan" << '\n';     cout << "Masukan Pilihan An...