ANALISIS LEKSIKAL.

Slides:



Advertisements
Presentasi serupa
Pengayaan Software/Hardware dan Pengantarmukaan
Advertisements

CARA PENANGAN KESALAHAN
Pengantar Teknik Kompilasi
Notasi Algoritma.
Syntax Analyzer (Parser) - Dasar
KONSEP dan NOTASI BAHASA
KOMPILASI KOMPILATOR (COMPILER) adalah :
Bahasa Pemrograman Tingkat Tinggi
Dasar Komputer & Pemrog. 2A
Komponen sebuah Kompilator
Outline Awalnya dikembangkan oleh Borland dan umunya igunakan untuk paket perangkat lunak tingkat lanjut dengan kepustakaan yang lebih banyak dan.
Lexical Analyzer (Scanner)
Kuliah 2 : Analisis Leksikal
Algoritma (Struktur, Tipe Data, Input/Output)
Notasi Algoritma.
PENDAHULUAN.
ANALISIS LEKSIKAL.
Pengantar Teknik Kompilasi
OLEH : NUR FAHMI LUKMI SEMESTER PERTEMUAN 4.
Cara Penanganan Kesalahan
Komponen sebuah Kompilator
KOMENTAR Komentar dipakai untuk memberikan penjelasan atau keterangan di dalam baris program. Teks yang ditulis sebagai komentar tidak akan dikompilasi.
MATERI PERKULIAHAN TEKNIK KOMPILASI
MATERI PERKULIAHAN TEKNIK KOMPILASI
Pengantar Teknik Kompilasi
Flowchart dan Pseudocode
TEORI BAHASA DAN AUTOMATA
Diagram dan Tabel Transisi
MODEL KOMPILATOR FUNGSI UMUM BAGIAN KOMPILATOR Dosen Pengampu:
FUNGSI UMUM BAGIAN KOMPILATOR Dosen Pengampu: Istiqomah, s.kom
Struktur Program Pascal
Cara Penanganan Kesalahan
Algoritma dan Pemrograman 2A
KONSEP dan NOTASI BAHASA
PENDAHULUAN.
LINGKUNGAN TURBO PASCAL
Pesan-pesan kesalahan
Pengantar Teknik Kompilasi
Analisis leksikal (Scanner)
Pengantar Teknik Kompilasi
MATERI 1 Review dan Pengantar C (Struktur Bahasa C, Variabel, Konstanta, Tipe Data, Operator)
MODEL KOMPILATOR FUNGSI UMUM BAGIAN KOMPILATOR Dosen Pengampu:
Pengantar Teknik Kompilasi
Algoritma dan Pemrograman
PEMROGRAMAN PASCAL ELEMEN PEMROGRAMAN PASCAL.
ANALISIS LEKSIKAL.
ANALISIS LEKSIKAL (Scanner)
Analisis leksikal ( SCANNER )
Cara Penanganan Kesalahan
Tipe Data, Nama dan Nilai
Tipe data & Variabel 1. Aturan Leksikal. 2. Operator. 3. Statement
TEORI BAHASA & OTOMATA (PENGENALAN KOMPILASI)
TEKNIK KOMPILASI ANALISIS LEKSIKAL
Tipe data & Variabel 1. Aturan Leksikal. 2. Operator. 3. Statement
Proses kompilasi COMPILATOR.
CARA PENANGAN KESALAHAN
TEKNIK KOMPILASI PERTEMUAN II.
MATERI PERKULIAHAN TEKNIK KOMPILASI
MATERI 1 Review dan Pengantar C (Struktur Bahasa C, Variabel, Konstanta, Tipe Data, Operator)
KOMENTAR Komentar dipakai untuk memberikan penjelasan atau keterangan di dalam baris program. Teks yang ditulis sebagai komentar tidak akan dikompilasi.
Pengantar Teknik Kompilasi
Ilustrasi Proses Kompilasi
KONSEP dan NOTASI BAHASA
Pengantar Teknik Kompilasi
Automata Hingga Deterministik (AHD)
CARA PENANGAN KESALAHAN
Cara Penanganan Kesalahan
ANALISIS LEKSIKAL.
KOMENTAR Komentar dipakai untuk memberikan penjelasan atau keterangan di dalam baris program. Teks yang ditulis sebagai komentar tidak akan dikompilasi.
ANALISIS LEKSIKAL.
Transcript presentasi:

ANALISIS LEKSIKAL

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

Struktur Kompiler

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

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

Analisis Leksikal–Token[3] Token adalah level entitas yang paling rendah dalam diagram sintaks Jenis-jenis token antara lain: – identifiers (contoh variabel & nama fungsi, dll) – keywords (seperti while, if, function, dll) – operators (seperti +, -, *, ++, +=, dll) – literals (nilai konstanta seperti 27.3, “Hello”, dll) – punctuation (seperti ‘;’, ‘:’, ‘,’, dll)

Analisis Leksikal–Tokens[4] Consider a simple program and its tokens:

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)

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 (yakni tokens) yang digambarkan dengan bahasa regular

Membangun Scanner Bagaimana scanner berinteraksi dengan parser? – parser akan menjadi bagian selanjutnya dari kompilasi Perhatikan gambar berikut:

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) – Contoh ketika melakukan scanning karakter-karakter dalam sebuah identifier

Aksi Scanner [2] Dalam kasus lainnya harus menjaga character dan mengembalikan dalam token lengkap Aksi kemungkinan lainnya adalah menghilangkan karakter agar lebih sederhana – Contoh karakter pada komentar

Aksi Scanner [3] Contoh prosedur berikut ini untuk mengambil sebuah karakter dari file input : Procedure GetChar; FileInput: text, Kar: character; begin read (FileInput, Kar); end; Ingat pada scanner proses akan maju satu-satu per karakter untuk mendapatkan token.