Langsung ke konten utama

CONTOH PROGRAM DENGAN ANALISIS LEKSIKAL

ANALISIS LEKSIKAL

Program Menghitung luas persegi panjang dan volume balok dengan fungsi

 SOURCE CODE C++ :



OUTPUT PROGRAM :
TOKENS :


keyword(#include) operator(<) keyword(iostream.h) operator(>)
keyword(#include) operator(<) keyword(conio.h) operator(>)
  
keyword(int) identifier(volume) funtuation(() keyword(int) operator(&) identifier(l) funtuation()) keyword({)

keyword(int) identifier(t) funtuation(;)

keyword(cout) operator(<<) funtuation(") literal(MASUKKAN) literal(NILAI) identifier(t) funtuation(:) funtuation(") funtuation(;)

 
keyword(cin) operator(>>) identifier(t) funtuation(;)  identifier(l) operator(=) identifier(l) operator(*) identifier(t) funtuation(;) keyword(return) identifier(l) funtuation(;)keyword(})keyword(int) literal(luas) keyword(int) identifier(p) funtuation(,) keyword(int) identifier(l) funtuation())  keyword({)  keyword(int) identifier(x) funtuation(;) identifier(x) operator(=) identifier(p) operator(*) identifier(l) funtuation(;)  keyword(cout) operator(<<) funtuation(") literal(TAMPILKAN)  literal(NILAI)  literal(LUAS)  funtuation(:) funtuation(") operator(<<) identifier(x) operator(<<) keyword(endl) funtuation(;)  literal(volume)  funtuation(()  identifier(x)  funtuation())  funtuation(;)keyword(return)  identifier(x) funtuation(;) keyword(})keyword(void)  keyword(main)  funtuation(()  funtuation())  keyword({) keyword(int)  identifier(p) funtuation(,) identifier(l) funtuation(,) identifier(j) funtuation(;)keyword(cout) operator(<<) funtuation(") literal(MASUKKAN)  literal(NILAI) identifier(p) funtuation(:) funtuation(") funtuation(;)keyword(cin)operator(>>) identifier(p) funtuation(;)keyword(cout) operator(<<) funtuation(") literal(MASUKKAN)  literal(NILAI)  identifier(l)  funtuation(:) funtuation(") funtuation(;) keyword(cin) operator(>>) identifier(l) funtuation(;)identifier(j) operator(=) literal(luas) funtuation(()  identifier(p)  funtuation(,) identifier(l) funtuation()) funtuation(;) keyword(cout) operator(<<) funtuation(") literal(VOLUME)  literal(BALOK)  literal(ADALAH)  funtuation(:) funtuation(") operator(<<) identifier(j) operator(<<) keyword(endl) funtuation(;)keyword(getch) funtuation(() funtuation()) funtuation(;)keyword(})

Komentar

Postingan populer dari blog ini

METODE PADA PARSING

METODE PARSING ada dua metode parsing yaitu : Parsing Top-down  diberikan kalimat X sebagai input, parsing dimulai dari simbol awal S samapi kalimat X nyata (atau tidak nyata jika kalimay X memang tidak bisa diturunkan dari S) dari pembacaan semua leaf dari pohon parsing jika dibaca dari kiri ke kanan. ada dua kelas metode parsing top-down, yaitu : METODE BRUTE-FORCE (backup) merupakan kelas metode parsing yang menggunakan produksi alternatif (jika ada), ketika hasil penggunaan sebuah produksi tidak sesuai dengan simbol input. penggunaan produksi sesuai dengan nomor urut produksi.   Contoh : diberikan Grammar G={ S -> mMp | mN, M->n|o, N-> oop | mpo} x= moop METODE RECURSIVE-DESCENT (tanpa Backup) Merupakan kelas metode parsing yang tidak menggunakan produksi alternatif ketika hasil akibat penggunaan sebuah produksi tidak sesuai dengan simbol input.  jika produksi A mempunyai dua buah ruas kanan atau lebih maka produksi yang dipilih ...

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 melihat...