next up previous contents
Next: CHAPTER.3: PROCEDURES AND Up: CHAPTER.2: INTRODUCTION TO Previous: The garbage collector

Exercises

1. Explain the difference between syntax and semantics of a programming language. How do internal semantics and external semantics differ?

2. What is the difference between a compile time error and a run time error?

3. What is a virtual machine?

4. What is the connection between a programming language and a virtual machine?

5. What needs to be described in order to specify a programming language fully?

6. What are the datatypes built in to Pop-11?

7. What is the difference between a word and a string, in Pop-11? (You will not be able to answer this fully at this stage.)

8. What is the difference between a word and an ident in Pop-11?

9. There are certain conventions restricting the combinations of characters that normally can be used to create words using the word quotes "..." in Pop-11. How can those conventions be overcome to produce words containing arbitrary characters?

10. What is the difference (at first sight) between an expression and an imperative? Why does the distinction break down in Pop-11?

11. Pop-11 contains a garbage collector as described above. Can you think of reasons why it is sometimes necessary to write programs that create large numbers of temporary structures which are then discarded? Think of reasons why some intelligent processes require searching for solutions to problems or searching for coherent interpretations of information.

12. List some of the generic procedures, which are applicable to several data-types?

13. Besides ordinary procedures Pop-11 contains three other types of structure that are treated as procedures.

14. There is one type of object that has only two instances. What is it?

15. List the Pop-11 classes that have only one instance each.



Aaron Sloman
Fri Jan 2 03:17:44 GMT 1998