12
ANALISIS LEKSIKAL

ANALISIS LEKSIKAL

  • Upload
    stu

  • View
    74

  • Download
    2

Embed Size (px)

DESCRIPTION

ANALISIS LEKSIKAL. Letak analisis leksikal pada struktur kompiler Pengenalan analisis leksikal Scanning berdasarkan MSH Tugas analisis leksikal. Pembahasan. Struktur Kompiler. - PowerPoint PPT Presentation

Citation preview

Page 1: ANALISIS LEKSIKAL

ANALISIS LEKSIKAL

Page 2: ANALISIS LEKSIKAL

Pembahasan

Letak analisis leksikal pada struktur kompiler Pengenalan analisis leksikal Scanning berdasarkan MSH Tugas analisis leksikal

Page 3: ANALISIS LEKSIKAL

Struktur Kompiler

Page 4: ANALISIS LEKSIKAL

Analisis Leksikal – Apa itu?[1]

Masukan bagi sebuah compiler/interpreter adalah program sumber yang strukturnya berupa deretan dari karakter-karakter– or rather unstructured

Pemrosesan individual karakter yang ketidakefisiennya sangat tinggi» Imagine recognizing ‘while’ as ‘w’ ‘h’ ‘i’ ‘l’

‘e’ Oleh karenanya, hal pertama yang kita

perhatikan adalah bentuk kode sumbernya

Page 5: ANALISIS LEKSIKAL

Analisis Leksikal – Apa itu?[2]

A Lexical Analyzer (scanner) mengubah deretan karakter-karakter menjadi deretan token-token– i.e. a scanner “tokenizes” the input

Sebuah token (lexeme or syntactic unit) adalah komponen dasar leksikal dari program

Page 6: ANALISIS LEKSIKAL

Analisis Leksikal–Token[3]

Token adalah level entitas yang paling rendah dalam diagram sintaks

Jenis-jenis token antara lain:– identifiers (e.g. variable & function names,

etc.)– keywords (like while, if, function, etc.)– operators (like +, -, *, ++, +=, etc.)– literals (constant values like 27.3, “Hello”,

etc.)– punctuation (like ‘;’, ‘:’, ‘,’, etc.)

Page 7: ANALISIS LEKSIKAL

Analisis Leksikal–Tokens[4]

Consider a simple program and its tokens:

Page 8: ANALISIS LEKSIKAL

Fungsi Scanner

Melakukan pembacaan kode sumber dengan merunut karakter demi karakter

Mengenali besaran leksik Mentransformasi menjadi sebuah token dan

menentukan jenis tokennya Mengirim token Membuang blank dan komentar dalam program Menangani kesalahan Beberapa scanners memasukkan simbol ke

dalam tabel simbol (dibahas kemudian)

Page 9: ANALISIS LEKSIKAL

Scanning berdasarkan MSH

Hampir sebagian besar teknik yang digunakan untuk membangun scanners menggunakan mesin stata hingga (MSHs)

MSHs dapat dengan mudah digunakan untuk mengenali kontruksi bahasa (i.e. tokens) yang digambarkan dengan bahasa regular

Page 10: ANALISIS LEKSIKAL

Membangun Scanner

Bagaimana scanner berinteraksi dengan parser?– parser akan menjadi bagian selanjutnya dari

kompilasi Perhatikan gambar berikut:

Page 11: ANALISIS LEKSIKAL

Aksi Scanner [1]

Karena scanner mengubah dari stata ke stata, maka harus dilakukan sesuatu dengan karakter-karakter tersebut untuk mengenali sesuai dengan pembentukan token yang akan dikembalikan pada tahap parser

Dalam beberapa kasus, harus menambahkan character seperti terlihat pada pembentukan token dan memanfaatkannya (menjadikan karakter masukan berikutnya menjadi kelihatan)– E.g. when scanning characters in an identifier

Page 12: ANALISIS LEKSIKAL

Aksi Scanner [2]

Dalam kasus lainnya harus menjaga character dan mengembalikan dalam token lengkap

Aksi kemungkinan lainnya adalah menghilangkan karakter agar lebih sederhana– E.g. karakter pada komentar