Analisis leksikal ( SCANNER )

Slides:



Advertisements
Presentasi serupa
Pemrograman Berorientasi Objek (2)
Advertisements

Input dan output Data Dalam bahasa Pascal untuk keperluan input (membaca input) digunakan identifier standar READ atau READLN. ReadLn digunakan untuk.
Dasar Komputer & Pemrog 2 A minggu 4
MATERI 8 CHOICE / PILIHAN.
CARA PENANGAN KESALAHAN
Pemrograman Visual (Borland Delphi 7.0)
LINGKUNGAN TURBO PASCAL
Computer Science, University of Brawijaya Putra Pandu Adikara, S.Kom Algoritma dan Struktur Data Seleksi Kondisi.
Pengantar Algoritma.
STRUKTUR DATA PERTEMUAN 5
Procedures, Functions and Methods
Algoritma Dasar Dalam membuat suatu program komputer, menyusun algoritma adalah langkah pertama yang harus dilakukan Dalam membuat algoritma dapat digunakan.
Flowchart dan Pseudocode
DELPHI PROGRAMMING PERTEMUAN 5 Delphi5.ppt.
KONSEP dan NOTASI BAHASA
Dasar Komputer & Pemrog. 2A
Pemprograman Terstruktur 1
Lexical Analyzer (Scanner)
Identifier, Konstanta, Variabel & Tipe data Dasar-Dasar Pemrograman Marsel Willem Aipassa, S. Kom.
T I P E D A T A.
Algoritma (Struktur, Tipe Data, Input/Output)
Notasi Algoritma.
Pemrograman Visual (Borland Delphi 7.0)
ANALISIS LEKSIKAL.
Cara Penanganan Kesalahan
Variabel, Konstanta, Tipe Data Dan Operator pada VB
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 Kuliah 1. Pertemuan ke : 1 Pengenalan Komputer dan Pemrograman
ALGORITMA PEMROGRAMAN 2A
Cara Penanganan Kesalahan
Dasar-Dasar Pemrograman
Algoritma dan Pemrograman 2A
Variabel dan Ekspresi Struktur Percabangan dan Struktur Perulangan
Struktur Program Minimal
Pertemuan 5 Tipe Data, Operator, Tata Bahasa
SUBRUTIN.
Konsep Dasar Bahasa Pascal
LINGKUNGAN TURBO PASCAL
Pengantar Teknik Kompilasi
FKIP Pend. Matematika Universitas Muhammadiyah Gresik
Analisis leksikal (Scanner)
Algoritma dan Pemrograman
PEMROGRAMAN PASCAL ELEMEN PEMROGRAMAN PASCAL.
ANALISIS LEKSIKAL.
ANALISIS LEKSIKAL (Scanner)
Dasar-Dasar Pemrograman
Cara Penanganan Kesalahan
Tipe Data, Nama dan Nilai
AP2A Perulangan & Array PJ : Wawan Setiawan 07
Struktur Dasar Algoritma dan Runtunan
PERCABANGAN DAN PERULANGAN
Tipe data & Variabel 1. Aturan Leksikal. 2. Operator. 3. Statement
TEKNIK KOMPILASI ANALISIS LEKSIKAL
Tipe data & Variabel 1. Aturan Leksikal. 2. Operator. 3. Statement
ANALISIS LEKSIKAL.
ALGORITMA DAN PEMROGAMAN
CARA PENANGAN KESALAHAN
Bahasa Pemrograman Pascal
MATERI PERKULIAHAN TEKNIK KOMPILASI
Pemrogram 1 Agus Darmawan, S.kom.
PERKEMBANGAN PASCAL Pascal adalah bahasa tingkat tinggi ( high level language) yang orientasinya pada segala tujuan Nama pascal diambil sebagai penghargaan.
KOMENTAR Komentar dipakai untuk memberikan penjelasan atau keterangan di dalam baris program. Teks yang ditulis sebagai komentar tidak akan dikompilasi.
Ilustrasi Proses Kompilasi
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.
SMK BINA INSAN Pemograman Dasar Operasi Aritmatika Dan Logika Yobi Saputra 22.
ANALISIS LEKSIKAL.
Transcript presentasi:

Analisis leksikal ( SCANNER ) Teknik Kompilasi Dosen: Utami Dewi W

Tugas Scanner Melakukan pembacaan kode sumber dengan menurut karakter demi karakter Mengenali besaran leksis Mentransformasi menjadi sebuah token dan menentukan jenis token nya Mengirimkan token Membuang / mengabaikan blank dan komentar dalam program Menangani kesalahan Menangani tabel simbol

Alat Bantu Scanner Scanner bekerja berdasarkan mesin FSA yang ada pada bahasa regular. Untuk membantu mengkonstruksi scanner dapat menggunakan diagram keadaan.

Besaran Leksik/Token Besaran pembangun bahasa / leksis meliputi: Identifier (huruf dan angka) Bisa berupa keyword atau nama. keywords adalah kata kunci yang sudah disefinisikan oleh suatu bahasa seperti BEGIN, END, IF, ELSE dalam Pascal. Nama dideklarasikan sendiri oleh pemakai,seperti nama sebuah variabel.

Contoh : VAR Nomor: INTEGER; Suhu: REAL; Maka Nomor dan Suhu adalah Token berupa nama variabel, sedangkan VAR, INTEGER, dan REAL adalah keywords pada program tersebut.

Nilai Konstanta Yaitu konstanta yang terdapat pada program.Berupa konstanta integer, real, boolean,character, string. Contoh: N:=R+5*10 Kata:= kata1 + ‘makan’ A:=0.333 Selesai:= TRUE Maka 5, 10,’makan’,0.333, TRUE, termasuk Token Nilai Konstanta pada program.

Operator dan Delimiter Termasuk Operator adalah operator aritmetika , operator logika (<,=,>). Delimiter berguna sebagai pemisah/pembatas, contohnya: ( ), ;, :, white-space yaitu spasi (yg diabaikan di program), enter, end of file.

Implementasi Scanner Scanner biasanya diimplementasikan sebagai sebuah prosedur yang dipanggil oleh Parser. Prosedur Scan sederhana: Didefinisikan dulu Procedure GetChar untuk mengambil sebuah karakter dari file input. Procedure GetChar; begin Read (FileInput, Kar); end;

Implementasi scan sederhana Dimana FileInput: text, Kar: character Pada scanner kita akan maju satu-satu per karakter untuk mendapatkan token.Selanjutnya kita akan buat Procedure Scan. Procedure Scan Begin While Kar=‘ ‘ do GetChar {selama ketemu spasi maju terus} repeat

Case kar OF ‘<‘: begin GetChar; Case Kar OF ‘=‘: begin token:=t_LE; exit end; ‘>’: begin token:=t_NE; exit end; Else Begin token:=t_L; exit; end; ‘=‘:begin token:=t_E exit;end; ‘>’:begin If Kar=‘=‘ then begin token:=t_GE;exit;end; begin token:=t_G;exit;end; End;

‘{‘: begin Repeat getChar; { maju sampai ketemu penutup komentar} until Kar= ‘ }’ GetChar; {lanjutkan maju, tanpa memperoleh token} end; EOF: exit; {akhir file} Until false {sampai ketemu sebuah token atau akhir file} End;

Dari Procedure Scan didapatkan Himpunan Token: Atau dibaca sebagai token-token: t_L (less), t_G(greater),t_E(equal),t_LE,t_GE,t_NE(not equal)