Home Start Back Next End
  
38
Barisan
lexeme dikirim
oleh
penganalisis
leksikal
kepada
penganalisis sintaks
(syntax analyzer).
Tugas
dari
penganalisis
sintaks
adalah
membentuk
pohon
pengurai
untuk
memeriksa keabsahan dari
struktur program yang dibuat. Proses
ini
juga
disebut
dengan
penguraian
atau
parsing.
Penganalisis leksikal
biasanya
merupakan
implementasi dari
DPDA
dan
struktur
sintaks bahasa sumber dirancang
agar
memenuhi
tata bahasa bebas konteks deterministik. Penganalisis sintaks
untuk
DOGI dibuat menggunakan program Bison.
Jika
penganalisis sintaks
memeriksa
struktur,
maka
penganalisis semantik
(semantic
analyzer)
memeriksa
pengertian
dari
program
tersebut.
Sebagai
contoh,
pada potongan program C++ berikut ini:
char *str;
int index;
str = index + str;
Sekalipun
secara
sintaks
benar,
namun
secara
semantik
salah,
karena
str
tidak kompatibel dengan index.
Biasanya
penganalisis semantik
tidak
dipisahkan
dengan
pembangkit
kode
antara
(intermediate
code
generator).  Pembangkit
kode
antara
akan
menghasilkan
kode
dalam bahasa
antara
yang
berbeda dari
bahasa
sumber
maupun tujuan.
Kode
antara
berguna
dalam
optimasi, karena
kode
tujuan
biasanya lebih
sulit
untuk
dioptimalkan. Kode
antara
akan
diterjemahkan
oleh
pembangkit
kode
(code
generator)
menjadi kode dalam bahasa tujuan.
Word to PDF Converter | Word to HTML Converter