Implementasi Analisa Leksikal
- Scanner harus dapat mengenali token
- Terlebih dahulu dideskripsikan token-token yang harus dikenali
- Menggunakan reguler grammar. Menspesifikasikan aturan-aturan pembangkit token-token dengan kelemahan reguler grammar menspesifikasikan token berbentuk pembangkit, sedang scanner perlu bentuk pengenalan.
- Model matematis yang dapat memodelkan pengenalan adalah finite-state acceptor (FSA) atau finite automata.
c. Implementasi Analisa Leksikal sebagai Finite Automata
Pada pemodelan analisa leksikal sebagai pengenal yang menerapkan finite automata, analisa leksikal tidak cuma hanya melakukan mengatakan YA atau TIDAK. Dengan demikian selain pengenal, maka analisa leksikal juga melakukan aksi-aksi tambahan yang diasosiasikan dengan string yangsedang diolah. Analisa leksikal dapat dibangun dengan menumpangkan pada konsep pengenal yang berupa finite automata dengan cara menspesifikasikan rutin-rutin (aksi-aksi) tertentu terhadap string yang sedang dikenali.
Hanya sedikit kesalahan yang diidentifikasi di analisa leksikal secara mandiri karena analisa leksikal benar-benar merupakan pandangan sangat lokal terhadap program sumber. Bila ditemui situasi dimana analisa leksikal tidak mampu melanjutkan proses karena tidak ada pola token yang cocok, maka terdapat beragam alternatif pemulihan, yaitu:
- " Panic mode" dengan menghapus karakter-karakter berikutnya sampai analisa leksikal menemukan token yang terdefinisi bagus
- Mengganti karakter yang salah dengan karakter yang benar
Salah satu cara untuk menemukan kesalahan-kesalahan di program adalah menghitung jumlah transformasi kesalahan minimum yang diperlukan untuk mentransformasikan program yang salah menjadi program yag secara sintaks benar.
Tidak ada komentar:
Posting Komentar