MATERI PERKULIAHAN TEKNIK KOMPILASI

Slides:



Advertisements
Presentasi serupa
Kuliah 03 – Pengenalan Analisa Sintak
Advertisements

KONSEP dan NOTASI BAHASA
Teori Bahasa dan Automata
Pengantar Teknik Kompilasi
TEORI BAHASA & OTOMATA (KONSEP & NOTASI BAHASA)
Bentuk Normal Greibach (Greibach Normal Form)
Procedures, Functions and Methods
Teori Bahasa & OTOMATA.
POHON PENURUNAN.
Syntax Analyzer (Parser) - Dasar
KONSEP dan NOTASI BAHASA
Pohon penurunan dan Penyederhanaan Tata Bahasa Bebas Konteks
Bahasa Pemrograman Tingkat Tinggi
Yenni astuti, S.T., M.Eng Teori Bahasa Yenni astuti, S.T., M.Eng
Analisis Leksikal.
STRUKTUR COMPILLER.
Pertemuan 9 CONTEXT FREE GRAMMAR (CFG) Lanjutan..
1 Pertemuan 11 CONTEXT FREE GRAMMAR (CFG) Lanjutan.. Matakuliah: T0162/Teori Bahasa dan Automata Tahun: 2005 Versi: 1/0.
MATERI PERKULIAHAN TEKNIK KOMPILASI
KONSEP GRAMMAR & HIRARKI CHOMSKY
KONSEP dan NOTASI BAHASA
Teori-Bahasa-dan-Otomata
TEORI BAHASA DAN AUTOMATA TATA BAHASA LEVEL BAHASA
KONSEP dan NOTASI BAHASA
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
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
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 6 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 BNF (Backus-Naur Form) 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 Notasi G = ( Vn, Vt, P, S ) G = ({S,A,B}, {a,b,c,d}, P, S)

Notasi BNF (Backus-Naur Form) Apakah benar ? <S> a<A>d <S> abd <S> * <S> <S> * abd <S> * a<A>d <S> + abd 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

Notasi BNF (Backus-Naur Form) 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 accd diterima? YA <S> rule 3 a<B> rule 6 accd

Notasi BNF (Backus-Naur Form) 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 penurunan nonterminal di sebelah KIRI. 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>

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 begin A := B + C; B := C end. diterima ?

ke setiap simpul akhir (daun). Pohon Sintaks Merupakan suatu graf terhubung tidak sirkuler, yang memiliki satu simpul (node / akar) dan memiliki lintasan ke setiap simpul akhir (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

Ambigous Grammar Kondisi ketika suatu 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 | <D> <C> d Grammar ke Diagram Sintaks RUAS KIRI  menjadi JUDUL diagram RUAS KANAN  menjadi diagram <A> ::= a <B> c | <D> <C> d menjadi A a B c D C d

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

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 C atau 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