Lexical Analyzer (Scanner)

Slides:



Advertisements
Presentasi serupa
Pemrograman Berorientasi Objek (2)
Advertisements

Pengayaan Software/Hardware dan Pengantarmukaan
TIPE data Tipe data yang dikenal dalam bahasa pascal antara lain :
- PERTEMUAN 2 - TIPE DATA, VARIABEL, DAN OPERATOR
Tipe Data, Variabel & Operator
Teknik Kompilasi Febuari 2013.
VARIABEL DAN OPERATOR.
TEKNIK KOMPILASI.
KONSEP dan NOTASI BAHASA
KOMPILASI KOMPILATOR (COMPILER) adalah :
Bahasa Pemrograman Tingkat Tinggi
Logika & Algoritma -- Pertemuan II: Variabel dan Operator Logika & Algoritma --
Algoritma (Struktur, Tipe Data, Input/Output)
Notasi Algoritma.
STRUKTUR COMPILLER.
Pengantar Teknik Kompilasi
Komponen sebuah Kompilator
Tipe Data, Variabel & Operator
MATERI PERKULIAHAN TEKNIK KOMPILASI
Pertemuan 3 Variabel & Konstanta.
Pengantar Teknik Kompilasi
Elemen Dasar C++ Norma Amalia, ST.,M.Eng.
Diagram dan Tabel Transisi
PRAKTIKUM ALGORITMA PEMROGRAMAN
ALGORITMA DAN PEMROGRAMAN Tipe Data
MODEL KOMPILATOR FUNGSI UMUM BAGIAN KOMPILATOR Dosen Pengampu:
FUNGSI UMUM BAGIAN KOMPILATOR Dosen Pengampu: Istiqomah, s.kom
Tipe Data By Serdiwansyah N. A..
Elemen Dasar C Identifier :
PENGANTAR TEKNIK KOMPILASI
Dasar-Dasar Pemrograman
Algoritma dan Pemrograman 2A
KONSEP dan NOTASI BAHASA
BAB 2 Elemen Dasar.
PERTEMUAN 3 KONSEP TIPE DATA, OPERATOR DAN IDENTIFIER
Pertemuan 5 Tipe Data, Operator, Tata Bahasa
Analisis semantik, kode antara dan pembangkitan kode
Pesan-pesan kesalahan
Pengantar Teknik Kompilasi
Analisis leksikal (Scanner)
NILAI DAN EKSPRESI (TRANSFORMASI NILAI), TIPE DATA DAN TIPE OPERATOR
MODEL KOMPILATOR FUNGSI UMUM BAGIAN KOMPILATOR Dosen Pengampu:
Pseudocode – Tipe Data, Variabel, dan Operator
Pengantar Teknik Kompilasi
Semantics Analyser Contoh : A := ( A+B) * (C+D)
PEMROGRAMAN PASCAL ELEMEN PEMROGRAMAN PASCAL.
ANALISIS LEKSIKAL (Scanner)
Analisis leksikal ( SCANNER )
ALGORITMA DAN PEMROGRAMAN Tipe Data
Minggu 5 Imam Fahrur Rozi
ALGORITMA DAN PEMROGRAMAN Tipe Data
Tipe Data, Nama dan Nilai
MATERI PERKULIAHAN PEMROGRAMAN I (Remedial)
Pemrograman Bahasa C sRi nurhayati, mt.
TEKNIK KOMPILASI ANALISIS LEKSIKAL
KONSEP TIPE DATA, OPERATOR DAN IDENTIFIER
Algoritma dan Pemrograman
Proses kompilasi COMPILATOR.
PENGENALAN BAHASA PEMROGRAMAN Menggunakan C/C++
Operator, Deklarasi dan Type Data
Variabel dan Tipe Data.
TEKNIK KOMPILASI PERTEMUAN II.
Teknik Kompilasi Abdul Wahid, ST, M.Kom
Struktur dan Arsitektur Pemrograman
Pengantar Teknik Kompilasi
Ilustrasi Proses Kompilasi
Pengantar Teknik Kompilasi
Teknik Optimasi by kustanto
Semantics Analyser by Kustanto
Cara Penanganan Kesalahan
Transcript presentasi:

Lexical Analyzer (Scanner) Sigit Widiyanto, ST., MMSi., MSc

Lexical Analyzer Lexical Analyzer = scanner, Syntax Analyzer, dan Intermediate Code merupakan fungsi Analisis dalam compiler, yang bertugas mendekomposisi program sumber menjadi bagian-bagian kecil Code generation dan Code optimization adalah merupakan fungsi synthesis yang berfungsi melakukan pembangkitan / pembuatan dan optimasi program (object program) Scanner adalah mengelompok-an program asal/sumber menjadi token Parser (mengurai) bertugas memeriksa kebenaran dan urutan dari token-token yang terbentuk oleh scanner

Lexical Analysis (scanner) - berhubungan dengan bahasa Mengidentifikasikan semua besaran yang membuat suatu bahasa Mentransformasikan ke token-token Menentukan jenis dari token-token Menangani kesalahan Menangani tabel simbol Scanner, didesign untuk mengenali - keyword, operator, identifier Token : separates characters of the source language into group that logically belong together Misalnya : konstanta, nama variabel ataupun operator dan delimiter (atau sering disebut menjadi besaran lexical)

Lexical Analysis ( Besaran leksikal ) Identifier dapat berupa keyword atau nama kunci, seperti IF..ELSE, BEGIN..END (pada Pascal), INTEGER (pascal), INT, FLOAT (Bhs C) Konstanta : Besaran yang berupa bilangan bulat (integer), bilangan pecahan (float/Real), boolean (true/false), karakter, string dan sebagainya Operator; Operator arithmatika ( + - * / ), operator logika ( < = > ) Delimiter; Berguna sebagai pemisah/pembatas, seperti kurung-buka, kurung -tutup, titik, koma, titik-dua, titik-koma, white-space White Space: pemisah yang diabaikan oleh program, seperti enter, spasi, ganti baris, akhir file

Lexical Analysis - Contoh Ada urutan karakter yang disebut dengan statement fahrenheit := 32 + celcius * 1.8 Maka akan diterjemahkan kedalam token-token seperti dibawah ini identifier  fahrenheit operator  := integer  32 operator penjumlahan  + Identifier  celcius operator perkalian  * real / float  1.8

I = huruf(hurufangka)* Latihan Buatlah Automata Hingga Deterministik I = huruf(hurufangka)* Ket: Gunakan angka sebagai state

Lexical Analysis – Contoh 2 Setiap bentuk dari token akan di representasi sebagai angka dalam bentuk internal, dan angkanya adalah unik Misalnya nilai 1 untuk variabel, 2 untuk konstanta, 3 untuk label dan 4 untuk operator, dst Contoh instruksi : Kondisi : IF A > B THEN C = D; Maka scanner akan mentransformasikan kedalam token-token, sbb:

Lexical Analysis – Contoh 2 Kondisi 3 : 26 IF 20 A 1 > 15 B 1 THEN 21 C 1 D 1 ; 27 Token-token ini sebagai inputan untuk syntax Analyser , token-token ini bisa berbentuk pasangan item. Dimana Item pertama menunjukkan alamat atau lokasi dari token pada tabel simbol. Item kedua adalah representasi internal dari token. Semua token direpresentasikan dengan informasi yang panjangnya tetap (konstan), suatu alamat (address atau pointer) dan sebuah integer (bilangan bulat)

Contoh Lain

DFA untuk beberapa ER

Tabel Transisi