Anda di halaman 1dari 6

Semantic Analysis

Tambaani, Rayfelt Cristian


105021610050
Apa itu Semantic Analysis?
Semantic analysis merupakan tahap ketiga dalam compiler. Kata ‘Semantic’ dalam Semantic
Analysis adalah istilah linguistik atau ilmu bahasa, Analisa ini bisa dalam bentuk bahasa
atau makna bahasa. Dalam pemeriksaan Semantik yang diperiksa adalah makna dari setiap
pemakaian token dari sumber program. Tahapan semantic analyzer merupakan jembatan
antara fase analysis dan fase synthesis pada compiler. Pada tahapan ini akan dihasilkan
suatu kode yang executable pada kompilasi yang sederhana lalu dimanipulasi dengan
berbagai optimization dari translator sampai nanti benar-benar executable dihasilkan.
Semantic Errors
Kesalahan yang dikenali oleh Semantic Analyzer adalah sebagai berikut :
 Type mismatch
 Undeclared variables
 Reserved identifier misuse
 Multiple declaration of variable in a scope
 Accessing an out of scope variable
 Actual and formal parameter mismatch
Function of Semantic Analysis:
1. Type Checking - Memastikan tipe data digunakan dengan cara yang konsisten sesuai dengan
yang kita definisikan.
2. Label Checking – Suatu program harus berisi referensi label
3. Flow Control Check – Terus memeriksa bahwa struktur control digunakan dengan cara yang
benar. (contoh : tidak ada pernyataan break diluar dari loop)

Contoh :
float x = 10.1;
float y = x*30;
In the above example integer 30 will be typecasted to float 30.0 before multiplication, by semantic
analyzer.
Static And Dynamic Semantics
Static Semantics :
Dinamai demikian karena fakta bahwa ini di periksa atau di cek pada waktu kompilasi. Static
semantic dan meaning of program secara tidak langsung terkait.
Dynamic Semantics :
Ini mendefinisikan arti dari unit program yang berbeda seperti expressions dan statements.
Dynamic semantic di periksa saat runtime tidak seperti static semantic
Referensi
 https://www.geeksforgeeks.org/semantic-analysis-in-compiler-design/
 https://www.quora.com/What-is-semantic-analysis
 https://expertsystem.com/natural-language-process-semantic-analysis-definition/
 https://www.tutorialspoint.com/compiler_design/compiler_design_semantic_analysis.htm

Anda mungkin juga menyukai