MATERI PERKULIAHAN TEKNIK KOMPILASI

Slides:



Advertisements
Presentasi serupa
Kuliah 03 – Pengenalan Analisa Sintak
Advertisements

CONTEXT-FREE GRAMMAR (CFG) DAN PARSING
Chapter 6 Shift dan Reduksi.
Penguraian Bawah-Atas (Bottom-up Parsing)
Chapter 7 Penguraian LR.
Teori Bahasa dan Automata
Pengantar Teknik Kompilasi
TEORI BAHASA & OTOMATA (KONSEP & NOTASI BAHASA)
Pohon Urai (parse) dan Derivasi
POHON PENURUNAN.
Syntax Analyzer (Parser) - Dasar
Chapter 6: Operator precedence parsing
KONSEP dan NOTASI BAHASA
Natural Language Processing (Pemroses Bahasa Alami)
Komponen sebuah Kompilator
Analisis Leksikal.
Pengantar Teknik Kompilasi
CONTEXT-FREE GRAMMAR (CFG) DAN PARSING
Pengurai Prediktif & Bottom Up Parsing (penguraian bawah atas)
MATERI PERKULIAHAN TEKNIK KOMPILASI
MATERI PERKULIAHAN TEKNIK KOMPILASI
KONSEP GRAMMAR & HIRARKI CHOMSKY
MATERI PERKULIAHAN ALGORITMA & PEMROGRAMAN
TEORI BAHASA DAN AUTOMATA TATA BAHASA LEVEL BAHASA
KONSEP dan NOTASI BAHASA
By : Lisda Juliana Pangaribuan
Pengantar Teknik Kompilasi
Bahasa Context Free.
MATERI PERKULIAHAN TEKNIK KOMPILASI
Pengantar Teknik Kompilasi
Pengantar Teknik Kompilasi
Algoritma & Pemrograman 1
Analisis Sintaks (Parsing)
MATERI PERKULIAHAN TEKNIK KOMPILASI
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
MATERI PERKULIAHAN TEKNIK KOMPILASI
MATERI PERKULIAHAN TEKNIK KOMPILASI
Algoritma & Pemrograman 1
MATERI PERKULIAHAN TEKNIK KOMPILASI
Pengantar Teknik Kompilasi
Tata Bahasa Kelas Tata Bahasa
Pengantar Teknik Kompilasi
KODE ANTARA & PEMBANGKITAN KODE Ken Kinanti Purnamasari
MATERI PERKULIAHAN TEKNIK KOMPILASI
MATERI PERKULIAHAN TEKNIK KOMPILASI
MATERI PERKULIAHAN KECERDASAN BUATAN
MATERI PERKULIAHAN TEKNIK KOMPILASI
MATERI PERKULIAHAN SISTEM OPERASI
Konsep dan Notasi Bahasa
Pengantar Teknik Kompilasi
CONTEXT-FREE GRAMMAR (CFG) DAN PARSING
MATERI PERKULIAHAN TEKNIK KOMPILASI
Algoritma dan Pemrograman Kuliah ke 2
UJIAN TERDIRI ATAS 50 SOAL
Pengantar Teknik Kompilasi
Pengantar Teknik Kompilasi
Analisis Sintaksis By: Kustanto, S.T., M.Eng.
KONSEP dan NOTASI BAHASA
Pengantar Teknik Kompilasi
Automata Hingga Deterministik (AHD)
Pengantar Teknik Kompilasi
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 IMPLEMENTASI PARSER 5 Ken Kinanti Purnamasari

Fungsi yang menghasilkan simbol terminal pertama Fungsi FIRST ( ) Fungsi yang menghasilkan simbol terminal pertama dari suatu deret terminal & non terminal dalam penurunan grammar. Contoh : FIRST( a<B><C>) = {a}

Notasi Grammar <A> ::= <B> <A> ::= <C> <B> ::= x<B> <B> ::= y <C> ::= x<C> <C> ::= z FIRST (<B>) = { x, y } FIRST (<C><B>a) = { x, z } FIRST (<A>) = { x, y, z }

Fungsi yang menghasilkan simbol terminal pertama Fungsi FOLLOW ( ) Fungsi yang menghasilkan simbol terminal pertama yang muncul setelah simbol tertentu. Contoh : …  … <B>t …  … <B>x …  … <B>y Maka : FOLLOW(<B>) = { t,x,y }

Notasi Grammar <A> ::= <B> <A> ::= <C> <B> ::= x<B> <B> ::= y <C> ::= x<C> <C> ::= z FOLLOW(x) = { x,y,z } FOLLOW(<B>) = { }

LL(1) LEFT  Pemeriksaan string dimulai dari KIRI ke kanan LEFT  Jika ada 2 atau lebih simbol nonterminal, penurunan dimulai dari nonterminal ter-KIRI. 1  melihat 1 simbol

<A> ::= α1 | α2 | α3 | α4 | α5 … αn Aturan LL(1) 1) Jika ada rule sebagai berikut : <A> ::= α1 | α2 | α3 | α4 | α5 … αn maka : FIRST (αi) ∩ FIRST (αj) = Ø dimana i, j = 1 .. n dan i ≠ j

Aturan LL(1) 2) Jika <A> ::= <B>x dan <B> * Ɛ maka : FOLLOW (<B>) ∩ FIRST(<B>) = Ø

<T> * <F> id Top Down Grammar <E> ::= <E> + <T> <E> ::= <T> <T> ::= <T> * <F> <T> ::= <F> <F> ::= ( <E> ) <F> ::= id Maka, untuk string id * id + id ? <E> <E> + <T> <T> <F> <T> * <F> id <F> id id

Bottom Up Grammar <E> ::= <E> + <T> <T> ::= <T> * <F> <T> ::= <F> <F> ::= ( <E> ) <F> ::= id Maka, untuk string id * id + id ? <E> <T> <T> <T> <F> <F> <F> id * id + id

Implementasi T(terminal); T(simple production(A)); A(); if terminal = masukan then read(masukan, file) else write (‘ERROR’); T(simple production(A)); A(); Catatan : Semua simbol non terminal dijadikan prosedur. Isinya adalah ruas kanan dari simbol non terminal tersebut.

Implementasi 3) T(α1 | α2 | α3 … αn) case masukan of FIRST(α1) : T(α1) . endcase

Implementasi 4) T(α1 α2 α3 … αn) T(α1) T(α2) . T(αn)

Contoh Tampilan Implementasi

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

Tugas Kelompok Buatlah program Parser dalam bahasa C atau Pascal berdasarkan grammar / diagram sintaks pada tugas sebelumnya! (Kumpulkan 1 CD / kelas)