Kamis, 17 September 2015
hanya tester
Semangat cari ilmu dunia harus,tapi ilmu agama yg utama dan wajib..
(Semangat semster 7)
Kamis, 29 Januari 2015
TOKENIZING & PARSE TREE TEKNIK KOMPILASI
Nama : Asep dadan
Nim : -
Kelas : M1 (Malam)
Semester : V (Lima)
M_Kul : Teknik Kompilasi
Dosen : Didin Maryadi, S. Pd
Soal Latihan :
If A >= B then
Y := A / B * C – D + E
Else
Y := A * B – C + D / E;
Pertanyaan :
Bagaimana Penguraian ke dalam bentuk Token (tokenizing) ?
Gambarkan Parse tree untuk intruksi baris ke 2 ?
Tuliskan hasil dari Three Adress Code pada instruksi baris ke 2 ?
Tuliskan Hasil dari Three Adress Code yang telah di optimisasi dari Intruksi baris ke 2 ?
Tuliskan hasil dari Code Generation untuk instruksi baris ke 2 ke dalam bahasa assembly dengan bantuan instruksi :
MOV untuk memasukkan nilai ke register
ADD untuk menambahkan nilai ke register.
SUB untuk mengurangi nilai ke register
MUL untuk mengalikan nilai ke register
DIV untuk membagi nilai ke register
STO untuk mengisikan hasil perhirungan nilai ke register
JAWABAN:
Penguraian ke dalam bentuk token disebut TOKENIZING ?
Indentifier : If, Then, Else
Constants : A B C D E Y
Operator : :=, / * - + >=
Puctuation : ;
Brackets : [ , ]
Gambar Parse tree untuk intruksi baris ke 2 ?
Y := A * B – C + D / E;
Dimana:
Id1 :=id2 * d3 – d4 + d5 / d6;
S
Id1 := E ;
* - + /
d2 d3 d4 d5 d6
hasil dari Three Adress Code pada instruksi baris ke 2 ?
Y := A * B – C + D / E;
Jawab:
T1:= A + B -C
T2:= T1 + D / E;
X := T2
Tuliskan Hasil dari Three Adress Code yang telah di optimisasi dari Intruksi baris ke 2 ?
Jawab:
Instruksi ke 2 dapat diringkas (dioptimalkan) menjadi :
X := T1 + D / E
Tuliskan hasil dari Code Generation untuk instruksi baris ke 2 ke dalam bahasa assembly dengan bantuan instruksi ?
MOV untuk memasukkan nilai ke register
ADD untuk menambahkan nilai ke register.
SUB untuk mengurangi nilai ke register
MUL untuk mengalikan nilai ke register
DIV untuk membagi nilai ke register
STO untuk mengisikan hasil perhirungan nilai ke register
Y := A * B – C + D / E;
Jawab:
MOV = untuk memasukkan nilai ke register Y := A * B – C + D / E;
ADD = Add untuk menambahkan C+D
SUB = Sub untuk mengurangi B - C
MUL = Mull untuk mengalikan A * B
DIV = Div untuk membagi D / E
STO = Hasil perhitungan nilai ke register Y
Langganan:
Postingan (Atom)