<!– @page { size: 8.5in 11in; margin: 0.79in } P { margin-bottom: 0.08in } –>
Setelah kelompok kami telah berjuang merampungkan materi teknik kompilasi pada bagian ‘Analisys Semantik’ dan memaparkannya didepan dosen dan teman-teman yang lain pada hari senin yang lalu tepatnya tanggal 21-april-2008. Kami menyadari bahwa menyampaikan sesuatu kepada orang lain itu tidaklah segampang membalikkan membalikkan telapk tanggan, sampai-sampai dosen kami berkata “gak mudah kan menerangkan didepan audience/maksudnya teman2 kami” kira-kira sehh gitu, ha… ha… ha…, emang bener sihhh, gak mudah. 1 x lagi “GAK MUDAH”.
Lanjut kepada tugas, karna kelompok kami sudah memaparkan materi yang di berikan, sekarang tinggal merangkumkan materi yang telah dibahas tersebut dan menguploadnya kedalam blog kelompok, yaa… blog ini maksudnya. Kami mulai… yaaa.. “ Gayana Jieeee”
Dari materi yang kemarin kami merangkumkan sbg;
Analisys Semantik
Penganalisa semantik dalam prosesnya akan melakukan pemeriksa token dan ekspresi dari batasan-batasan yang ditetapkan. Batasan-batasan tersebut misalnya :
a. panjang maksimum token identifier adalah 8 karakter,
b. panjang maksimum ekspresi tunggal adalah 80 karakter,
c. nilai bilangan bulat adalah -32768 s/d 32767,
d. operasi aritmatika harus melibatkan operan-operan yang bertipe sama.
Dalam pemeriksaan keunikan suatu nama. Misalnya dalam Pascal, nama variabel global tidak boleh sama dengan prosedur atau nama fungsi. Dalam bahasa C, jika suatu nama konstanta didefinisikan lebih dari satu kali, maka akan diperiksa kesamaan nilai kedua konstanta.
Analisis semantik ini memanfaatkan juga pohon sintaks yang dihasilkan pada proses parsing (analisa sintaks).
analisis semantic juga akan melakukan hal-hal sebagai berikut:
-
Type Checking Dilakukan pengecekan tipe ekspresi dan variabel.
-
Static Checking: pengecekan dilakukan oleh compiler
Contoh: pengecekan operator dan operand sesuai dengan tipe, flow of control check, uniqueness check (apakah ada duplikasi), name-related check (apakah sudah terdefinisi)
-
Dynamic Checking: pengecekan dilakukan oleh target program.
-
Type Conversion
-
Implicit, dilakukan oleh kompiler
-
Explicit, dilakukan oleh programmer
analisis semantic akan memanfaatkan table simbol
Tabel Simbol digunakan untuk pembuatan dan implementasi dari analisis semantik. Tabel Simbol berfungsi untuk:
-
Menyimpan informasi tentang:
-
Nama variabel dan tipe datanya
-
Informasi detail untuk record dan array
-
Nama prosedur dan fungsi yang ada
-
Jumlah, nama, tipe data dan paramter fungsi/prosedur
-
Nama label
-
Konstanta dan String
-
Membantu pemeriksaan kebenaran semantik darisource code
-
Membantu mempermudah dalam pembuatan intermediate code dan code generation.
-
Jenis operasi yang dilakukan dalam table simbol adalah :
-
Operasi insert (append/add)
-
Operasi search (dengan hashing)
-
Operasi delete
yang laennya kayanya nanti nyusul…
