Top Banner
KONSEP dan NOTASI BAHASA
28

KONSEP dan NOTASI BAHASA

Jan 02, 2016

Download

Documents

gemma-hinton

KONSEP dan NOTASI BAHASA. Konsep dan Notasi bahasa. Teknik Kompilasi merupakan kelanjutan dari konsep-konsep yang telah kita pelajari dalam teori bahasa dan automata Thn 56-59 Noam chomsky melakukan penggolongan tingkatan dalam bahasa , yaitu menjadi 4 class - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: KONSEP  dan NOTASI BAHASA

KONSEP dan NOTASI BAHASA

Page 2: KONSEP  dan NOTASI BAHASA

Konsep dan Notasi bahasa

Teknik Kompilasi merupakan kelanjutan dari

konsep-konsep yang telah kita pelajari dalam

teori bahasa dan automata

Thn 56-59 Noam chomsky melakukan

penggolongan tingkatan dalam bahasa, yaitu

menjadi 4 class

Penggolongan tingkatan itu disebut dengan

hirarki Comsky

Page 3: KONSEP  dan NOTASI BAHASA

Konsep dan Notasi bahasa 1959 Backus memperkenalkan

notasi formal baru untuk syntax

bahasa yang lebih spesifik

Peter Nour (1960) merevisi

metode dari syntax. Sekarang

dikenal dengan BNF (backus Nour

Form)

Page 4: KONSEP  dan NOTASI BAHASA

Konsep dan Notasi bahasa Tata bahasa (grammar) adalah

sekumpulan dari himpunan variabel-

variabel, simbol-simbol terminal, simbol

non-terminal, simbol awal yang dibatasi

oleh aturan-aturan produksi

Aturan produksi adalah pusat dari tata

bahasa yang menspesifikasikan bagaimana

suatu tata bahasa melakukan transformasi

suatu string ke bentuk lainnya

Page 5: KONSEP  dan NOTASI BAHASA

Konsep dan Notasi bahasa

Syntax : suatu aturan yang memberitahu

apakah sesuatu kalimat (string) adalah

valid dalam program atau tidak

Semantic : suatu aturan-aturan yang

memberikan arti kepada program

Page 6: KONSEP  dan NOTASI BAHASA

Review Mesin Automata Misal : FSA

Misal :Ada mesin penjual permen yang Memuat aturan2 sbb :Harga Permen Rp.25Mesin tsb dpt menerima koinRp.5 (n),Rp.10 (d)Rp.25 (q)$ = tombol utk mengeluarkan permen.

Kemungkinan2 yang Terjadi diperlihatkan gambar :

Page 7: KONSEP  dan NOTASI BAHASA

Review Mesin Automata Misal : FSAFSA State Diagram nya adalah :

Page 8: KONSEP  dan NOTASI BAHASA

Contoh lain : FSA

Page 9: KONSEP  dan NOTASI BAHASA

Penggolongan Chomsky Bahasa Mesin Automata Aturan Produksi

Konsep dan Notasi bahasa

Tipe 3 Atau Regular

Finite state automata (FSA) meliputi; deterministic Finite Automata (DFA) & Non Deterministic Finite Automata (NFA)

adalah simbol variabel maksimal memiliki sebuah simbol variabel yang bila ada terletak diposisi paling kanan

Tipe 2 Atau Contex Free

Push Down Automata adalah simbol variabel

Tipe 1 Atau Contex Sensitive

Linier Bounded Automata | | <= | |

Tipe 0 Atau Unrestricted/ Phase Structure/ natural language

Mesin Turing Tidak ada Batasan

Page 10: KONSEP  dan NOTASI BAHASA

Keterangan menyatakan simbol – simbol yang

berada di ruas kiri aturan produksi menyatakan simbol – simbol yang

berada di ruas kanan aturan produksiSimbol-simbol terdiri dari simbol

terminal dan non terminal/variabel (masih bisa diturunkan lagi)

Simbol terminal biasanya dinyatakan dengan huruf kecil, sementara non terminal dengan huruf besar

Page 11: KONSEP  dan NOTASI BAHASA

Aturan Produksi

Tipe O / Unrestricted: Tidak Ada

batasan pada aturan produksi Abc De

Tipe 1 / Context sensitive: Panjang

string ruas kiri harus lebih kecil atau

sama dengan ruas kananAb DeFCD eF

Page 12: KONSEP  dan NOTASI BAHASA

Aturan Produksi Tipe 2 / Context free grammar: Ruas kiri

haruslah tepat satu simbol variableB CDeFgD BcDe

Tipe 3 / Regular: Ruas kanan hanya

memiliki maksimal 1 simbol non terminal

dan diletakkan paling kanan sendiriA eA efgA efgHC D

Page 13: KONSEP  dan NOTASI BAHASA

Aturan produksi yang tidak legal !!!

Simbol E tidak boleh berada pada ruas kirimisal E Abd

Aturan produksi yang ruas kirinya hanya memuat simbol terminal saja misal : a bd atau ab bd

Page 14: KONSEP  dan NOTASI BAHASA

Hirarki Comsky

RegularRegular

Context free

Context Sensitive

Unrestricted

Page 15: KONSEP  dan NOTASI BAHASA

Contoh Tata Bahasa Sederhana

<program> BEGIN <Statement-list> END

<Statement-list> <statement> | <statement>; <statement-list> <statement> <var> := <expression> <Expression> <term> | <term><op1> <expression> <term> <factor> | <factor> <op2> <term> <factor> <var> | <constant>

<var> A|B| ….| Z <op1> + | - | = <op2> ^ | * | / <constant> <real_number> | <integer_part>

<real_number> <integer_part> . <fraction> <integer_part> <digit> | <integer_part> < digit> <fraction> <digit> | <digit> <fraction> <digit> 0|1|….|9

Page 16: KONSEP  dan NOTASI BAHASA

Contoh

BeginA := 1;B := A + 2

END

Page 17: KONSEP  dan NOTASI BAHASA

Diagram State

Digunakan untuk mendapatkan

token, mempermudah

melakukan analisis lexical

Token adalah simbol terminal

dari teori bahasa dan automata

Page 18: KONSEP  dan NOTASI BAHASA

S

ID

INT

PLUS

MINUS

+

-

huruf

Digit

Huruf, Digit

DigitBlank

Contoh : suatu tata bahasa memiliki himpunan simbol terminal/token berikut (ID, PLUS, MINUS, dan INT)token ID untuk karakter huruf a-z, 0-9, token INT untuk digit, token PLUS untuk Penjumlahan dan token MINUS untuk Pengurangan

Page 19: KONSEP  dan NOTASI BAHASA

Notasi BNF (Backus-Nour Form)

Aturan Produksi bisa dinyatakan dengan

notasi BNF

BNF menggunakan abstraksi untuk struktur

syntax

::= sama identik dengan simbol

| sama dengan atau

< > pengapit simbol non terminal

{ } Pengulangan dari 0 sampai n kali

Page 20: KONSEP  dan NOTASI BAHASA

Notasi BNF (Backus-Nour Form)

Misalkan aturan produksi sbb:

E T | T+E | T-E

T a

Notasi BNFnya adalah

E ::= <T> | <T> + <E> |

<T> - <E>

T ::= a

Page 21: KONSEP  dan NOTASI BAHASA

Diagram Syntax

Alat bantu (tools) dalam pembuatan parser/

analisis sintaksis

Menggunakan simbol persegi panjang untuk non

terminal

Lingkaran untuk simbol terminal

Misalnya

E T | T+E | T-E

T

+

-

E

Page 22: KONSEP  dan NOTASI BAHASA

BNF: <Block> ::= BEGIN <statement> { SEMICOL

<statement>} END

BEGIN Statement END

;

Page 23: KONSEP  dan NOTASI BAHASA

Kualitas dari Compiler

Waktu yang dibutuhkan untuk

kompilasi; tergantung dari

Algoritma compiler

Pembuat (compilator)

Compiler itu sendiri

Page 24: KONSEP  dan NOTASI BAHASA

Kualitas dari Compiler

Kualitas dari obyek program yang

dihasilkan

Ukuran yang dihasilkan

Fasilitas-fasilitas Integrasi yang

lainnya

IDE (integrated Development

Environment)

Page 25: KONSEP  dan NOTASI BAHASA

Struktur COMPILER

Source programSource program

Lexical Analysis(scanner)

Syntax Analysis

(parser)

Intermediatecode

Code Optimization

CodeGeneration

Object codeObject code

Page 26: KONSEP  dan NOTASI BAHASA

Keterangan

Lexical Analyzer = scanner, Syntax Analyzer, dan

Intermediate Code merupakan fungsi Analisis

dalam compiler, yang bertugas mendekomposisi

program sumber menjadi bagian-bagian kecil

Code generation dan Code optimization adalah

merupakan fungsi synthesis yang berfungsi

melakukan pembangkitan / pembuatan dan

optimasi program (object program)

Page 27: KONSEP  dan NOTASI BAHASA

Keterangan

Scanner adalah mengelompok-an

program asal/sumber menjadi

token

Parser (mengurai) bertugas

memeriksa kebenaran dan urutan

dari token-token yang terbentuk

oleh scanner

Page 28: KONSEP  dan NOTASI BAHASA

MINGGU DEPAN TES HASIL BELAJAR(KUIS)