Analisa Leksikal merupakan antarmuka antara kode program sumber dan analisa sintaktik (parser). Scanner melakukan pemeriksaan karakter per karakter pada teks masukan, memecah sumber program menjadi bagian-bagian disebut Token. Analisa Leksikal mengerjakan pengelompokkan urutan-urutan karakter ke dalam komponen pokok: identifier, delimeter, simbol-simbol operator, angka, keyword, noise word, blank, komentar, dan seterusnya menghasilkan suatu Token Leksikal yang akan digunakan pada Analisa Sintaktik. Model dasar untuk membentuk suatu Analisa Leksikal adalah Finite- State Automata.
2. Buatlah contoh dari analisa leksikal ?program untuk mengurutkan angka menggunakan pascal, listingnya sebagai berikut :
Program Urut_Bilangan;
Uses Wincrt;
Var A, B, C : integer;
Begin {mulai program utama}
Writeln(‘Program Mengurut Bilangan’);
Writeln(‘ ‘);
Writeln;
Write(‘Masukkan Nilai A: ‘);readln(A);
Write(‘Masukkan Nilai B: ‘);readln(B);
Write(‘Masukkan Nilai C: ‘);readln(C);
Writeln;
if (A<= B) and (A<= C) then
if (B<= C) then
Writeln(A,' ',B,' ',C)
else
Writeln(A,' ',C,' ',B)
else if (B<= A) and (B<= C) then
if (A<= C) then
Writeln(B,' ',A,' ',C)
else
Writeln(B,' ',C,' ',A)
else if (C<= A) and (C<= B) then
if (A<= B) then
Writeln(C,' ',A,' ',B)
else
Writeln(C,' ',B,' ',A)
End.
Dari program sumber tersebut, akan kita baca setiap karakter demi karakter, sehingga karakter/kata dalam program tersebut bisa dikelompokkan ke dalam 4 jenis token diatas. Kita ketahui, keyword adalah kata baku yang sudah disediakan oleh bahasa pemrograman, sehingga untuk memudahkan pengelompokan kata tersebut sebagai keyword atau bukan, terlebih dahulu dibuat file teks yang berisi daftar keyword dalam pascal.
No comments:
:)) :)] ;)) ;;) :D ;) :p :(( :) :( :X =(( :-o :-/ :-* :| 8-} ~x( :-t b-( :-L x( =))
Post a Comment
Silakan isi komentar di postingan ini. T`rima Kasih...