Breaking News
Loading...
Kamis, 20 November 2014

Sekilas Analisa Leksikal

Assalamu'alaikum akhi-ukhti ^^


     halo sahabat blogger kali ini saya akan menshare pelajaran yang telah saya pelajari di matakuliah algoritma di kampus saya yang berjudul Sekilas Analisa Leksikal.
Pertama-tama mari kita kenal dahulu apa itu Syntax ??!!.

Syntax merupakan aturan Gramatical/Komposisi suatu program yang mengatur tata cara penulisan huruf,angka,dan karakter lain.
Macam-macam Analisa Syntax :

  1. Analisa Leksikal (Scanner)
Analisa Leksikal atau Scanner bertugas mengidentifikasi semua besaran yang membangun suatu bahasa pada suatu program sumber.Lalu apa tugas scanner itu?
Tugas Scanner sebagai berikut :
  • Membaca kode sumber dengan menurut karakter demi karakter.
  • Mengenali besaran resit
  • Mentransformasi jadi sebuah token dan menentukan jenis tokennya.
  • Mengirimkan token
  • Membuang atau mengabaikan blank dan komentar dalam program
  • Menangani kesalahan 
  • Menangani tabel Simbol
Itulah tugas-tugas dari Scanner atau analisa Leksikal.Mungkin jika kita yang menganalisa syntax akan memakan cukup waktu tapi bagi kompilator  itu hanya memakan sepersekian detik waw subhanallah haha..
Selanjutnya kita harus mengetahui apa saja yang di scan oleh Scanner,dan sekarang kita akan mempelajari tentang Besaran Leksikal .
Besaran Leksikal :
  • Identifier :

a. Keyword
    Kata kunci yang sudah didefinisikan oleh suatu bahasa pemrograman.
    Contohnya seperti Let,print,if-then,if-else,for,dll
b. Variabel
    Nama didefinisikan sendiri oleh pemakai.
    Contohnya jika kita mendefinisikan variabel terserah kita seperti A,B,variabel1,variabel2,dll
  • Nilai Konstanta
Nilai Konstanta bisa bertipe Integer,Real,Boolean,Character,String dsb..
  • Operator
Opertor bisa berupa operator Aritmatika,Logika,dll
Contoh : Aritmatika : +,-,/,*,%
               Logika       : && (AND),| (OR),<,>,=,dll
  • Delimeter/Pembatas
Contohnya seperti (,),titik(.),koma(,),;,:,<spasi>,dll

Nah kita kan sudah tau besaran-besaran leksikal mari kita ke Contoh soal/kasusnya
Buat Analisa Leksikal untuk potongan program (pascal)berikut :

var A:Integer;
   begin
A := A+2;
end.

//lalu kita akan membuat analisanya dalam bentuk tabel :

TokenBesaran LeksikalLokasi
varKeyword0
AVariabel1
:Delimeter0
IntegerKeyword0
;Delimeter0
BeginKeyword0
AVariabel1
:=operator logika0
AVariabel1
+Operator aritmatika0
2Konstanta Integer2
;Delimeter0
endkeyword0
.delimeter0
Jadi maksud dari tabel tersebut adalah semua token yang ada di potongan program diatas di scan semua mulai dari var sampai titik(.).
Sedangkan lokasi adalah lokasi atau nomor memori yang ditempati.Pada tabel diatas lokasi hanya di tempati oleh "Variabel dan Konstanta".Apabila variabel nya masih sama maka memorinya tetap sama,dalam tabel diatas var A di scan 3x namun lokasinya tetap 1, lalu dilanjutkan konstanta 2.

3 komentar:

 
Toggle Footer