ANALISIS LEKSIKAL TEKNIK KOMPILASI

 Analisis Leksikal

Tugas utama penganalisis leksikal adalah memecah tiap baris source menjadi token-token. Pekerjaan yang dilaksanakan antara lain:Membung komentarMenyeragamkan huruf kapital menjadi huruf kecil atau sebaliknya.Membuang white space.Mengenterpretasi compiler directiveBerkomunikasi dengan simbol table (identifier-type-size)Membuang listing.

1 Token dan Lexemes

Token adalah kumpulan lexemes-leksemes. Token menyatakan suatu kelompok, misalnya kelompok identifier (id) atau kelompok relasi (relop). Sedangkan Lexemes menjelaskan anggota-anggota dari token.SEMESTER V PERTEMUAN 3

2 Contoh if(distance>=rate*(end_time-start_time)) distance=maxdist;

Diberikan perintah berikut:if(distance>=rate*(end_time-start_time)) distance=maxdist;Dipisahkan menjadi token dan lexemes sebagai berikut:Parser menerima hasil lexical analizer dalam bentuk:if (id relop id * (id-id)) id = id;SEMESTER V PERTEMUAN 3

3 Finite-State Automata (FSA)

Analisis leksikal lebih mudah diimplimentasikan pada Finite State Machine atau Finite State Automata. Materi ini mempelajari sehimpunan state (anggota himpunannyaterbatas/finite) beserta dengan aturan-aturan perpindahan dari satu state ke state lainnya. Sehimpunan state tersebut menyatakan satu proses dan aturan-aturannya menyatakan kemungkinan-kemungkinan yang terjadi dalam menyelesaikan proses tersebut.SEMESTER V PERTEMUAN 3

4 State Diagram dan State Table

Contoh: Ada mesin penjual permen, yang memuat aturan-aturan, sebagai berikut: Harga permen Rp Mesin tersebut dapat dimasuki 3 jenis koin: Rp. 5,00 (n), Rp.10,00(d), Rp.25,00(q). $ = simbol untuk mengeluarkan permen.SEMESTER V PERTEMUAN 3

5 Lanjutan

Kemungkinan yang terjadi dari contoh diatas digambarkan dalam state diagram berikut ini:SEMESTER V PERTEMUAN 3

6 Lanjutan

Diagram diatas dapat digambarkan menggunakan tabel (State table), sebagai berikut:SEMESTER V PERTEMUAN 3

7 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.SEMESTER V PERTEMUAN 3

8 Contoh

State daigram untuk pembentukan token didefinisikan seperti diagram berikut:SEMESTER V PERTEMUAN 3

9 1 0 0 0 0 0 State table dari diagram state diatas sebagai berikut:

Bila ada masukan string dan disusun dalam directed graph, maka dapat segera diketahui string tersebut diterima atau tidak.Input directed graphA A B C B C DJadi, String diterima, sedangkan tidak diterima.

Komentar

Postingan populer dari blog ini

Pertemuan 6

Pertemuan 8 Teknik Kompilasi