Postingan

Analisa Sintaks

  ANALISA SINTAKS Definisi SintaksPendefisian Sintaks suatu bahasa dilakukan dengan menggunakan suatu notasi tata bahasa bebas konteks (context-free grammar) atau untuk memudahkan disebut tata bahasa  saja.Suatu  tata bahasa secara alamiah menerangkan struktur hirarki dari banyak bentuk bahasa pemrograman. Misalkan perintah if-else dari bahasa C mempunyai bentuk:if (ekspresi) perintah else perintahKet :Dalam hal ini suatu  perintah adalah gabungan dari :- kata kunci if- kurung buka- ekspresi- kurung tutup- perintah- kata kunci else- perintah lainnya(Dalam bahasa C tidak ada kata kunci then).Bila digunakan nama variabel  expr  untuk menyatakan suatu ekspresi dan variabel  stmt  untuk menyatakan suatu perintah, maka struktur aturan ini dapat dinyatakan sebagai berikut : stmt  → if ( expr )  stmt  else  stmt Ket:→ (tanda panah dibaca sebagai) “Dapat berbentuk suatu”.Aturan diatas disebut juga suatu  produksi (production) . Da...

Pertemuan 8 Teknik Kompilasi

  Tugas Pertemuan 8 1. Apa yang dimaksud dengan analisis semantic ! Jawab : Analisis Semantik adalah proses pengecekan pada struktur akhir yang telah diperoleh dan diperiksa kesesuaiannya dengan komponen program yang ada. 2. Sebutkan fungsi semantic analyzer ! Jawab : Fungsi dari semantic analyzer yaitu untuk menentukan makna dari serangkaian instruksi yang terdapat dalam program sumber. maka penganalisis semantik harus mampu menentukan aksi apa yang akan dilakukan oleh operator-operator tersebut.   3. Apa saja poin yang di cek oleh analisis semantic ! Jawab : Pada tahapan ini program sumber akan diperiksa untuk mencari kemungkinan kesalahan semantic dengan cara memanfaatkan struktur hirarkikal yang dihasil dari tahapan syntax analyzer. Pada tahapan ini akan dihasilkan suatu kode yang executable pada kompilasi yang sederhana lalu dimanipulasi dengan berbagai optimization dari translator sampai nanti benar-benar executable dihasilkan.

Pertemuan 6

Gambar
  ConSo ANALISIS SYNTAX   1.   Banyak contoh yang menggunakan ekspresi yang terdiri dari angka-angka dan tanda-tanda plus dan minus seperti 9-5+2, 3-1, dan 7. Karena tanda plus atau minus harus timbul diantara dua angka, maka ekspresi seperti ini dinyatakan sebagai "barisan dari angka-angka yang dipisahkan oleh tanda plus atau minus". Tata bahasa berikut memberikan sintaks dari ekspresi-ekspresi yang dimaksud diatas. Produksi yang ada adalah : list => list + digit list => list - digit list => digit digit => 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9  Sebutkan token dari tata bahasa ini dan kelompokkan menjadi satu produksi dari produksi dengan unsur non terminal list dibagian kiri. ...   Jawab : Token dari tata bahasa yang digunakan adalah simbol + - 0 1 2 3 4 5 6 7 8 9  Bagian kanan dari produksi dengan unsure non-terminal list bagian kiri dapat dikelompokkan menjadi satu produksi setara yaitu :   list =>  ...

ANALISIS SINTAKS

  Analisis Sintaks     Ketika string input (kode sumber atau program dalam beberapa bahasa) diberikan ke kompiler, kompilator memprosesnya dalam beberapa fase, mulai dari analisis leksikal (memindai input dan membaginya menjadi token) hingga pembuatan kode target.     Analisis Sintaksis atau Parser merupakan tahap kedua, yaitu setelah analisis leksikal. Ia memeriksa struktur sintaksis dari masukan yang diberikan, yaitu apakah masukan yang diberikan dalam sintaks yang benar (dari bahasa di mana masukan telah ditulis) atau tidak. Itu dilakukan dengan membangun struktur data, yang disebut pohon Parse atau pohon Sintaks. Pohon parse dibangun dengan menggunakan Grammar bahasa yang telah ditentukan sebelumnya dan string input. Jika string masukan yang diberikan dapat diproduksi dengan bantuan pohon sintaks (dalam proses derivasi), string masukan ditemukan dalam sintaks yang benar. jika tidak, kesalahan dilaporkan oleh penganalisis sintaks.    ...

Teknik Kompilasi Pertemuan 4

  FINITE AUTOMATA   Finite automata adalah mesin abstrak berupa sistem model matematika dengan masukan dan keluaran diskrit yang dapat mengenali bahasa paling sederhana (bahasa reguler) dan dapat diimplementasikan secara nyata dimana sistem dapat berada disalah satu dari sejumlah berhingga konfigurasi internal disebut state. State sistem merupakan ringkasan informasi yang berkaitan dengan masukan-masukan sebelumnya yang diperlukan untuk menentukan perilaku sistem pada masukan-masukan berikutnya. Suatu   finite   automata   terdiri   dari   beberapa   bagian.   Finite   automata   mempunyai   sekumpulan   state dan aturan-aturan untuk berpindah dari state yang satu ke state yang lain, tergantung dari simbol nya. Finite automata mempunyai state awal, sekumpulan state dan state akhir. Finite automata merupakan   kumpulan   dari   lima   elemen   atau   dalam   bahasa   matematis   ...

ANALISIS LEKSIKAL TEKNIK KOMPILASI

  Analisis Leksikal Tugas utama penganalisis leksikal adalah memecah tiap baris source menjadi token-token. Pekerjaan yang dilaksanakan antara lain: Membung komentar Menyeragamkan huruf kapital menjadi huruf kecil atau sebaliknya. Membuang white space. Mengenterpretasi compiler directive Berkomunikasi dengan simbol table (identifier-type-size) Membuang listing. 1 Token dan Lexemes Token adalah kumpulan lexemes-leksemes. Token menyatakan suatu kelompok, misalnya kelompok identifier (id) atau kelompok relasi (relop). Sedangkan Lexemes menjelaskan anggota-anggota dari token. SEMESTER V PERTEMUAN 3 2   Contoh if(distance>=rate*(end_time-start_time)) distance=maxdist; Diberikan perintah berikut: if(distance>=rate*(end_time-start_time)) distance=maxdist; Dipisahkan menjadi token dan lexemes sebagai berikut: Parser menerima hasil lexical analizer dalam bentuk: if (id relop id * (id-id)) id = id; SEMESTER V PERTEMUAN 3 3   Finite-State Automata (FSA) Analisis leksikal lebi...

Translator

  Translator pada Teknik Kompilasi Translator Melakukan pengubahan source code/program sumber ke dalam target code/object code. Source code ditulis dalam sumber sedangkan object code bisa dalam bahasa pemrograman lain atau bahasa mesin pada suatu komputer. Macam – macam Translator yaitu: 1.        Assembler Source code adalah bahasa assembly, object code adalah bahasa mesin contoh : Turbo Assembler dan Macro Assembler 2.        Kompilator ( Compiler) Source code adalah bahasa tingkat tinggi, object code adalah bahasa mesin atau bahasa assembly. Source code dan data diproses pada waktu yang berbeda. Contoh ; Turbo Pascal. Compile time adalah saat pengubahan dari source code ke object code sedangkan Run Time adalah saat eksekusi object code. 3.        Interpreter Interpreter tidak membangkitkan object code, hasil translasi hanya dalam bentuk internal. Contoh: BASICA/GW-BASIC,LIPS,SMALLTALK. Sour...