1 / 18

Kuliah11

Kuliah11. Evaluasi Definisi Beratribut-S. Evaluasi Definisi Beratribut-S. Evaluasi bottom­up oleh suatu parser pada saat input diurai (proses) Nilai­nilai atribut tersintesa disimpan oleh parser pada stack

alida
Download Presentation

Kuliah11

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Kuliah11 Evaluasi Definisi Beratribut-S

  2. Evaluasi Definisi Beratribut-S • Evaluasi bottom­up oleh suatu parser pada saat input diurai (proses) • Nilai­nilai atribut tersintesa disimpan oleh parser pada stack • Nilai­nilai atribut yang baru dihitung dengan memakai nilai­nilai yang sudah ada pada stack

  3. Struktur Stack • pasangan array state dan val • state berisi pointer ke tabel LR(1) • val berisi nilai atribut untuk simbol grammar pada state yang bersangkutan

  4. Contoh • Misal A  XYZ menggambarkan stack di atas dengan aturan semantik A.a= f(X.x,Y.y,Z.z). • Sebelum XYZ direduksi menjadi A, val[top] = Z.z, val[top-1] = Y.y, val[top-2] = X.x • Jika suatu simbol tidak mempunyai attribut, maka valnya tidak didefinisikan. • Sesudah reduksi, state[top] = A, val[top] = A.a, dimana top = top - 2

  5. Keadaan stacknya state val top top

  6. Contoh

  7. Contoh (Cont.) • Pada saat reduksi dilakukan oleh suatu produksi, maka ntop = top – r + 1, dimana r adalah panjang sisi kanan produksi. Setelah kode dieksekusi: top = ntop.

  8. Definisi beratribut-L • Definisi yang atributnya selalu dapat dievaluasi secara depth-first order

  9. Definisi beratribut-L (Cont.) • Definisi Berdasarkan Syntak adalah beratribut­L, jika masing­masing atribut, pada masing­masing aturan semantik untuk produksi A X1…..Xn, merupakan atribut tersintesa atau merupakan atribut terwaris milik Xj, 1 <= j <= n yang hanya tergantung pada: • Attribut dari X1,X2,…., X j-1 dan • Attribut terwaris milik A

  10. Contoh • DBS ini tidak beratribut L karena Q.i tergantung pada R.s yang merupakan atribut dari simbol di sebelah kanan Q.

  11. Skema Translasi • Tata­bahasa context free, dimana atribut untuk setiap simbol juga disertakan, dan aksi semantik disisipkan pada sisi kanan produksi dengan tanda kurung kurawal ({ }).

  12. Skema translasi untuk merubah ekspresi infik menjadi posfik

  13. Contoh (Cont.) • Parse tree 9-5+2 dengan aksi semantik • Dengan menjalankan aksinya menurut dfo, maka dihasilkan 95-2+

  14. Petunjuk membuat aksi pada skema translasi • Jika pada suatu sisi kanan produksi hanya mengandung atribut tersintesa, buat suatu aksi untuk masing­masing aturan semantiknya, lalu tempatkan aksi tersebut pada sisi kanan produksi.

  15. Petunjuk membuat aksi pada skema translasi (Cont.) • Contoh: • Akan ditulis sebagai:

  16. Petunjuk membuat aksi pada skema translasi (Cont.) • Jika terdapat atribut tersintesa dan terwaris maka: • atribut terwaris untuk simbol di sisi kanan produksi harus dihitung pada suatu aksi yang muncul sebelum simbol tersebut. • suatu aksi tidak boleh memakai atribut tersintesa milik suatu simbol di sebelah kanan aksi itu. • atribut tersintesa milik nonterminal di sebelah kiri hanya dapat dihitung setelah semua atribut yang dipakainya sudah dihitung. Aksi untuk menghitung atribut ini dapat ditempatkan pada akhir sisi kanan produksi.

  17. Contoh

More Related