Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

MATERI PERKULIAHAN TEKNIK KOMPILASI

Presentasi serupa


Presentasi berjudul: "MATERI PERKULIAHAN TEKNIK KOMPILASI"— Transcript presentasi:

1 MATERI PERKULIAHAN TEKNIK KOMPILASI
ANALISIS SEMANTIK 11 Ken Kinanti Purnamasari

2 Tahapan kompilasi yang memeriksa makna dari setiap pemakaian token
Analisis Semantik Tahapan kompilasi yang memeriksa makna dari setiap pemakaian token

3 Apakah variabel telah didefinisikan?
Lingkup Pemeriksaan Apakah variabel telah didefinisikan? Apakah terjadi duplikasi? Apakah seluruh operan dalam perhitungan memiliki tipe sama? Apakah operan memiliki nilai? dsb.

4 Flow of Control Check Jenis Pemeriksaan Uniqueness Check
Name Related Check Type Checking Type Conversion Type Coercion

5 FLOW OF CONTROL CHECK Suatu statement yang menyebabkan kendali aliran meninggalkan konstruksinya, harus punya lokasi untuk memindahkan aliran kendali.

6 case 1 : printf (”Satu”); break; case 2 : printf (”dua”); }
FLOW OF CONTROL CHECK Contoh : { case 1 : printf (”Satu”); break; case 2 : printf (”dua”); }

7 UNIQUENESS CHECK Cek kondisi dimana suatu objek hanya boleh didefinisikan satu kali.

8 UNIQUENESS CHECK Variabel Global Contoh : Var a : string; a : integer;

9 Nama Procedure / Function Contoh :
UNIQUENESS CHECK Nama Procedure / Function Contoh : Procedure Cek; begin ----- end; Function Cek; ----

10 UNIQUENESS CHECK Nama Konstanta Contoh : Const phi = 3.14; phi = 100;

11 UNIQUENESS CHECK Nama Tipe Contoh : Type A = array of integer;
A = array of string;

12 NAME RELATED CHECK Cek kondisi dimana suatu nama objek harus digunakan lebih dari satu kali.

13 Overloaded Operator Polymorphism NAME RELATED CHECK
contoh penggunaan tanda ‘+’ sebagai tipe bilangan real, integer, dan string Polymorphism beberapa procedure boleh punya nama yang sama, asalkan jumlah parameter dan tipenya berbeda

14 Cek apakah suatu operator digunakan oleh operand yang tepat.
TYPE CHECKING Cek apakah suatu operator digunakan oleh operand yang tepat. Contoh : var a: string; b: string; begin a := a * b; end.

15 Cek perubahan Tipe data.
TYPE CONVERSION Cek perubahan Tipe data. 1. Eksplisit (Manual) x := ord(‘A’) → byte y := chr(32) → char m := round(n) → Int 2. Implisit (Otomatis) var a : real; b : integer; begin a := b/2 //a := int/2

16 Cek perubahan Tipe data (yang dipaksa).
TYPE COERCION Cek perubahan Tipe data (yang dipaksa). Contoh : Char a; Int b; b =(int)a;

17 REFERENSI . . . Firrar U., Teknik Kompilasi, J&J Learning Yogyakarta, 2001 Alfred v. a. & ullman J.D., Compilers Principles Technique and Tools, Addison Wesley, 1988

18 TUGAS KELOMPOK Buatlah program penganalisis semantik, berdasarkan scanner dan parser yang telah dibuat di tugas sebelumnya !


Download ppt "MATERI PERKULIAHAN TEKNIK KOMPILASI"

Presentasi serupa


Iklan oleh Google