ANALISA LEKSIKAL

 ANALISA LEKSIKAL || Teknik Kompilasi

Assalamualaikum Wr.Wb

Berikut ini merupakan rangkuman dari materi Analisa Leksikal guna untuk memenuhi tugas mata kuliah Teknik Kompilasi.

Pengertian Analisis Leksikal/Analisis merupakan Linier/Pembacaan Sekilas (Scanner). Dalam kaitan ini aliran karakter yang membentuk program sumber dibaca dari kiri ke kanan dan dikelompokkan dalam apa yang disebut token yaitu barisan dari karakter yang dalam suatu kesatuan mempunyai suatu arti tersendiri.

A. Tugas-tugas Analisa Leksikal

  • Konversi Program Sumber Menjadi Barisan Token. Mengubah program sumber yang dipandang sebagai barisan byte/karakter menjadi token.

  • Menangani Kerumitan Sistem Masukkan/Keluaran. Karena analisis leksikal biasanya berhubungan langsung dengan kode sumber yang diwadahi file, maka analisis leksikal juga bertindak sebagai benteng untuk komponen - komponen lain di kompilator dalam mengatasi keanehan-keanehan sistem masukkan dan keluaran sistem operasi dan sistem komputer.
B. Tahap-tahap pelaksaan Analisa Leksikal

  • Pada single one pass yaitu Terjadi interaksi antara scanner dan parser. Sacnner dipanggil saat parser memerlukan token berikutnya. Pendekatan ini lebih baik karena bentuk internal program sumber yang lengkap tidak perlu dibangun dan disimpan di memori sebelum parsing dimulai.

  • Pada separate pass yaitu Scanner memproses secara terpisah, dilakukan sebelum parsing. Hasil scanner disimpan dalam file. Dari file tersebut, parsing melakukan kegiatannya.Scanner mengirim nilai-nilai integer yang mempresentasikan bentuk internal token, bukan nilai-nilai string.Keunggulan cara ini adalah ukurannya kecil dan tetap. Parser sangat lebih efisien bekerja dengan nilai integer yang mempresentasikan simbol daripada string nyata dengan panjang variabel.
C. Implementasi Analisa Leksikal

  • Pengenalan Token

  • Scanner yang harus dapat mengenali token

  • Terlebih dahulu dideskripsikan token-token yang harus dikenali
  • 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.

Komentar