Langsung ke konten utama

 Teknik Kompilasi Pertemuan 6

1. Tuliskan ekspresi dan tata bahasa dari pohon urai dibawah ini.

ekspresi dan tata bahasa pohon urai
    Jawab :
      Ekspresi :  9-5+2 
      Tata Bahasa:  list => list + digit list => list - digit list => digit digit => 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9

2. Jelaskan dan berikan contoh mengenai tata bahasa yang mempunyai arti ganda ...

    Jawab : Suatu tata bahasa dapat disebut sebagai tata bahasa yang mempunyai arti ganda apabila, suatu tata bahasa dapat memberikan lebih dari satu pohon urai untuk membentuk suatu rangkaian token dari tata bahasa yang digunakan tersebut.
      Contoh : Misalkan tidak dibedakannya antara angka dan list. Maka, tata bahasa yang melibatkan angka dan tanda plus dan minus dapat dituliskan sebagai berikut : 
      string -> string + string | string - string | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 . 
       
      Sehingga tata bahasa yang seperti itu akan mempunyai lebih dari satu pohon urai, yaitu sebagai berikut :
penyelesaian pohon urai
tata bahasa yang mempunyai arti ganda










Gambar Dua pohon urai dari ekspresi 9-5+2

3. Jelaskan kedua pohon urai pada gambar dibawah ini ...

penjelasan pohon urai
pohon urai
















    Jawab : Hal yang berlawanan terjadi pada gambar pohon urai diatas yaitu, pada operator yang bersifat asosiatif kiri seperti operator - (Pohon urai untuk 9-5-2 tumbuh kearah kiri) dan operator yang bersifat asosiatif kanan seperti operator = (Pohon urai untuk a=b=c akan tumbuh ke arah kanan).
    Catatan tambahan :
    Suatu operator + dikatakan bersifat asosiatif kiri bila suatu bilangan berada diantara dua tanda +, maka bilangan tersebut akan mengunakan operator yang ada disebelah kirinya. Pada kebanyakkan bahasa pemrograman, keempat operator arithmetic, penjumlahan, pengurangan, perkalian dan pembagian bersifat asosiatif kiri.
    Beberapa operator yang sering digunakan seperti pemangkatan bersifat asosiatif kanan, sebagai contoh lain operator = pada bahasa C bersifat asosiatif kanan, karena ekspresi a=b=c berarti sama dengan a=(b=c).
      Untuk rangkaian karakter a=b=c dimana operatornya bersifat asosiatif kanan digunakan tata bahasa berikut :
      right => letter = right | letter
      letter => a | b | ... | z

4. Lanjutkanlah gambar 3.4 berikut ini berdasarkan pada gambar 3.3 ...
postfix

infix
*maaf ya gambarnya miring hehe KLIK gambar untuk melihat lebih jelas*

Jawab : 

materi teknik kompilasi




5. Jelaskan perbedaan antara pohon sintaks dengan pohon urai ...
    Jawab : Pohon sintaks berbeda dengan pohon urai karena penerjemah yang tidak penting tidak terlihat pada pohon sintaks. Bisa dibilang, pohon urai sangat detail sedangkan pohon sintaks yang penting-penting saja. Untuk lebih jelasnya, lihat gambar berikut ini :
perbedaan pohon sintak dan pohon uraipohon sintak











Komentar

Postingan populer dari blog ini

 Teknik Kompilasi Pertemuan 7 Klasifikasi Grammar menurut Chomsky 1.        TATA BAHASA (GRAMMAR) Bahasa  merupakan himpunan  kalimat  (baik terhingga maupun tak terhingga). Bahasa dapat disajikan dengan menyebut kalimatnya satu persatu. Untuk bahasa tak hingga, penyebutan seperti itu tidak mungkin. Oleh karena itu diciptakan cara penyajian yang mendeskripsikan bahasa secara efisien. Cara penyajian tersebut adalah  Tata Bahasa  atau  Grammar. Sebuah Tata Bahasa (Grammar) didefinisikan sebagai 4 tupel :             G = (V n,  V t,  S, Q) V n  dan V t  adalah simbol  Non Terminal  dan  Simbol Terminal . S  adalah sebuah elemen anggota V n  yang disebut  Simbol Start . Q  merupakan himpunan  Produksi. Chomsky mengelompokkan Grammar menjadi 4 kelompok : 1.        Tipe nol : UnRes...
 Teknik Kompilasi Pertemuan 4 kompilasi  Merupakan  Teknik  dalam melakukan pembacaan suatu program yang ditulis dalam bahasa sumber, kemudian diterjemahkan ke dalam suatu bahasa lain yang disebut bahasa sasaran. Definisi : Kompilator (compiler) adalah sebuah program yang membaca suatu program yang ditulis dalam suatu bahasa sumber (source language) dan menterjemahkannya ke dalam suatu bahasa sasaran (target language). Proses kompilasi dapat digambarkan melalui sebuah kotak hitam (black box) berikut : Proses kompilasi dikelompokkan ke dalam dua kelompok besar : 1. analisa : program sumber dipecah-pecah dan dibentuk menjadi bentuk antara (intermediate representation) 2. sintesa : membangun program sasaran yang diinginkan dari bentuk antara. Program sumber merupakan rangkaian karakter. Berikut ini hal-hal yang dilakukan oleh setiap fase pada proses kompilasi terhadap program sumber tersebut : 1. Penganalisa leksikal : membaca program sumber, karakter demi karakter. Sed...
   Teknik Kompilasi Pertemuan 8 Pertanyaan : 1.       Apa yang dimaksud dengan analisis semantik? 2.       Sebutkan fungsi semantic analyzer ! 3.       Apa saja poin yang di cek oleh analisis semantik?                                           Jawaban : 1.      Analisis Semantik  adalah proses setelah melewati proses scanning dan parsing. Pada tahap ini dilakukan pengecekan pada struktur akhir yang telah diperoleh dan diperiksa kesesuaiannya dengan komponen program yang ada. ... Parser tidak tahu makna apa yang tersimpan dibalik simbol simbol tersebut. 2.      Secara global,  fungsi  dari  semantic analyzer  adalah untuk menen...