Aturan Semantik: ContextChecking Cx. C0 masuk ke suatu scope C1 option mencetak tabel simbol (tabSim) scope ybs C2 keluar daru suatu scope C3 periksa.

Slides:



Advertisements
Presentasi serupa
BINTEK KAMPANYE, PEMBENTUKAN KPPS DAN TUNGRA PEMILIHAN BUPATI GARUT TAHUN 2013 Komisi Pemilihan Umum Kabupaten Garut.
Advertisements

Pseudo Elastic METHOD OF DESIGN FOR EARTHQUAKE- RESISTANT STRUCTURE
FUNGSI / FUNCTION ALGPROG II
KELOMPOK I-STAT.NONPAR 2G
Manajemen Industri.
KOMPUTER Def : Komputer digunakan sebagai alat bantu untuk menyimpan, mengolah, dan mengambil kembali data atau informasi yang diperlukan.
Array.
The Toy Grammar of the Course1 The Grammar of the Course program: scope R38 R0 scope:'{' C0 R1 declarations C1 R3 ';' statements C2 R5 '}' statements:,
Code Generation Procedure and Function with Parameters.
Rahmat Deddy Rianto Dako, ST, M.Eng
QUEUE II. IMPLEMENTASI QUEUE
PASCAL 2.
Merryl F N Meka Pembimbing : Dr. Ade Azurat S.Kom
Kelompok 2 Alfrince Sonifati Hulu ( ) Arrazy Ridha Maulana ( ) Iffah Alfiana ( ) Isna Muflichatul Fadhilah ( )
STRUKTUR DATA PERTEMUAN 5
Lab Meeting 1 Shofy Amalia.
TABEL INFORMASI / SIMBOL
Situasi Saat Program Berjalan (Run-time Environment)
KOMBINASI KELAS : XI IPA/IPS SEMESTER 1 Beranda SK / KD Indikator
Pointer dalam Stack.
Array Pertemuan ke 11..
PERTEMUAN KE-5 Kamis, 7 Oktober Pemetaan Trianguler Array ABCDE FGHI JKL MN O A B C D E F G H I J K L M N O T(1,1)  S(1)T(2,1)  S(N+1) T(1,2)
KOMPUTER & MASYARAKAT (Nelly Sofi).
KEAMANAN KOMPUTER ADITYO NUGROHO,ST
Array dan String Array dan String.
Struktur Dasar Java Percabangan & Perulangan
Kuliah 12 Type Checking.
Fungsi Fungsi.
Scope Variable *dalam fungsi Tenia Wahyuningrum, S.Kom., MT
1 Tabel Simbol (Ref : Aho 2.7, 7.6 / k10.ps). 2 Pendahuluan Definisi tabel simbol : Tabel/struktur data yg. digunakan utk. menyimpan informasi yg. berkaitan.
Pemrograman Berorientasi Obyek1 Sub Pokok Bahasan Pointer. Reference. Function Passing Parameter by Value, by Reference, by Pointer.
Tenia Wahyuningrum, S.Kom., MT
Apakah Stack itu ?. Apakah Stack itu ? Pengertian STACK Secara sederhana diartikan dengan : sebagai tumpukan dari benda sekumpulan data yang seolah-olah.
Fungsi, Array dan String
PERSON 20 TUGAS PEMROGRAMAN TERSTRUKTUR C++ CHERIA LOUPATTY MANAJEMEN INFORMATIKA STMIK / AMIK PARNA RAYA MANADO.
BAB 3 STACK (TUMPUKAN).
 Suatu variable menyimpan nilai didalam memori, bisa digunakan kapan saja dan mudah untuk diupdate.  Alasan utama menggunakan variable adalah untuk.
IF IF .. ELSE NESTED IF .. ELSE
Command line argument.
// Contoh program c++ dengan fungsi template
Pengantar Teknik Kompilasi
PHP.
Stack Stack adalah salah satu bentuk list dimana penghapusan dan pemasukan elemen hanya dapat dilakukan pada satu posisi yaitu di posisi akhir list. Posisi.
Pemrograman Terstruktur
Stack.
Tabel Informasi/ Tabel Simbol
Bahasa Pemrograman Dasar Pertemuan 12
Algoritma pemrograman 2a
Stack Stack atau tumpukan adalah suatu stuktur data yang penting dalam pemrograman Bersifat LIFO (Last In First Out) Benda yang terakhir masuk ke dalam.
TABEL INFORMASI atau TABEL SIMBOL
Struktur Data Khoiriya Latifa, M.Kom.
Deklarasi Array X : array [ 1.. N ] of Type
Pengantar Teknik Kompilasi
Command line argument.
Array.
Pseudocode – Tipe Data, Variabel, dan Operator
STACK / TUMPUKAN Struktur Data.
STACK Yohana Nugraheni.
Variabel, Tipe data dan operator
Algoritme dan Stuktur Data
Stack.
Array.
Implementasi Proc and Func
STRUKTUR DATA PERTEMUAN 4
VARIABEL, TIPE DATA, OPERATOR
ARRAY (LARIK) MINGGU VI.
Pemrograman Berorientasi Objek
Tim ALPRO Teknik Informatika
Teknik Optimasi by kustanto
Variabel, Tipe data dan operator
Transcript presentasi:

Aturan Semantik: ContextChecking Cx

C0 masuk ke suatu scope C1 option mencetak tabel simbol (tabSim) scope ybs C2 keluar daru suatu scope C3 periksa bahwa id belum dideklarasi dalam scope ybs, masukkan id ke dlm tabSim, push index dari tabSim C4 masukkan lexic level dan order number ke dalam tabSim C5 masukkan type ke dalam tabSim C6 periksa bahwa id sudah dideklarasi, push index tabSim C7 Pop index tabSim C8 push type C9 push type int C10 push type bool. C11 pop type C12 periksa bahwa type adalah int C13 periksa bahwa type adalah bool C14 periksa type untuk perbandingan kesamaan (equality comparison) C15 Periksa type untuk perbandignan urutan (order comparison) C16 Periksa type untuk assignment C17 Periksa bahwa type variable adalah integer

Untuk Array C18 beri tanda, entry tabSim sebagai skalar C19 beri tanda, entry tabSim sebagai variable array C20 periksa bahwa id adalah nama variable skalar C21 periksa bahwa id adalah nama variable skara Untuk Fungsi dan prosedur C22 masukkan lexical level dan order number ke dlm tabSim C23 masukkan type int atau bool C36 periksa bahwa type dari ekspresi sama dengan type dari fungsi

Untuk parameter C24 masukkan prosedur ke dlm tabSim C25 masukkan parameter ke dlm tabSim C26 masukkan fungsi ke dlm tabSim C27 keluar dari scope yang mengandung parameter C28 periksa bahwa id merupakan nama prosedur C29 periksa bahwa fungsi atau prosedur tak punya parameter C30 push jumlah argument = 0 C31 periksa argument terhadap parameter C32 periksa bahwa semua argumen sudah dilihat, pop jumlah argumen C33 periksa bahwa id adalah nama fungsi C34 tambah nilai jumlah argumen C35 masukkan jumlah argumen (parameter) ke dalam tabSim, pop jumlah argumen C37 if id suatu fungsi maka C33 else C20

Aturan Semantik Code Generation R0 tentukan pc dan mt R1 periksa bahwa lexic level <displaySize. Buat instruksi untuk memasuki scope statement. R2 periksa bahwa lexic level <displaySize. Buat instruksi untuk memasuki scope ekspresi. R3 buat instruksi untuk mengalokasi variable. R4 buat instruksi untuk mendapatkan address untuk hasil perhitungan. R5 buat instruksi untuk menghapus variable dan keluar dari scope statement. R6 buat instruksi untuk memindahkan hasil perhitungan, hapus variable, dan keluar dari scope ekspresi. R7 buat instruksi untuk forward branch (BR). R8 buat instruksi untuk forward bersyarat (BF). R9 buat instruksi untuk membetulkan address dari forward branc-2 (forward branch-2 bersyarat). R10 buat instruksi untuk membetulkan address dari forward branch bersyarat. R11 simpan address untuk backward branch. R12 buat instruksi untuk backward branch. R13-R26 buat instruksi yang sesuai dengan operator.

R27 buat instruksi untuk membaca dan menyimpan integer. R28 buat instruksi untuk mencetak integer. R29 buat instruksi untuk mencetak teks. R30 buat instruksi untuk memindahkan kursor ke baris baru. R31 buat instruksi untuk mendapatkan address variable. R32 buat instruksi untuk memperoleh nilai dari suatu variable. R33 STORE. R34 PUSH 0. R35 PUSH 1. R36 PUSH nilai integer. R37 alokasi space untuk variabel R38 HALT

Array. R39 buat instruksi untuk memeriksa bahwa batas array adalah non- negatif. buat instruksi untuk mengalokasikan array. R40 buat instruksi untuk memperoleh address array. R41 buat instruksi untuk memeriksa bahwa indek array berada pada batasnya.

Fungsi, prosedur dan parameter. R42 buat instruksi unutk kembali dari prosedure. R43 buat instruksi untuk kembali dari fungsi. R44 buat instruksi untuk memanggil suatu prosedur. R45 buat instruksi untuk membentuk tanda block untuk pemanggilan prosedur. R46 buat instruksi untuk membentuk tanda block untuk pemanggilan fungsi. R47 buat instruksi untuk memanggil fungsi. R48 buat instruksi untuk menyimpan argument untuk pemanggilan prosedu/fungsi. R49 if identifier suatu fungsi maka R46 else R31 R50 if identifier suatu fungsi maka R47 else R32