ANALISIS LEKSIKAL (Scanner) By Kustanto Sesi 4 5/20/2018
Analisis Leksikal (Scanner) Pengertian. Merupakan bagian dari kompilator yang menerima input berupa stream karakter kemudian memilah program sumber menjadi satuan leksikal yang disebut dengan token. Token ini akan menjadi input bagi parser. Sesi 4 5/20/2018
Tugas Sanner Melakukan pembacaan kode sumber dengan merunut karakter demi karakter. Mengenali besaran leksikal. Mentransformasi menjadi sebuah token dan menetukan jenis token nya. Mengirim token. Membuang /mengabaikan blank dan komentar dalam program. Menangani kesalahan. Menangani tabel simbol. Sesi 4 5/20/2018
Tugas tambahan Sesi 4 5/20/2018
Sesi 4 5/20/2018
Sesi 4 5/20/2018
Sesi 4 5/20/2018
Sesi 4 5/20/2018
Sesi 4 5/20/2018
1. Identifier Keywords merupakan kata kunci yang sudah didefinisikan oleh suatu bahasa seperti : BEGIN, END, IF, ELSE didalam pascal. Nama harus di deklarasikan, Contoh: VAR Nomor: Integer; Suhu: Real; Sesi 4 5/20/2018
Sedangkan VAR, INTEGER, dan REAL merupakan Keyword. Maka Nomor dan Suhu akan dikenal sebagai besaran leksikal berupa nama Variabel yang terdapat pada program tersebut. Sedangkan VAR, INTEGER, dan REAL merupakan Keyword. Contoh keyword yang lain seperti: and, array, begin, const, else, div, do, or dsb. Sesi 4 5/20/2018
2. Nilai Konstanta Merupakan suatu konstanta yang terdapat pada program, bisa berupa konstanta integer, real, boolean, string dsb. Contoh suatu program yang terdapat statment: N:= R + 5 * 10 A:=0.333 5, 10, 0.333 termasuk besaran leksikal yang berupa nilai konstanta. Sesi 4 5/20/2018
3. Operator dan delimiter Operator misalnya operator aritmatika (+, -, *, /), operator logika (<, =, >). Delimiter berguna sebagai pemisah atau pembatas, misalnya: (), ;, :, ., ] Contoh: Program Coba; VAR A: INTEGER Begin A:= A+2; End. Sesi 4 5/20/2018
Program, Coba, VAR, A, INTEGER, :, +, 2, ;, :=, Begin, End dan . Dari contoh program tersebut, yang merupakan besaran leksikal (token) nya adalah simbol yang bernilai : Program, Coba, VAR, A, INTEGER, :, +, 2, ;, :=, Begin, End dan . Sesi 4 5/20/2018
Struktur program Pascal HEADER PROGRAM identifer–judul (identifier); LABEL deklarasi CONST definisi TYPE definisi BLOK VAR deklarasi BEGIN statement; ………… END. Sesi 4 5/20/2018
Contoh PROGRAM Luas_Lingkaran(Input,Output) PROGRAM Luas_Lingkaran(Input,Output) ; CONST pi = 3.14; VAR R , Luas : real; BEGIN Write (‘masukkan jari-jari lingkaran ? ‘); Readln (R); Luas : = pi * R * R ; writeln(‘Luas lingkaran =’, Luas); END. i 4 5/20/2018
Sesi 4 5/20/2018