Minggu ke 8, Sesi ke 12
TEAM 4
MOHAMMAD HUSEIN RAMADHANI BAHARZAH
DUDI KAMALUDIN
NARENDRA ARUM ANIDYAJATI
ADRIYAN SAPUTRA
S AA
A aA | b
ET+E|T
T int | int * T | ( E )
3. Diberikan sebuah potongan program Java. Identifikasilah tipe dari error dari setiap
potongan program tersebut apakah tipenya lexical, syntactic, semantic static atau
semantic dynamic error. Lexical error terdeteksi oleh Scanner sedangkan Syntactic
terdeteksi oleh parser. Semantic static terdeteksi oleh semantic analyzer pada saat waktu
compile, sementara semantic dynamic terdeteksi pada saat runtime. Berikanlah
penjelasan alasan Anda mengkategorikan error untuk potongan program ini.
error yang terjadi terdeteksi pada saat runtime, terdeteksi oleh semantic analyzer
error ini masuk dalam kategori semantic dynamic error. Pesan errornya yakni,
error division by zero
b. int num;
String str = “checking”(1)
num = str;
Potongan program ini ini akan menghasilkan error yang masuk dalam kategori
Lexical error. Akan terdeteksi oleh scanner karena tidak sesuai dengan aturan
lexical. (no token matches “ / illegal character)
c. int int;
Potongan program ini ini akan menghasilkan error yang masuk dalam kategori
syntactic error. Akan terdeteksi oleh parser karena struktur statement yang tidak
sesuai. (syntax error on token “int”, invalid variable declarator)
1. Potongan program ini ini akan menghasilkan error yang masuk dalam kategori
syntactic error. Akan terdeteksi oleh parser karena struktur statement yang
tidak sesuai. (syntax error, insert “;” to complete the block statement)
2. Potongan program ini ini akan menghasilkan error yang masuk dalam kategori
syntactic error. Akan terdeteksi oleh parser karena struktur statement yang
tidak sesuai. (syntax error on tokens, expression expected instead)