SINTAKS
SINTAKS
Contoh:
Berikut ini adalah tata bahasa “barisan dari angka-angka yang dipisahkan oleh tanda plus atau
minus”.
list list + digit
list list – digit
list digit
digit 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
HIRARKI CHOMSKY
Unrestricted
Context Sensitive
Context Free
Regular
Keterangan Gambar :
Tipe 0 / Unrestricted Grammar (UG): tidak ada batasan pada aturan produksi
Abc → De
Tipe 1 / Context Sensitive Grammar (CSG) : panjang string ruas kiri harus < (lebih kecil) atau = (sama dengan) ruas kanan
Ab → DeF
CD → eF
Tipe 2 / Context Free Grammar (CFG) : ruas kiri haruslah tepat satu symbol variabel, yaitu simbol non terminal
B → CDeFg
D → BcDe
Tipe 3 / Regular Grammar (RG): ruas kanan hanya memiliki maksimal satu symbol non terminal dan diletakkan paling
kanan sendiri
A→e
A → efg
A → efgH
C→D
NOTASI BNF (BACKUS – NOUR FORM)
Aturan-aturan produksi dapat dinyatakan dalam bentuk BNF ( Backus Naur Form )
Contoh,
terdapat aturan produksi sebagai berikut :
E T | T+E | T-E
Ta
Notasi BNF :
<E> ::= <T> | <T> + <E> | <T> - <E>
<T> ::= a
SYNTAX ANALYZER (PARSER)
Bertugas memeriksa kebenaran dan urutan dari token-token yang terbentuk oleh Lexical
Analysis
Pengelompokan token-token kedalam class syntax (bentuk sintaks), seperti prosedur,
statement dan expression
Grammar dipakai oleh syntax analyzer untuk menentukan struktur dari program sumber
Proses pendeteksian (pengenalan token) disebut dengan parsing, maka syntax analyzer sering
disebut dengan parser
Pohon sintaks yang dihasikan digunakan untuk semantic analyzer yang bertugas untuk
menentukan maksud dari program sumber, misalnya operator penjumlahan maka semantic
analyzer akan mengambil aksi apa yang harus dilakukan
PARSING ATAU PROSES PENURUNAN
Berguna untuk menggambarkan bagaimana cara memperoleh suatu untai (string) dengan cara
menurunkan atau mengganti simbol-simbol variabel menjadi terminal. Setiap simbol variabel akan
diturunkan atau diganti menjadi terminal.
Proses penurunan (atau parsing) bisa dilakukan antara lain dengan cara:
a. Penurunan melalui arah kiri (leftmost derivation) : simbol variabel terkiri yang diperluas lebih
dulu.
b. Penurunan melalui arah kanan (rightmost derivation) : simbol variabel terkanan yang diperluas
lebih dulu.
METODE PARSING
Ada 2 metoda parsing : top-down dan bottom-up.
Jawab:
LeftMost Derivation (Penurunan Kiri) RightMost Derivation: