Anda di halaman 1dari 3

TEKNIK KOMPILASI Pertemuan 3 Dosen : Tri Ari Cahyono, S.Kom, M.

Kom -----------------------------------------------------------------------------ANALISA LEKSIKAL /LEXICAL ANALYZER Masukan bagi sebuah compiler/interpreter adalah program sumber yang strukturnya berupa deretan dari karakter-karakter Lexical Analyzer (scanner) mengubah deretan karakter-karakter menjadi deretan token-token Sebuah token adalah komponen dasar leksikal dari program Token adalah level entitas yang paling rendah dalam diagram sintaks Jadi analisa leksikal merupakan tahapan kompilasi yang memiliki fungsi memecah teks program sumber menjadi bagianbagian kecil yang mempunyai satu arti yang disebut token, seperti : identifier, konstanta, operator atau delimiter. TUGAS ANALISA LEKSIKAL a. Melakukan pembacaan kode sumber dengan merunut karakter demi karakter. b. Mengenali besaran leksikal. c. Mentransformasi menjadi sebuah token dan menentukan jenis tokennya. d. Mengirimkan token. e. Membuang atau mengabaikan white-space dan komentar dalam program. f. Menangani kesalahan. g. Menangani tabel simbol. BESARAN LEKSIKAL Identifier Beupa Keyword atau Nama Variabel) seperti IF..ELSE,BEGIN..END (pada Pascal), INTEGER (pascal) Konstanta Berupa nilai bilangan bulat (integer), bilangan pecahan (float/Real), boolean (true/false), karakter, string dan sebagainya Operator Berupa operator arithmatika ( + - * /) dan Operator logika (< = > ) Delimiter Berguna sebagai pemisah/pembatas, seperti kurung-buka,kurungtutup, titik, koma, titik-dua, titik-koma, white-space. White space:

pemisah yang diabaikan oleh program, seperti enter, spasi,ganti baris, akhir file TAHAP PELAKSANAAN ANALISA LEKSIKAL 1. Single One Pass Terjadi interaksi antara scanner dan parser. Scanner dipanggil saat parser memerlukan token berikutnya. Pendekatan ini lebih baik karena bentuk internal program sumber yang lengkap tidak perlu dibangun dan disimpan di memori sebelum parsing dimulai.

2. Separate Pass / Multi Pass Scanner memproses secara terpisah, dilakukan sebelum parsing. Hasil scanner disimpan dalam file. Dari file tersebut, parsing melakukan kegiatannya. Scanner mengirim nilai-nilai integer yang mempresentasikan bentuk internal token, bukan nilai-nilai string. Keunggulan cara ini adalah ukurannya kecil dan tetap. Parser sangat lebih efisien bekerja dengan nilai integer yang mempresentasikan simbol daripada string nyata dengan panjang variabel.

Contoh Analisa Leksikal : var a:=integer; begin readln(a); a:=a+1; writeln(a); end. Lakukan analisa leksikal dengan membentuk token ! Penyelesaian : 1. Identifier - Keyword var,integer,begin,readln,writeln,end - Variabel a 2. Konstanta 1 3. Operator + = 4. Delimiter ; : . () Soal 1 : program ulang; uses wincrt; var kata:string[10]; u:byte; begin kata:='I LOVE YOU'; u:=1; while u<=10 do begin writeln(kata); u:=u+1; end; end. Lakukan analisa leksikal dengan membentuk token ! Soal 2 : - Buat program menggunakan pascal. Program untu menginputkan sebuah huruf. Bila yang diinputkan huruf A maka cetak tulisan STMIK ATMALUHUR 5 kali(for to do), bila yang diinput selain huruf A maka cetak tulisan Pangkalpinang sebanyak 3 kali (repeat-until) - Lakukan analisa leksikal dengan membentuk token !

Anda mungkin juga menyukai

  • P7
    P7
    Dokumen4 halaman
    P7
    mgrin30
    Belum ada peringkat
  • P2
    P2
    Dokumen4 halaman
    P2
    mgrin30
    Belum ada peringkat
  • P6
    P6
    Dokumen3 halaman
    P6
    mgrin30
    Belum ada peringkat
  • PBO Lanjutan Kelas Karyawan II
    PBO Lanjutan Kelas Karyawan II
    Dokumen19 halaman
    PBO Lanjutan Kelas Karyawan II
    mgrin30
    Belum ada peringkat
  • P10
    P10
    Dokumen5 halaman
    P10
    mgrin30
    Belum ada peringkat
  • TEKOM1
    TEKOM1
    Dokumen6 halaman
    TEKOM1
    mgrin30
    Belum ada peringkat
  • TEKOM4
    TEKOM4
    Dokumen8 halaman
    TEKOM4
    mgrin30
    100% (1)
  • Pertemuan 8
    Pertemuan 8
    Dokumen9 halaman
    Pertemuan 8
    mgrin30
    Belum ada peringkat
  • Pertemuan 9
    Pertemuan 9
    Dokumen9 halaman
    Pertemuan 9
    mgrin30
    Belum ada peringkat
  • 1 - Untuk Apa Membuat Compiler
    1 - Untuk Apa Membuat Compiler
    Dokumen4 halaman
    1 - Untuk Apa Membuat Compiler
    mgrin30
    Belum ada peringkat
  • Pertemuan 7
    Pertemuan 7
    Dokumen12 halaman
    Pertemuan 7
    mgrin30
    Belum ada peringkat
  • Pertemuan 6
    Pertemuan 6
    Dokumen7 halaman
    Pertemuan 6
    mgrin30
    Belum ada peringkat
  • Pertemuan 10
    Pertemuan 10
    Dokumen6 halaman
    Pertemuan 10
    mgrin30
    Belum ada peringkat
  • Pertemuan 13
    Pertemuan 13
    Dokumen10 halaman
    Pertemuan 13
    mgrin30
    Belum ada peringkat
  • Pertemuan 4
    Pertemuan 4
    Dokumen15 halaman
    Pertemuan 4
    mgrin30
    Belum ada peringkat