Cari Blog Ini

Rabu, 15 Oktober 2014

Assignment #3 Konsep Bahasa Pemrograman Pak Tri Djoko Wahjono

Reyza Pratama Komala (1801428384) - LM01
Pada kesempatan kali ini saya akan menjawab soal-soal yang ada dalam buku "CONCEPTS OF Programming Languages (TENTH EDITION)" - ROBERT W. SEBESTA. Chapter 3 Describing Syntax and Semantics
Review Question

11. Question :  How is the order of evaluation of attributes determined for the trees of a
given attribute grammar ?

Answer : Semantik statis bahasa hanya secara tidak langsung terkait dengan makna program selama eksekusi; melainkan harus dilakukan dengan bentuk hukum dari program
(sintaks bukan semantik). Banyak aturan semantik statis bahasa menyatakan kendala jenisnya. Semantik statis dinamakan demikian karena analisis yang dibutuhkan untuk
memeriksa spesifikasi ini dapat dilakukan pada waktu kompilasi.
Semantik dinamis adalah makna ekspresi, pernyataan, dan unit program bahasa pemrograman.

12. Question :  What is the primary use of attribute grammars ?

Answer : Atribut tata bahasa utama yang digunakan untuk memberikan deskripsi lengkap sintaks dan semantik statis bahasa pemrograman.

13. Question :  Explain the primary uses of a methodology and notation for describing
the semantics of programming languages ?

Answer : Jika pemutusan lingkaran dapat ditampilkan, deskripsi aksiomatik loop disebut total kebenaran. Jika kondisi lain dapat dipenuhi tetapi terminasi tidak
dijamin, hal itu disebut correctnes parsial.

14. Question : Why can machine languages not be used to define statements in operational
semantics ?

Answer : Bahasa mesin tidak dapat digunakan untuk mendefinisikan pernyataan dalam semantik operasional karena beberapa masalah. Pertama, langkah-langkah individu dalam pelaksanaan mesin
bahasa dan perubahan yang dihasilkan pada keadaan mesin terlalu kecil dan terlalu banyak. Kedua, penyimpanan komputer yang nyata terlalu besar dan kompleks.

15. Question : Describe the two levels of uses of operational semantics ?

Answer : Pada tingkat tertinggi, yang menarik adalah di hasil akhir dari pelaksanaan program yang lengkap. Hal ini kadang-kadang disebut semantik operasional alami.
Pada tingkat terendah, semantik operasional dapat digunakan untuk menentukan makna yang tepat dari sebuah program melalui pemeriksaan urutan lengkap negara
perubahan yang terjadi ketika program dijalankan. Penggunaan ini kadang-kadang disebut semantik operasional struktural.

Problem Solve

11. Consider the following grammar:
<S> → <A> a <B> b
<A> → <A> b | b
<B> → a <B> | a
Question : Which of the following sentences are in the language generated by this
grammar ?
a. baab
b. bbbab
c. bbaaaaa
d. bbaab

Answer : 
<S> → <A> <B> <C>
<A> → a <A> | a
<B> → b <B> | b
<C> → c <C> | c

12. Consider the following grammar:
<S> → a <S> c <B> | <A> | b
<A> → c <A> | c
<B> → d | <A>
Question : Which of the following sentences are in the language generated by this
grammar?
a. abcd
b. acccbd
c. acccbcc
d. acd
e. accc

Answer : LHS non-terminal S didefinisikan sebagai non-terminal A, terminal, non-terminal B dan terminal b, di mana non-terminal A dapat nol atau lebih b atau satu b, dan di mana non-terminal B dapat menjadi salah satu atau lebih adalah satu atau a;

Menghasilkan satu atau lebih b atau satu b, satu, satu atau lebih atau satu, dan satu b.

13. Question :  
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>
<A> -> a <A> b <B>

14. Question : Draw parse trees for the sentences aabb and aaaabbbb, as derived from
the grammar of Problem 13 ?

Answer :
<stmt> -> <A>
<A> -> A <A> b | ab
pohon untuk aabb
pohon untuk aaaabbbb

15. Question : Convert the BNF of Example 3.1 to EBNF ?

Answer :
<program> -> begin <stmt_list> end

<stmt_list> -> <stmt>

| <stmt> ; <stmt_list>

<stmt> -> <var> = <expression>

<var> -> A | B | C

<expression> -> <var> {(+|-) <var>}

Tidak ada komentar:

Posting Komentar