MATERI PERKULIAHAN TEKNIK KOMPILASI

Slides:



Advertisements
Presentasi serupa
Teori Bahasa dan Automata
Advertisements

Kuliah 03 – Pengenalan Analisa Sintak
KONSEP dan NOTASI BAHASA
Teori Bahasa dan Automata
Pengantar Teknik Kompilasi
TEORI BAHASA & OTOMATA (KONSEP & NOTASI BAHASA)
Bentuk Normal Greibach (Greibach Normal Form)
Pohon Urai (parse) dan Derivasi
Teori Bahasa & OTOMATA.
POHON PENURUNAN.
Syntax Analyzer (Parser) - Dasar
KONSEP dan NOTASI BAHASA
Pohon penurunan dan Penyederhanaan Tata Bahasa Bebas Konteks
Yenni astuti, S.T., M.Eng Teori Bahasa Yenni astuti, S.T., M.Eng
Analisis Leksikal.
STRUKTUR COMPILLER.
CONTEXT FREE LANGUAGE Yang akan kita pelajari: Pohon Turunan
Pertemuan 9 CONTEXT FREE GRAMMAR (CFG) Lanjutan..
MATERI PERKULIAHAN TEKNIK KOMPILASI
KONSEP GRAMMAR & HIRARKI CHOMSKY
Teori-Bahasa-dan-Otomata
TEORI BAHASA DAN AUTOMATA TATA BAHASA LEVEL BAHASA
KONSEP dan NOTASI BAHASA
PENGANTAR TEORI BAHASA OTOMATA
TEORI BAHASA DAN OTOMATA
Bahasa Type 2 (CONTEXT FREE GRAMMAR)
OTOMATA DAN TEORI BAHASA FORMAL
TEKNIK PENURUNAN.
By : Lisda Juliana Pangaribuan
Pengantar Teknik Kompilasi
Teori-Bahasa-dan-Otomata
GRAMMER ATAU TATA BAHASA
Sheila Nurul Huda, S.Kom, M.Cs
MATERI PERKULIAHAN TEKNIK KOMPILASI
MATERI PERKULIAHAN TEKNIK KOMPILASI
Pengantar Teknik Kompilasi
TATA BAHASA BEBAS KONTEKS
MATERI PERKULIAHAN TEKNIK KOMPILASI
MATERI PERKULIAHAN TEKNIK KOMPILASI
Pengantar Teknik Kompilasi
ALGORITMA & PEMROGRAMAN 1C
BAB VIII POHON PENURUNAN.
Istiqomah, S.Kom [Teknik Kompilasi UNIKOM 2013]
MATERI PERKULIAHAN TEKNIK KOMPILASI
MATERI PERKULIAHAN TEKNIK KOMPILASI
MATERI PERKULIAHAN TEKNIK KOMPILASI
MATERI PERKULIAHAN TEKNIK KOMPILASI
Pengantar Teknik Kompilasi
Pertemuan 10 CONTEXT FREE GRAMMAR (CFG) Lanjutan..
Pengantar Teknik Kompilasi
TEORI BAHASA & AUTOMATA
KODE ANTARA & PEMBANGKITAN KODE Ken Kinanti Purnamasari
MATERI PERKULIAHAN TEKNIK KOMPILASI
MATERI PERKULIAHAN TEKNIK KOMPILASI
MATERI PERKULIAHAN TEKNIK KOMPILASI
KONSEP dan NOTASI BAHASA
Konsep dan Notasi Bahasa
Pengantar Teknik Kompilasi
CONTEXT-FREE GRAMMAR (CFG) DAN PARSING
Pengenalan Pola secara sintaktis (PPSint)
Pengenalan Kompilasi & Klasifikasi Tatabahasa Formal menurut Chomsky
Pengantar Teknik Kompilasi
Analisis Sintaksis By: Kustanto, S.T., M.Eng.
KONSEP dan NOTASI BAHASA
Pengantar Teknik Kompilasi
Brute force 2/16/2019 Materi ke 5.
Grammar dan Bahasa Automata
CONTEXT-FREE GRAMMAR (CFG) DAN PARSING
Pengantar Teknik Kompilasi
CONTEXT-FREE GRAMMAR (CFG) DAN PARSING
Transcript presentasi:

MATERI PERKULIAHAN TEKNIK KOMPILASI ANALISIS SINTAKSIS 4 Ken Kinanti Purnamasari

Tahapan kompilasi yang memeriksa urutan kemunculan token. Analisis Sintaksis / Parsing Tahapan kompilasi yang memeriksa urutan kemunculan token.

Grammar Berdasarkan rule dibagi 4 (Noam Chomsky) : 3 – Reguler Grammar 2 – Context-Free Grammar 1 – Context-Sensitive Grammar 0 – Unrestricted Grammar

Grammar G = { Vn , Vt , P , S } dimana S ∈ Vn Vn = non terminal Vt = terminal P = aturan / produksi S = simbol awal

Sebuah string diterima oleh grammar, jika simbol awal dapat diturunkan dengan menggunakan 0 atau lebih rule sehingga menghasilkan string tersebut, dimana string ⊆ (VT)*

Notasi NOTASI BIASA ( ) : tepat 1 rule Ruas kiri diturunkan menjadi ruas kanan dengan: NOTASI BIASA ( ) : tepat 1 rule NOTASI CLOSER ( * ) : 0/lebih rule NOTASI POSITIVE CLOSER ( + ) : 1/lebih rule

Notasi <S> ::= a <A> d <S> ::= a <B> Grammar <S> ::= a <A> <B> d <S> ::= a <A> d <S> ::= a <B> <A> ::= b <A> ::= c <B> ::= ccd <B> ::= ddc Notasi G = ( Vn, Vt, P, S ) G = ({S,A,B}, {a,b,c,d}, P, S)

Notasi <S> ::= a <A> d <S> ::= a <B> Apakah benar ? <S> a<A>d <S> abd <S> * <S> <S> * abd <S> * a<A>d <S> + abd Grammar <S> ::= a <A> <B> d <S> ::= a <A> d <S> ::= a <B> <A> ::= b <A> ::= c <B> ::= ccd <B> ::= ddc

Notasi <S> rule 2 a<B> rule 5 accd Grammar <S> ::= a <A> <B> d <S> ::= a <A> d <S> ::= a <B> <A> ::= b <A> ::= c <B> ::= ccd <B> ::= ddc Apakah accd diterima? YA <S> rule 2 a<B> rule 5 accd

Notasi 2. <S> ::= a <A> d 3. <S> ::= a <B> Grammar 1 <S> ::= a <A> <B> d 2. <S> ::= a <A> d 3. <S> ::= a <B> 4. <A>::= b 5. <A>::= c 6. <B> ::= ccd 7. <B> ::= ddc Apakah acddcd diterima? <S> rule 1 a<A><B>d rule 5 ac<B>d rule 6 acddcd

Left Most Derivation Grammar Mengutamakan nonterminal di sebelah KIRI. 1. <program> ::= begin <stmt_list> end 2. <stmt_list> ::= <stmt> | <stmt> ; <stmt_list> 3. <stmt> ::= <var> := <expression> 4. <var> ::= A | B | C 5. <expression> ::= <var> + <var> | <var> - <var> | <var>

Left Most Derivation G = ( {program, stmt_list, stmt, var, expression}, {begin, end., ;, :=, A, B, C, +, -}, P, <program> )

Left Most Derivation Grammar 1. <program> ::= begin <stmt_list> end 2. <stmt_list> ::= <stmt> | <stmt> ; <stmt_list> 3. <stmt> ::= <var> := <expression> 4. <var> ::= A | B | C 5. <expression> ::= <var> + <var> | <var> - <var> | <var> Apakah A := B + C; B := C end. benar ?

dan memiliki lintasan ke setiap simpul (daun). Pohon Sintaks Merupakah suatu graph terhubung tidak sirkuler, yang memiliki satu simpul (node / akar) dan memiliki lintasan ke setiap simpul (daun).

Pohon Sintaks Simbol awal  menjadi akar Simbol terminal  menjadi daun <program> Begin <stmt_list> end <stmt> ; <stmt_list> <var> := <expression> <stmt> A <var> + <var> <var> := <expression> B C B <var> C

 hasil eksekusi nya akan berbeda. Ambigous Grammar Kondisi ketika string dieksekusi dengan grammar yang sama, menghasilkan pohon sintaks yang berbeda.  hasil eksekusi nya akan berbeda.

Grammar Berdasarkan rule dibagi 4 (Noam Chomsky) : 3 – Reguler Grammar 2 – Context-Free Grammar 1 – Context-Sensitive Grammar 0 – Unrestricted Grammar

Diagram Sintaks A b : Simbol non terminal : Simbol terminal : Diagram pertama yang dibuat : Arah A b Simbol awal

<A> ::= a <B> c | b <C> d Grammar ke Diagram Sintaks RUAS KIRI  menjadi JUDUL diagram RUAS KANAN  menjadi diagram <A> ::= a <B> c | b <C> d menjadi A a B c b C d

<B> ::= ab | a <B> Grammar ke Diagram Sintaks <B> ::= ab | a <B> menjadi B a b C

LATIHAN Buatlah DIAGRAM SINTAKS dari grammar berikut ! <program> ::= begin <stmt_list> end. <stmt_list> ::= <stmt> | <stmt> ; <stmt_list> <stmt> ::= <var> := <expression> <var> ::= A | B | C <expression> ::= <var> + <var> | <var> - <var> | <var>

Tugas Perorangan (print di HVS A4) Buatlah Grammar untuk bahasa Pascal dalam notasi BNF, lengkap dengan Diagram Sintaks-nya!

REFERENSI . . . Firrar U., Teknik Kompilasi, J&J Learning Yogyakarta, 2001 Alfred v. a. & ullman J.D., Compilers Principles Technique and Tools, Addison Wesley, 1988