Analisis Sintaksis By: Kustanto, S.T., M.Eng.

Slides:



Advertisements
Presentasi serupa
Teori Bahasa dan Automata
Advertisements

BENTUK NORMAL CHOMSKY Teori Bahasa dan Otomata
Kuliah 03 – Pengenalan Analisa Sintak
KONSEP dan NOTASI BAHASA
CONTEXT-FREE GRAMMAR (CFG) DAN PARSING
Session 10 Context-free grammar
Penguraian Bawah-Atas (Bottom-up Parsing)
Normal Chomsky Pertemuan 8
Pengantar Teknik Kompilasi
TEORI BAHASA & OTOMATA (KONSEP & NOTASI BAHASA)
Penyederhanaan Bahasa Bebas Context
Session 11 Parse Tree, Application of Parse Tree, and Ambiguity
Teori Bahasa dan Otomata 2 sks
TATA BAHASA BEBAS KONTEKS (CONTEXT FREE GRAMMAR)
POHON PENURUNAN.
Syntax Analyzer (Parser) - Dasar
Pohon penurunan dan Penyederhanaan Tata Bahasa Bebas Konteks
Komponen sebuah Kompilator
Analisis Leksikal.
Pertemuan 12 CONTEXT FREE GRAMMAR (CFG) Lanjutan..
STRUKTUR COMPILLER.
CONTEXT-FREE GRAMMAR (CFG) DAN PARSING
9. POHON PENURUNAN.
Pengurai Prediktif & Bottom Up Parsing (penguraian bawah atas)
Pertemuan 9 CONTEXT FREE GRAMMAR (CFG) Lanjutan..
CONTEXT- FREE LANGUAGE Yenni Astuti Version
Pertemuan 8 CONTEXT FREE GRAMMAR (CFG)
Komponen sebuah Kompilator
1 Pertemuan 11 CONTEXT FREE GRAMMAR (CFG) Lanjutan.. Matakuliah: T0162/Teori Bahasa dan Automata Tahun: 2005 Versi: 1/0.
BENTUK NORMAL CHOMSKY Teori Bahasa dan Otomata CHAPTER 6
KONSEP GRAMMAR & HIRARKI CHOMSKY
Teori-Bahasa-dan-Otomata
Bentuk Normal Chomsky (CNF)
KONSEP dan NOTASI BAHASA
TATA BAHASA BEBAS KONTEKS (CONTEXT FREE GRAMMAR)
Pengantar Teknik Kompilasi
Teori-Bahasa-dan-Otomata
GRAMMER ATAU TATA BAHASA
Sheila Nurul Huda, S.Kom, M.Cs
Bahasa Context Free.
Teori-Bahasa-dan-Otomata
Pengantar Teknik Kompilasi
TATA BAHASA BEBAS KONTEKS
Analisis Sintaks (Parsing)
MATERI PERKULIAHAN TEKNIK KOMPILASI
MATERI PERKULIAHAN TEKNIK KOMPILASI
Pengantar Teknik Kompilasi
ALGORITMA & PEMROGRAMAN 1C
Istiqomah, S.Kom [Teknik Kompilasi UNIKOM 2013]
MATERI PERKULIAHAN TEKNIK KOMPILASI
Pengantar Teknik Kompilasi
RESPONSI TEORI BAHASA & OPERASI MATEMATIS (2)
Pertemuan 10 CONTEXT FREE GRAMMAR (CFG) Lanjutan..
Pengantar Teknik Kompilasi
TEORI BAHASA & AUTOMATA
Konsep dan Notasi Bahasa
Pengantar Teknik Kompilasi
CONTEXT-FREE GRAMMAR (CFG) DAN PARSING
Pengenalan Kompilasi & Klasifikasi Tatabahasa Formal menurut Chomsky
Pengantar Teknik Kompilasi
KONSEP dan NOTASI BAHASA
Automata Hingga Deterministik (AHD)
Pengantar Teknik Kompilasi
Brute force 2/16/2019 Materi ke 5.
Grammar dan Bahasa Automata
Chomsky Normal Form (CNF) / Bentuk Normal Chomsky (BNC)
CONTEXT-FREE GRAMMAR (CFG) DAN PARSING
Pengantar Teknik Kompilasi
Chomsky Normal Form (CNF) / Bentuk Normal Chomsky (BNC)
CONTEXT-FREE GRAMMAR (CFG) DAN PARSING
Transcript presentasi:

Analisis Sintaksis By: Kustanto, S.T., M.Eng

Syntax Analyzer / Analisis Sintaksis Pengelompokan token-token kedalam class syntax (bentuk syntax), seperti procedure, Statement dan expression Grammar : sekumpulan aturan-aturan, untuk mendefinisikan bahasa sumber Grammar dipakai oleh syntax analyser untuk menentukan struktur dari program sumber Proses pen-deteksian-nya (pengenalan token) disebut dengan parsing 11/27/2018 Sintax Analyser

Analisis Sintaksis 11/27/2018 Sintax Analyser

Analisis Sintaksis Maka Syntax analyser sering disebut dengan Parser atau parsingparser Pohon sintaks yang dihasilkan digunakan untuk semantics analyser yang bertugas untuk menentukan ‘maksud’ dari program sumber. Misalnya operator penjumlahan maka semantics analyser akan mengambil aksi apa yang harus dilakukan 11/27/2018 Sintax Analyser

Contoh Terdapat statement : ( A + B ) * ( C + D ) Akan menghasilkan bentuk sintaksis: <factor>, <term> & <expression> 11/27/2018 Sintax Analyser

11/27/2018 Sintax Analyser

Pohon Sintaks (Derivation tree / syntax tree /parse tree) 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. Simbol variabel dinotasikan dengan huruf besar (kapital) Simbol terminal dinotasikan dengan huruf kecil, menempati posisi daun (leaf ) Simbol awal variabel S, menempati posisi puncak pohon (root) 11/27/2018

Proses Penurunan (Parsing) Proses penurunan (atau parsing) bisa dilakukan antara lain dengan cara: a. penurunan melalui arah kiri (leftmost deriva tion): simbol variabel terkiri yang diperluas lebih dulu. b. penurunan melalui arah kanan (rightmost derivation): simbol variabel terkanan yang diperluas lebih dulu. 11/27/2018

Parsing atau Proses Penurunan Penurunan kiri : S => aAS => aSbAS => aabAS => aaabbaS => aabbaa Penurunan kanan : S => aAS => aAa => aSbAa => aSbbaa => aabbaa 11/27/2018 Sintax Analyser

Contoh Tata bahasa bebas konteks memiliki aturan produksi: S  AB {S menurunkan variabel A B} A  aA | a {A menurunkan terminal a variabel A atau terminal a} B  bB | b {B menurunkan terminal b variabel B atau terminal b} 11/27/2018

Pohon Penurunan untuk untai “aabbb’ Berikut ini adalah gambar pohon penurunan untuk memperoleh untai ‘aabbb’ S  AB A  aA | a B  bB | b S A B a A b B a b B b 11/27/2018

Latihan 1 Diketahui tata bahasa bebas konteks (CFG, context free grammar) memiliki aturan produksi sebagai berikut: S aAS | a A SbA | ba Gambarkan pohon penurunan untuk memperoleh untai ‘aabbaa’ 11/27/2018

Jawaban latihan 1 Gambarkan pohon penurunan untuk untai ’aabbaa’ adalah sebagai berikut: 11/27/2018

Jawaban Latihan 1 Cara dengan penurunan terkiri: S  aAS | a A  SbA | ba 11/27/2018

Jawaban Latihan 1 Cara dengan arah penurunan terkanan: S  aAS | a A  SbA | ba 11/27/2018

Latihan 2 Diketahui tata bahasa bebas konteks memiliki aturan produksi: S  aB | bA A  a | aS | bAA B  b | bS | aBB Gambarkan pohon penurunan untuk untai ’aaabbabbba’ 11/27/2018

Latihan 3 Diketahui tata bahasa bebas konteks memiliki aturan produksi: S  aB | bA A  b | bS | aBB B  a | aS | bAA Gambarkan pohon penurunan untuk untai ’baaaabbbbb’ 11/27/2018

Parsing Parsing adalah konsturksi atau pembentukan Pohon Sintaks untuk suatu kalimat (ekspresi) Bila terdapat lebih dari satu pohon sintaks untuk sebuah grammar maka dikatakan grammar tersebut Ambiguous. Dua cara melakukan validitas sintaks dengan parsing : TOP DOWN Parsing : melakukan derivasi string dari NT BOTTOM UP Parsing : melakukan reduksi simbol ke NT 11/27/2018 Materi ke 3 Teori Bahasa & Automata

Parsing Top Down Jika  adalah input string, maka derivasi dari Top Down Parse dapat ditunjukkan sebagai berikut : S …  …  …   Parse Tree untuk Top Down Parsing selalu dimulai dari sebelah kiri S NT11 NT12 NT1n ……. NT21 t 1 2 3 11/27/2018 Materi ke 3 Teori Bahasa & Automata

Parsing Top Down (cont.) Contoh : Parsing Top Down untuk identifier x2 Derivasinya : <identifier>  <identifier><digit> <letter><digit>  x <digit>  x2 a. <identifier> <identifier> <digit> <letter> c <identifier> <digit> <letter> x d <identifier> <digit> <letter> x 2 e <identifier> <digit> b 11/27/2018 Materi ke 3 Teori Bahasa & Automata

Parsing Top Down (cont.) Contoh : ekspresi a + b * c grammar : E ::= T + E | T T ::= V * E | V V ::= <id> Prediction Prediction Sentential Form ET+E TV V<id> ET TV*T V <id> T V T+E V+E <id>+E <id>+T <id>+V*T <id>+<id>*T <id>+<id>*V <id>+<id>*<id> E T + V id * 11/27/2018 Materi ke 3 Teori Bahasa & Automata

Parsing Bottom Up Parsing Bottom Up membangun pohon sintaks melalui urutan simbol yang direduksi, atau dimulai dengan sebuah string hingga mencapai simbol start Grammar Contoh : diketahui identifier x2, dengan parsing bottom up menjadi : x 2 <letter> <identifier> <digit> x 2 <letter> <identifier> x 2 <letter> <identifier> <digit> x 2 <letter> x 2  x2  <letter>2  <identifier>2  <identifier><digit>  <identifier> a b c d e 11/27/2018 Materi ke 3 Teori Bahasa & Automata

Parsing Dengan Bruto Forse Metode ini akan memilih aturan produk mulai dari paling kiri, dan melakukan expand semua non terminal pada aturan produksi sampai yang tertinggal adalah simbol terminal 11/27/2018

Contoh S  aAd | aB A  b | c B  ccd | ddc Misalkan ingin dilakukan parsing untuk string: “accd”, Tahapan yang terjadi adalah sebagai berikut: 11/27/2018

Jawaban (i) S (ii) S (iii) S a A d a A d b Terjadi kegagalan (iii), dilakukan back track (iv) S (v) S (vi) S a A d a B a B c c c d Terjadi kegagalan lagi (iv), dilakukan back-track 11/27/2018 Sintax Analyser

Terimakasih 11/27/2018