1 / 28

KONSEP dan NOTASI BAHASA

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

Télécharger la présentation

KONSEP dan NOTASI BAHASA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. KONSEP dan NOTASI BAHASA

  2. KonsepdanNotasibahasa • TeknikKompilasimerupakankelanjutandarikonsep-konsep yang telahkitapelajaridalamteoribahasadan automata • Thn 56-59 Noam chomskymelakukanpenggolongantingkatandalambahasa, yaitumenjadi 4 class • PenggolongantingkatanitudisebutdenganhirarkiComsky

  3. KonsepdanNotasibahasa • 1959 Backus memperkenalkannotasi formal baruuntuk syntax bahasa yang lebihspesifik • Peter Nour (1960) merevisimetodedari syntax. Sekarangdikenaldengan BNF (backusNour Form)

  4. 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

  5. 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

  6. Review Mesin Automata  Misal : FSA Misal : Ada mesin penjual permen yang Memuat aturan2 sbb : Harga Permen Rp.25 Mesin tsb dpt menerima koin Rp.5 (n), Rp.10 (d) Rp.25 (q) $ = tombol utk mengeluarkan permen. Kemungkinan2 yang Terjadi diperlihatkan gambar :

  7. Review Mesin Automata  Misal : FSA FSA State Diagram nya adalah :

  8. Contoh lain : FSA

  9. Konsep dan Notasi bahasa Penggolongan Chomsky Bahasa Mesin Automata Aturan Produksi

  10. Keterangan • menyatakan simbol – simbol yang berada di ruas kiri aturan produksi •  menyatakan simbol – simbol yang berada di ruas kanan aturan produksi • Simbol-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

  11. AturanProduksi • Tipe O / Unrestricted: TidakAdabatasanpadaaturanproduksi Abc De • Tipe 1 / Context sensitive: Panjang string ruaskiriharuslebihkecilatausamadenganruaskanan AbDeF CD  eF

  12. AturanProduksi • Tipe 2 / Context free grammar: Ruaskiriharuslahtepatsatusimbol variable B CDeFg D BcDe • Tipe 3 / Regular: Ruaskananhanyamemilikimaksimal 1 simbol non terminal dandiletakkan paling kanansendiri A  e A efg A efgH C  D

  13. Aturan produksi yang tidak legal !!! • Simbol E tidak boleh berada pada ruas kiri misal E Abd • Aturan produksi yang ruas kirinya hanya memuat simbol terminal saja misal : a  bd atau ab  bd

  14. HirarkiComsky Unrestricted Regular Context Sensitive Context free Regular

  15. 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

  16. Contoh Begin A := 1; B := A + 2 END

  17. Diagram State • Digunakan untuk mendapatkan token, mempermudah melakukan analisis lexical • Token adalah simbol terminal dari teori bahasa dan automata

  18. ID PLUS huruf + S Huruf, Digit Digit INT - MINUS Blank Digit 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

  19. Notasi BNF (Backus-Nour Form) • AturanProduksibisadinyatakandengannotasi BNF • BNF menggunakanabstraksiuntukstruktur syntax ::=samaidentikdengansimbol | samadenganatau < >pengapitsimbol non terminal { }Pengulangandari 0 sampai n kali

  20. Notasi BNF (Backus-Nour Form) Misalkanaturanproduksisbb: E  T | T+E | T-E T  a NotasiBNFnyaadalah E ::= <T> | <T> + <E> | <T> - <E> T ::= a

  21. E T + - Diagram Syntax • Alat bantu (tools) dalampembuatan parser/ analisissintaksis • Menggunakansimbolpersegipanjanguntuk non terminal • Lingkaranuntuksimbol terminal Misalnya E  T | T+E | T-E

  22. BEGIN Statement END ; BNF: <Block> ::= BEGIN <statement> { SEMICOL <statement>} END

  23. Kualitasdari Compiler • Waktu yang dibutuhkanuntukkompilasi; tergantungdari • Algoritma compiler • Pembuat (compilator) Compiler itusendiri

  24. Kualitasdari Compiler • Kualitasdariobyek program yang dihasilkan • Ukuran yang dihasilkan • Fasilitas-fasilitasIntegrasi yang lainnya • IDE (integrated Development Environment)

  25. Source program Lexical Analysis (scanner) Syntax Analysis (parser) Table management Error Handling Intermediate code Code Optimization Code Generation Object code Struktur COMPILER

  26. Keterangan • Lexical Analyzer = scanner, Syntax Analyzer, dan Intermediate Code merupakanfungsiAnalisisdalam compiler, yang bertugasmendekomposisi program sumbermenjadibagian-bagiankecil • Code generation dan Code optimization adalahmerupakanfungsi synthesis yang berfungsimelakukanpembangkitan / pembuatandanoptimasi program (object program)

  27. Keterangan • Scanner adalahmengelompok-an program asal/sumbermenjadi token • Parser (mengurai) bertugasmemeriksakebenarandanurutandari token-token yang terbentukoleh scanner

  28. MINGGU DEPAN TES HASIL BELAJAR(KUIS)

More Related