Kom -----------------------------------------------------------------------------KONSEP DAN NOTASI BAHASA Bahasa adalah kumpulan kalimat. Kalimat adalah rangkaian kata. Kata adalah komponen terkecil kalimat yang tidak bisa dipisahkan lagi. Contoh : Aku mencintai kamu bahasa indonesia I Love You bahasa inggris Readln(x); writeln(x); bahasa pascal
Dalam bahasa pemrograman, kalimat dikenal sebagai ekspresi, dan kata sebagai token. Kata terdiri atas beberapa karakter. Kelompok karakter yang membentuk sebuah token dinamakam lexeme untuk token tersebut. Setiap token yang dihasilkan, disimpan dalam tabel simbol. Token tertentu harus memenuhi aturan yang disebut Pattern. Derivasi adalah sebuah proses dimana suatu himpunan produksi akan diturunkan / dipilah-pilah dengan melakukan sedertan produksi sehingga membentuk untai terminal.
TATA BAHASA (GRAMMAR) Tata bahasa bisa didefinisikan secara formal sebagai kumpulan dari himpunan-himpunan variabel, simbol terminal, simbol non terminal, simbol awal yang dibatasi oleh aturan-aturan produksi. Grammar G didefinisikan sebagai pasangan 4 tuple yang tertulis dalam bentuk himpunan {..} yaitu : VT, VN, S, dan Q. Penulisan : G (VT, VN, S, Q) dimana : VT VN S Q : Simbol terminal/token/alfabet (tidak bisa diturunkan) : Simbol non terminal (masih bisa diturunkan) : Simbol awal ( S VN) : Aturan produksi
simbol operator, misalnya : +, , dan simbol tanda baca, misalnya : (, ), dan ; string yang tercetak tebal, misalnya : if, then, dan else.
2. Simbol Non Terminal (VN) huruf besar awal alfabet, misalnya : A, B, C huruf S sebagai simbol awal string yang tercetak miring, misalnya : expr dan stmt. 3. Istilah Produksi Tata Bahasa x=abc |x| = 3 |x| =Panjang x (jumlah isi x) = tidak terbatas/hampa ||= 0 = Derivasi S ab = S menghasilkan ab = S menurunkan ab E T | T+E Pemendekan dari : ET E T+E SN S anggota bagian dari N
HIRARKI CHOMSKY Pada tahun 1959 seorang ahli bernama Noam Chomsky melakukan penggolongan tingkatan bahasa menjadi 4 bagian yang dikenal dengan sebutan Hirarki Chomsky. Tingkatan bahasa tersebut adalah : 1. Tipe 0 yaitu Unrestricted Grammar (UG) Mesin Pengenal : Finite State Automata (FSA) 2. Tipe 1 yaitu Context Sensitive Grammar (CSG) Mesin Pengenal : Push Down Automata (PDA)
3. Tipe 2 yaitu Context Free Grammar (CFG) Mesin Pengenal : Linear Bounded Automata (LBA) 4. Tipe 3 yaitu Regular Grammar (RG) Mesin Pengenal : Turing Machine (TM) Tabel Aturan Produksi :
Tipe Regular Grammar Ruas Kiri () VN ||=1 VN || = 1 (VT |VN) || > 0 (VT | VN) || > 0 Ruas Kanan()
{VT , VT VN} atau {VT , VN VT }
NOTASI BNF (BACKUS NAUR FORM) Aturan-aturan produksi dapat dinyatakan dalam bentuk BNF. Simbolsimbol BNF adalah sebagai berikut : ::= | < > { } Identik dengan simbol Menyatakan atau Mengapit simbol variabel / non terminal Pengulangan 0 sampai n kali pada aturan produksi
E T | Ta Tb B Cb C Ca B Caaaaaaaaaab
Notasi BNF E ::= <T> | <T>a T ::= b B ::= <C>b C ::= <C>a B ::= <C>{a}b
DIAGRAM SINTAKS Selain BNF diagram sintak merupakan alat bantu dalam pembuatan parser/ analisis sintaksis. Simbol : Kotak = simbol nonterminal Bulat = simbol terminal.
E T | Ta | Tb C b
Diagram sintaks : E T a b C b