Review Question
11. How is the order of evaluation of attributes determined for the trees of a given attribute grammar?
12. What is the primary use of attribute grammars?
-> Tujuan utama dari attribute grammars untuk menggambarkan struktur bahasa pemograman lebih dari yang dijelaskan dari konteks-bebas grammer
13. Explain the primary uses of a methodology and notation for describing the semantics of programming languages.
->Ada beberapa alasan yang mendasari perlunya metodologi dan notasi untuk menggambarkan semantik. Programmer harus mengetahui dengan jelas apa yang dilakukan statement dari bahasa sebelum mereka dapat menggunakannya secara efektif dalam program mereka. Penulis Compiler harus tahu persis maksud dari konstruksi bahasa untuk merancang maksud mereka dengan benar. Jika ada spesifikasi semantik yang tepat dari bahasa pemrograman, program ditulis dalam bahasa yang berpotensi terbukti kebenarannya walau tanpa tes. kompiler juga dapat ditunjukkan untuk menghasilkan program yang memperlihatkan perilaku persis diberikan dalam definisi bahasa; yaitu, kebenaran mereka dapat diverifikasi. spesifikasi lengkap dari sintaks dan semantik bahasa pemrograman dapat digunakan oleh alat untuk menghasilkan compiler untuk bahasa otomatis. Akhirnya, desainer bahasa, yang akan mengembangkan deskripsi semantik bahasa mereka, dalam proses dapat menemukan ambiguitas dan inkonsistensi dalam desain yang mereka buat.
14. Why can machine languages not be used to define statements in operational semantics? .
-> Karena langkah-langkah saat bahasa mesin dijalankan dan perubahan hasil dari keadaan mesin terlalu sedikit dan terlalu banyak.
15. Describe the two levels of uses of operational semantics.
->Natural operatioanl semantics, adalah tingkat tertinggi yang mengutamakan hasil akhir dari pelaksanaan program yang komplit. ->Structural operatioanl semantics, adalah tingkat terendah yang digunakan untuk menentukan arti sebenarnya dari sebuah program melalui pemeriksaan lengkap urutan perubahan keadaan yang terjadi ketika program dijalankan.
Problem Set
11. Consider the following grammar:
<S> → <A> a <B> b
<A> → <A> b | b
<B> → a <B> | a
Which of the following sentences are in the language generated by this grammar?
<S> → <A> a <B> b
<A> → <A> b | b
<B> → a <B> | a
Which of the following sentences are in the language generated by this grammar?
- > a. baab d. bbaab
12. Consider the following grammar:
<S> → a <S> c <B> | <A> | b
<A> → c <A> | c
<B> → d | <A>
Which of the following sentences are in the language generated by this grammar?
-> a. abcd dan e. accc
<S> → a <S> c <B> | <A> | b
<A> → c <A> | c
<B> → d | <A>
Which of the following sentences are in the language generated by this grammar?
-> a. abcd dan e. accc
13. Write a grammar for the language consisting of strings that have n copies of the letter a followed by the same number of copies of the letter b, where n > 0. For example, the strings ab, aaaabbbb, and aaaaaaaabbbbbbbb are in the language but a, abb, ba, and aaabb are not.
Answer: <S> => a<S>b || ab
14. Draw parse trees for the sentences aabb and aaaabbbb, as derived from
the grammar of Problem 13.
the grammar of Problem 13.
15. Convert the BNF of Example 3.1 to EBNF.
->
<program> -> begin <stmt_list> end
<stmt_list> -> stmt[stmt_list]
<stmt> -> <var> = <expressions>
<var> -> A| B | C
<expressions> -> <var> {(+|-)< var> }
Tidak ada komentar:
Posting Komentar