Jumat, 26 November 2010

Implementasi Analisa Leksikal

 Implementasi Analisa Leksikal
a.         Pengenalan Token
-        Scanner harus dapat mengenali token
-        Terlebih dahulu dideskripsikan token-token yang harus dikenali
b.         Pendeskripsian Token
-         Menggunakan reguler grammar. Menspesifikasikan aturan-aturan pembangkit token-token dengan kelemahan reguler grammar menspesifikasikan token berbentuk pembangkit, sedang scanner perlu bentuk pengenalan.
-         Menggunakan ekspresi grammar. Menspesifikasikan token-token dengan ekspresi reguler.
-        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.
d.         Penanganan Kesalahan di Analisa Leksikal
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
-         Menyisipkan karakter yang hilang
-        Mengganti karakter yang salah dengan karakter yang benar
-         Mentransposisikan 2 karakter yang bersebelahan.
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:

Poskan Komentar