MATERI PERKULIAHAN TEKNIK KOMPILASI ANALISIS LEKSIKAL Scanner 2
- Slides: 17
MATERI PERKULIAHAN TEKNIK KOMPILASI ANALISIS LEKSIKAL / Scanner 2 Ken Kinanti Purnamasari
Proses Kompilasi
Komponen Kompilator
Analisis Leksikal - Membaca input karakter dari source-code - Mengelompokkan ke dalam leksem-leksem (token-token)
Analisis Leksikal
Finite Automata FA Tools/model pendukung Scanner Deterministik FA (DFA) setiap input punya 1 alternatif Non-Deterministik FA (NFA) setiap input punya > 1 alternatif
DFA A = (Q , �� , q 0, F) Keterangan : Q : Kumpulan Status �� : Kumpulan String �� : Fungsi Transisi q 0 : Status Awal (harus 1) F : Status Final (boleh > 1)
Contoh Status 1 Status 2 Status 3 TIDUR MAKAN BELAJAR Contoh DFA : BANGUN TIDUR q 0 MAKAN TIDUR F
Regular Expression an a sebanyak n a* a sebanyak 0 sampai tak hingga a+ a sebanyak 1 sampai tak hingga 111 | 222 ada sebanyak 2 pilihan, 111 atau 222
Regular Expression {a, b}* = { Ɛ, a, b, aa, bb, … } {ab}* = { Ɛ, abab, ababab, … } {ac, bd}* = { Ɛ, ac, bd, acbd, bdac, … } {ab*c} = { ac, abbc, abbbc, … } {(ab)*c} = { c, ababc, abababc, … }
Regular Expression V = {a} K = {b} {V ⋃ K} = {a, b}
Contoh DFA 1 1 0* 0 q 0 1 1 1* 0 q 1 1 q 2 1 q 0 1 q 1 0 q 2
Contoh DFA Token Operator < A < Mengenali Token < = Mengenali Token <= > Mengenali Token <>
Contoh DFA Bahasa Pemrograman A < q. B 1 Operator = > = < q. C 2 Operator <= q. D 2 Operator <> q. F 2 Operator == E = ….
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 PERORANGAN Buat DFA untuk mengenali simbol-symbol (54) berikut dalam bahasa C atau Pascal: intcon, realcon, charcon, stringt, notsy, plus, minus, times, idiv, rdiv, imod, andsy, orsy, egl, neg, gtr, geg, lss, leg, lparent, rparent, lbrack, rbrack, comma, semicolon, period, colon, becomes, constsy, typesy, varsy, functionsy, proceduresy, arraysy, recordsy, programsy, ident, beginsy, ifsy, casesy, repeatsy, whilesy, forsy, endsy, elsesy, untilsy, ofsy, dosy, tosy, downtosy, thensy, typeint, typechar, typereal
- Analisis leksikal dalam teknik kompilasi
- Pengantar teknik kompilasi
- Analisis semantik teknik kompilasi
- Teknik optimasi pada teknik kompilasi
- Tabel informasi
- Notasi quadruples
- Analisis semantik teknik kompilasi
- Konsep dan notasi bahasa teknik kompilasi
- Soal uas pengantar teknik kompilasi gunadarma
- Contoh program teknik kompilasi
- Notasi postfix teknik kompilasi
- Notasi quadruples
- Notasi postfix teknik kompilasi
- Diagram sintaks teknik kompilasi
- Analisis leksikal
- Contoh analisis leksikal
- Analisis leksikal
- Scanner keyboard = new scanner(system.in);