Tabel Informasi/ Tabel Simbol

Slides:



Advertisements
Presentasi serupa
PROCEDURE Temu IX BANGHER.
Advertisements

Procedure pada Pascal ALPROG II
FUNGSI Deklarasi dan Definisi fungsi Void dan Non-void Fungsi main.
Array Dimensi Banyak Gerlan A. Manu, ST.,MKom
Copyright by : M. YAHYA, S.Kom PERTEMUAN KE - I. 1. Judul Program 2. Blok Program a. Bagian Deklarasi - Deklarasi Tabel - Definisi Konstanta - Definisi.
RECORD.
ARRAY/LARIK Sumber dari : imaru.files.wordpress.com/2008/02/array-struc-pointer.ppt.
TABEL INFORMASI / SIMBOL
Situasi Saat Program Berjalan (Run-time Environment)
PROCEDURE DAN FUNCTION
Kuliah 12 Type Checking.
PROSEDUR.
Procedure , Function dan Parameter
Outline Awalnya dikembangkan oleh Borland dan umunya igunakan untuk paket perangkat lunak tingkat lanjut dengan kepustakaan yang lebih banyak dan.
LARIK ( ARRAY ).
T I P E D A T A.
Pointer Pointer.
Struktur Data M. Haviz Irfani, S.Si. Pada garis besarnya, data dapat kita kategorikan menjadi : Type Data Sederhana atau Data Sederhana yang terdiri atas.
Teknik Pemrog. Terstruktur 2
Java array.
Array (bagian 2).
JENIS-JENIS DATA Pertemuan 2.
Tipe Data By Serdiwansyah N. A..
Dasar-Dasar Pemrograman
Pointer Jamaludin malik.
Algoritma dan Pemrograman 2A
ALGORITMA PEMROGRAMAN 2A
PEMROGRAMAN TERSTRUKTUR
TABEL INFORMASI atau TABEL SIMBOL
Java array.
Tipe Data, Operator Dalam Delphi
Java array.
MINGGU I ALGORITMA & PEMROGRAMAN II
Struktur Data Tipe data & Struktur Data
ARRAY Merupakan suatu variabel yang menyimpan sekumpulan nilai dengan type data yang sama. Setiap elemen nilai yang tersimpan dapat diakses melalui indeks.
TEAM 1 Cut Hayatul Wardani ( ) Saputri Phonna ( ) Azhary (140502)
SEMANTIKS Pertemuan Ke-3.
ARRAY.
Java array.
Array.
MATERI PERKULIAHAN TEKNIK KOMPILASI
Gerlan A. Manu, ST Array Dimensi Banyak Gerlan A. Manu, ST
created by PUTRA PUTRI DASPRO
ANALISIS LEKSIKAL (Scanner)
Tipe data & Variabel 1. Bahasa Pascal 2. Tipe data & Variabel
Array Dimensi Sri marini, ST.
Java array.
ARRAY.
MULTIDIMENSI ARRAY Struktur Data
ARRAY SATU DIMENSI.
Procedure pada Pascal ALPROG II
MATERI PERKULIAHAN TEKNIK KOMPILASI
Array (Larik)‏ Struktur Data 1 1.
KONSEP DASAR STRUKTUR DATA
ARRAY (LARIK) MINGGU VI.
Pemrograman Dasar I Putu Hendra Tresnadana. S.
Array.
Struktur Data.
Tipe Data Bentukan Pertemuan ke-5.
Tipe data & Variabel 1. Bahasa Pascal 2. Tipe data & Variabel.
Java array.
Struktur Data.
Array.
CREATED BY PUTRA PUTRI DASPRO
Java array.
Ilustrasi Proses Kompilasi
Array.
Teknik Optimasi by kustanto
Tipe Data Struktur Ridwan, S.T., M.Eng. Pokok Pembahasan Bahan Kajian. Tipe Data Terstruktur Materi Tipe Data: 1.Definisi data, tipe data dan struktur.
TEKNIK OPTIMASI & TABEL INFORMASI
Transcript presentasi:

Tabel Informasi/ Tabel Simbol Istiqomah, S.Kom/Tekkom 2013

Kegunaan Tabel Informasi Berguna untuk mempermudah pembuatan dan implementasi pada analisa semantik Tabel simbol ini mempunyai 2 fungsi penting dalam proses translasi, yaitu : Membantu pemeriksaan kebenaran semantik dari program sumber Membantu & mempermudah dalam pembuatan intermediate code dan proses pembangkitan kode.

Elemen Tabel Informasi No urut identifier : Menentukan nomor urut identifier dalam tabel simbol Nama Identifier : Berisi nama-nama identifier (nama variabel, nama tipe, nama konstanta, nama procedure, nama fungsi, dll) yang terdapat pada program sumber. Nama-nama ini akan dijadikan referensi pada waktu analisa semantic, pembuatan intermediate code, serta pembangkitan kode

Elemen Tabel Informasi Tipe Identifier : Berisi keterangan/informasi tipe dari identifier yang berupa tipe integer, real, array, record, string maupun procedure dan function Object Time Address : address yang mengacu ke alamat tertentu Dimensi dari identifier yang bersangkutan Nomor baris variabel dideklarasikan Nomor baris variabel direferensikan Field link

Implementasi Tabel Informasi Tabel Identifier : berfungsi menampungsemua identifier yang terdapat dalam program Tabel Array : berfungsi menampung informasi tambahan untuk sebuah array. Tabel Blok : berfungsi mencatat variabel-variabel yang ada pada blok yang sama Tabel Real : berfungsi menyimpan elemen table yang bernilai real Tabel String : berfungsi menyimpan informasi string Tabel Display : berfungsi mencatat blok yang aktif

Tabel Identifier Tabel Identifier memiliki field : No urut identifier dalam tabel Nama identifier Jenis/obyektif dari identifier : prosedur, fungsi, tipe, variabel, konstanta Tipe dari identifier yang bersangkutan : integer, char, Boolean, array, record, file, no-type Level : kedalaman identifiertertentu, hal ini menyangkut letak identifier dalam program. Konsepnya sama dengan pembentukan tree, misal main program = level 0. Field ini digunakan pada run time untuk mengetahui current time activation record dan variabel yang bisa diakses

Tabel Identifier Untuk identifier yang butuh tempat penyimpanan, dicatat pula : Alamat relative/address dari identifier untuk implementasi Informasi referensi (acuan) tertentu ke alamat table lain yang digunakan untuk mencatat informasi-informasi yang diperlukan yang menerangkannya. Link, menghubungkan identifier ke identifier lainnya, atau yang dideklarasikan pada level yang sama Normal, diperlukan pada pemanggilan parameter untuk membedakan parameter by value dan reference (berupa suatu variabel boolean)

Tabel Identifier Contoh : Program A var B : integer Procedure X (Z : char) var C : integer Begin ……… Tabel identifier akan mencatat semua identifier : 0 A 1 B 2 X 3 Z 4 C

Tabel Identifier Contoh implementasi table identifier: TabId : array [0..tabmax] of record name : string; link : integer; obj : objek; tipe : types; ref : integer; normal : Boolean; level : 0..maxlevel; address : integer; end; Dimana : Objek = (constant, variabel, procedure, fungsi) Types = (notipe, int, reals, Booleans, chars, arrays, record)

Tabel Array Digunakan untuk menyimpan informasi suatu identifier berupa array Tabel array memiliki field : No urut suatu array dalam table Tipe dari indeks array yang bersangkutan Tipe elemen array Referensi dari elemen array Indeks batas bawah array Indeks batas atas array Jumlah elemen array Ukuran total array (total size = (atas – bawah + 1) x elemen size) Elemen size (ukuran tiap elemen)

Tabel Array Tabel array diacu dengan field referensi pada table identifier Contoh implementasi table array : Tab Array : array [1..tabmax] of record indextype, elementype : types; elemenref, low, high : integer; elemensize, tabsize : integer; end;

Tabel Blok Digunakan untuk menyimpan informasi blok-blok yang ada pada table utama Tabel blok memiliki field : No urut blok Batas awal blok Batas akhir blok Ukuran parameter/parameter size Ukuran variabel/variabel size Last variable Last parameter

Tabel Blok Contoh : TabBlok : array [1..tabmax] of record lastvar, lastpar, parsize, varsize : integer; end;

Tabel Blok Contoh : Program A var B : integer Procedure X (Z : char) var C : integer Begin ……… Akan diperoleh, untuk blok progam A last variabel = 2 variabel size = 2 (asumsi integer butuh 2 byte) last parameter = 0 (tanpa parameter) parameter size = 0 Untuk blok procedure X last variabel = 4 variabel size = 2 last parameter = 3 parameter size = 1 (dianggap char butuh 1 byte)

Tabel Real Digunakan untuk menyimpan nilai dari suatu identifier yang bertipe real Tabel real memiliki field : No urut elemen Nilai real suatu variabel real yang mengacu ke indeks table Contoh : TabReal : array [1..tabmax] of real

Tabel String Digunakan untuk menyimpan informasi string yang terdapat pada program sumber. Tabel string memiliki field : No urut elemen Karakter-karakter yang merupakan konstanta Contoh : TabString : array [1..tabmax] of string

Tabel Display Digunakan untuk menyimpan informasi mengenai blok-blok yang lagi aktif. Tabel display memiliki field : No urut tabel Blok yang aktif Pengisian tabel display dilakukan dengan konsep stack Urutan pengaksesan : Tabel Display – Tabel Blok – Tabel Simbol Contoh : TabDisplay : array [1..tabmax] of integer

Interaksi Antar Tabel Pertama, tabel display akan menunjuk blok mana yang sedang aktif. Dari blok yang aktif akan diketahui identifier-identifier yang termasuk dalam blok tersebut. Untuk pertama kalinya, yang akan diacu adalah identifier yang paling akhir, kemudian identifier sebelumnya dan seterusnya. Informasi suatu identifier ini mungkin belum lengkap, untuk itu dari tabel identifier ini mungkin akan dicari kelengkapan informasi suatu identifier ke tabel yang sesuai (table real, table string ayau table array)