Analisis Leksikal

 





ANALISIS LEKSIKAL

Tugas utama penganalisis leksikal adalah memecah tiap baris source menjadi token-token. Pekerjaan yang dilaksanakan antara lain:

- Membuang komentar.

- Menyerahamkan huruf kapital menjadi huruf kecil atau sebaliknya.

- Membuang white space.

- Mengenterpretasi compiler directive.

- Berkomunikasi dengan simbol table (identifier type size).

- Membuang listing.


Finite-State Automata (FSA)

Analisis leksikal lebih mudah diimplementasikan pada Finite State Machine atau Finite State Automata.

Materi ini mempelajari sehimpunan state (anggota himpunannya terbatas/finite) beserta dengan aturan-aturan perpindahan dari satu state ke state lainnya.

Sehimpunan state tersebut menyatakan satu proses dan aturan-aturannya menyatakan kemungkinan yang terjadi dalam menyelesaikan proses tersebut.


State Diagram dan State Table

Contoh:

Ada mesin penjual permen, yang memuat aturan-aturan, sebagai berikut:

    Harga permen Rp. 25.00. Mesin tersebut dapat dimasuki 3 jenis koin: Rp.5,00 (n), Rp. 10,00 (d), Rp.25,00 (q). $ = simbol untuk mengeluarkan permen.

Kemungkinan yang terjadi dari contoh diatas digambarkan dalam state diagram berikut ini :



Diagram diatas dapat digambarkan menggunakan tabel (State table), Sebagai berikut:




Kriteria diterima dalam FSA (acceptance)

    FSA digunakan untuk membentuk token masukkan yang berupa sederetan karakter (string) dibaca dalam FSA sampai pada acceptance state.

Satu lexemes untuk satu token terbentuk, kemudian dilanjutkan untuk token-token berikutnya.

Contoh 

State diagram untuk pembentukan token didefinisikan seperti diagram berikut:


State table dari diagram diatas sebagai berikut :


Bila ada masukan string dan disusun dalam directed graph, maka dapat segera diketahui string tersebut diterima atau tidak.



Source : https://slideplayer.info/slide/13491277/



Comments

Popular posts from this blog

5 Soal & Jawaban Teknik Kompilasi

Teknik Kompilasi (Translator)

Analisis Sintaksis