Teknik Kompilasi. Notasi Bahasa

dokumen-dokumen yang mirip
Teknik Kompiler 5. oleh: antonius rachmat c, s.kom, m.cs

Tata Bahasa Kelas Tata Bahasa. Konsep Bahasa (1)

SINTAKS. Sintaks dari bahasa pemrograman di defenisikan dengan 2 kumpulan aturan, yaitu:

Alat bantu (tools) dalam pembuatan parser/ analisis sintaksis. Menggunakan simbol persegi panjang untuk non terminal

TEKNIK KOMPILASI Konsep & Notasi Bahasa

Hirarki Comsky. Unrestricted. Context Sensitive Context free Regular

SINTAKS. Sintaks dari bahasa pemrograman di defenisikan dengan 2 kumpulan aturan, yaitu:

ALGORITMA PEMROGRAMAN 1C SINTAKS

TEORI BAHASA & OTOMATA (KONSEP & NOTASI BAHASA) PERTEMUAN IX Y A N I S U G I Y A N I

TEKNIK KOMPILASI Bahasa Regular

Grammar dan Tingkat Bahasa

Komponen sebuah Kompilator

UNIVERSITAS GUNADARMA

TEKNIK KOMPILASI Tony Darmanto,ST / Smt V S1 TI / STMIK WIDYA DHARMA/ Hal 16

Bahasa adalah kumpulan kalimat. Kalimat adalah rangkaian kata. Kata adalah komponen terkecil kalimat yang tidak bisa dipisahkan lagi.

anggota alfabet dinamakan simbol terminal atau token.

Teori Bahasa dan Otomata 1

TEORI BAHASA DAN AUTOMATA

BAB II SINTAKS 2.1. SINTAKS

21/11/2016. Pohon Sintaks. Syntax?? Proses Penurunan. Analisis Syntax (Parser) Metode Parsing ANALISIS SINTAKS TEKNIK KOMPILASI

BAB 2. ANALISIS LEKSIKAL

Konsep dan Notasi Bahasa. Istiqomah, S.Kom

PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR

MK. PEMROGRAMAN SISTEM Semester/SKS : 6/3 COMPILER. Jurusan Sistem Komputer S1 Universitas Gunadarma

BAB I PENDAHULUAN 1-1

PENDAHULUAN. Terdapat tiga topik utama di teori otomata yaitu:

MODUL MATA KULIAH TEORI BAHASA DAN OTOMATA DOSEN:

Sumarni Adi TEKNIK INFORMATIKA STMIK AMIKOM YOGYAKARTA 2013

BAB II ANALISA LEKSIKAL (SCANNER)

Dasar Teori Bahasa & Grammar

KONSEP GRAMMAR DAN BAHASA

Teori Bahasa dan Otomata

Aplikasi Rekursif dalam Analisis Sintaks Program

BAB I TEORI BAHASA DAN AUTOMATA

TEORI BAHASA & OTOMATA (PENGENALAN KOMPILASI) PERTEMUAN VI Y A N I S U G I Y A N I

Tujuan perancangan bhs program

TEKNIK KOMPILASI. Muhamad Nursalman Ilmu Komputer FPMIPA - UPI

PERANCANGAN SISTEM PERBAIKAN ERROR KODE SUMBER PROGRAM OTOMATIS

KOMPILASI. Assembler Bahasa Rakitan Bahasa Mesin Compiler (Kompilator) Bahasa Tingkat Tinggi Bahasa tingkat rendah

Teknik Informatika PERTEMUAN 2. TEORI BAHASA & OTOMATA Imam Riadi, M.Kom Shofwatul Uyun, M.Kom. Teknik Informatika

IF-UTAMA 1. Definisi. Grammar. Definisi

TEKNIK KOMPILASI Tony Darmanto,ST / Smt V S1 TI / STMIK WIDYA DHARMA/ Hal 1

Syntax, Semantic & Grammar. Konsep Bahasa Pemrograman Materi 3 Yudianto Sujana, M.Kom

Tabel Informasi. Hal di atas dapat dilakukan dengan menambah dan mengambil atribut identifier yang digunakan pada program, melalui tabel informasi.

Proses Kompilasi. Otomata dan Pengantar Kompulasi Pertemuan 3

Aplikasi Pengubah Bentuk Normal Chomsky Menjadi Bentuk Normal Greibach dengan Metode Substitusi

TEORI BAHASA DAN OTOMATA [TBO]

TEORI BAHASA DAN OTOMATA [TBO]

BAB II TINJAUAN PUSTAKA. konsep, fakta, termasuk simbol simbol serta aturan agar mempunyai makna.

TEORI BAHASA DAN OTOMATA [TBO]

TEORI BAHASA DAN AUTOMATA

Struktur Data. PDE - Struktur Data 1

Teknik Kompilasi Dosen: Utami Dewi W.,S.Kom

EKSPRESI REGULAR PADA SUATU DETERMINISTIC FINITE STATE AUTOMATA

Sebuah bahasa dinyatakan regular jika terdapat finite state automata yang dapat menerimanya. Bahasa-bahasa yang diterima oleh suatu finite state

BAB I PENGENALAN TEKNIK KOMPILASI

Analisis Sintaksis (syntactic analyzer atau parser)

Struktur Program. Rinta Kridalukmana

Teknik Kompilasi II TEKNIK KOMPILASI. Ernastuti & Sulistyo P 1/52. Ernastuti & Sulistyo

BAB II DASAR TEORI. 2.1 Kompilator

Teknik Kompiler 8. oleh: antonius rachmat c, s.kom

TEKNIK KOMPILASI PERTEMUAN Ke 4 dan 5 Abdul Muis Mappalotteng ANALISIS SEMANTIK

BAB IV ANALISA SINTAKS

Pemodelan CNF Parser dengan Memanfaatkan Pohon Biner

SEMANTIK. Sintak mendifinisikan suatu bentuk program yang benar dari suatu bahasa.

PENYEDERHANAAN Context Free Grammar

Teknik Kompiler 6. oleh: antonius rachmat c, s.kom

Teori Komputasi 10/15/2015. Bab 1: Pendahuluan. Teori Komputasi dan Teknik Kompilasi. Teori Komputasi dan Teknik Kompilasi

PENGANTAR KOMPUTER & SOFTWARE I REPRESENTASI DATA

MODUL 17. BAHASA-BAHASA REKURSIF DAN RECURSIVELY ENUMERABLE

TEORI BAHASA & AUTOMATA

GRAMMAR AND LANGUAGE

PENGANTAR KOMPUTER & SOFTWARE I REPRESENTASI DATA

VARIABEL, TIPE DATA, KONSTANTA, OPERATOR DAN EKSPRESI. Pemrograman Dasar Kelas X Semester 2

TEORI BAHASA DAN OTOMATA [TBO]

LANGUAGES AND TRANSLATOR

Type Data terdiri dari : - Data Tunggal : Integer, Real, Boolean dan Karakter. - Data Majemuk : String

Bab III Semantik. Konsep Semantik Bahasa Pemrograman (Semantik Analisis)

1, 2, 3

SEMANTIK. Int vector[10];

MODEL KOMPILATOR FUNGSI UMUM BAGIAN KOMPILATOR. Dosen Pengampu: Utami Dewi Widianti,S.Kom

BAB 1 PENDAHULUAN. sederhana adalah kelas bahasa reguler (regular languages). Bahasa reguler dapat dengan

BAB III ANALISIS DAN PERANCANGAN APLIKASI 3.1 ANALISIS

RENCANA PEMBELAJARAN SEMESTER

UNIVERSITAS BINA NUSANTARA. Program Ganda Teknik Informatika Matematika Skripsi Sarjana Program Ganda Semester Genap 2003/2004

Teknik Kompiler 12. oleh: antonius rachmat c, s.kom

BAB V CONTEXT FREE GRAMMAR DAN PUSH DOWN AUTOMATA

TEORI BAHASA DAN OTOMATA PENGANTAR

Penerapan Graf Transisi dalam Mendefinisikan Bahasa Formal

Non-deterministic Finite Automata Dengan -Move

SMA SANTO PAULUS PONTIANAK

JENIS DATA SEDERHANA & INPUT/OUTPUT DATA

FINITE STATE MACHINE / AUTOMATA

BAB VI CARA PENANGANAN KESALAHAN

Perjalanan sebuah intruksi

disebut ternary operator. Di dalam suatu operasi dapat terdapat banyak operator. Urutan eksekusi dari operatoroperator

Pendahuluan [6] FINITE STATE AUTOMATA. Hubungan RE & FSA [5] Finite State Diagram [6] 4/27/2011 IF-UTAMA 1

Komentar Program. Komentar program dapat diletakkan dimanapun di dalam program. pembatas (* dan *).

ALGORITMA PEMROGRAMAN 1C SEMANTIKS

Dasar Komputer dan Pemrograman. Konsep Tipe Data dan Operator Nama dan Nilai Data

Transkripsi:

Teknik Kompilasi Notasi Bahasa

TATA BAHASA Tata bahasa / Grammar dalam OTOMATA adalah kumpulan dari himpunan variabel (non-terminal), simbol-simbol awal dan terminal yang dibatasi oleh aturan-aturan produksi. Grammar digunakan untuk mendefinisikan bahasa. Aturan produksi menspesifikasikan bagaimana suatu tata bahasa mentransformasikan suatu string ke bentuk lainnya. Biasanya aturan produksi diberi simbol: α β dimana α adalah aturan produksi sebelah kiri dan β adalah aturan produksi sebelah kanan aturan produksi sebelah kir menghasilkan aturan produksi sebelah kanan. Simbol-simbol dalam aturan produksi dapat berupa simbol terminal maupun non terminal.

TATA BAHASA (2) Simbol terminal sudah tidak dapat diturunkan lagi. Simbol non-terminal dapat diturunkan lagi sampai menjadi simbol terminal. Simbol terminal biasanya ditulis dalam huruf kecil, sedangkan simbol non-terminal biasanya ditulis dalam huruf besar. Contoh simbol terminal : a,b,c,d,e, dan seterusnya. Contoh simbol non-terminal : A,B,C,D,E, dan seterusnya.

OTOMATA Untuk memodelkan hardware dari komputer diperkenalkanlah otomata / automata. Otomata adalah suatu sistem yang memiliki fungsi-fungsi komputer digital. Karaketeristik Otomata : Menerima input. Menghasilkan output. Mempunyai penyimpanan sementara (buffer) Mampu membuat keputusan dalam mentransformasikan input ke output.

OTOMATA (2) Otomata merupakan suatu sistem yang terdiri atas sejumlah berhingga state, dimana setiap state menyatakan informasi tentang input sebelumnya, dan dapat dianggap sebagai memori mesin. Contoh:

OTOMATA (3) Jika mesin mendapat string : ada maka diterima adu maka diterima add maka ditolak Aturan: input string diterima jika dan hanya jika mencapai state akhir yang disimbolkan dengan lingkaran ganda. Keterangan: Mesin diatas memiliki 6 state {q1,q2,q3,q4,q5,q6}. Mesin memiliki state awal q1 Mesin memiliki state akhir {q4,q6} Mesin memiliki himpunan input contohnya : {a,d,d}

Contoh Automata lain Contoh pada bahasa C: int a,b; type q2 var Q1 ; Q3 var, Q4 State awal: Q1, State akhir: Q1

Hirarki Chomsky Pada tahun 1959 Noam Chomsky menggolongkan tingkatan bahasa menjadi empat yaitu:

Hirarki Chomsky (2) Catatan : ε Abc adalah ilegal karena ε adalah himpunan kosong dan tidak bisa diturunkan lagi. a bd atau ab Bd adalah ilegal karena ruas kiri berupa simbol terminal, padahal seharusnya ruas simbol terminal sudah tidak bisa diturunkan lagi.

Token, Lexem, Diagram Lexem adalah substring dari suatu string besar, menjadi satu bagian tertentu yang memiliki arti Token adalah suatu nama (identifier) yang sudah didefinisikan fungsionalitasnya dan merupakan kumpulan dari lexem-lexem. source Lexical analyzer token Parser/scanner Parse tree Rest of front end Intermediate representation program Get next token Symbol Table

Token & Lexem Contoh non-token: White space character : space, tab, end-of-line Comments Contoh input : If distance >= rate*(end_time start_time) then distance:= maxdist; Output Lexem : if, distance, >=, rate, *, (, end_time, -, start_time, ), then, distance, :=, maxdist, ; Output Token : If_op, id_var (distance,rate,end_time, start_time, maxdist), gt_op (>=), optr (*, -), assig_op (:=), block_op ( (, ) ), then_op, end_op

Scanner Token dan source code akan menjadi input bagi proses berikutnya, yaitu parser. Parser akan menerima hasil analisis lexical dalam bentuk: If_op id_var1 gt_op id_var2 optr_1 block_op1 id_var2 optr_2 id_var3 block_op2 then_op id_var3 assig_op id_var3 end_op Scanner lebih mudah diimplementasikan pada Finite State Automata dan aturan-aturan tokennya ditulis dengan menggunakan RE.

Lexem, Operator, dan Delimiter Jenis-jenis Lexem: Identifier Bisa berupa keyword atau nama variabel. Keywords adalah kata-kata yang sudah didefinisikan oleh program, sedangkan variabel adalah kata-kata yang didefinisikan oleh programmer. Nilai konstanta Adalah nilai yang bersifat konstan. Dapat berupa integer, real, boolean, karakter, ataupun string. Contoh: N := 0.333; kata := malam ; selesai := TRUE; A := 1 * 2 + 3; Operator dan Delimitter Operator : +, -, *, /, <, <=, >=, >, = dan lain-lain. Delimiter : (, ), ;, dan lain-lain.