Homework and Project

Section 1

Homework

1.  Learn how to write in Rz by reading  Quick Start Rz.
2.  Write a "recursive" program to find an average of all elements (non zero integers) of an array (terminated by a zero).  Use Rz compiler to compile and run it. Please submit your program to me by the next class (11 June).
3.  Download and compiler the compiler used in this class (rz33-1.zip).  Use whatever compiler for C that you are familiar with.
3.1    Play with the scanner.  Tab its output, and change the "word" returned from the scanner (calling "mylex()") change them to uppercase and print on screen.
4.  Write a grammar that cover these sentences:  (you can think of more sentences like these).
     I love you.  You love me.  I like flower.  You like flower.  I pick flower.  I like you.  etc.
5.  Write a List program to clone a list.

Project

Write a short report of your study on the topic of "How a computer language is compile/interpret"  (most "scripting" language, such as javascript, is interpreted rather than compiled.)  The report must include:

 1)   Choose a language, write a short description of your chosen language IF it is not a well known one (such as Java, C, python etc)
 2)   Ask yourself how this language is compiled? (just the interesting bit)   Or what is its virtual machine?
 3)   Collect information and digest them then write the report in your own language. 
 4)   Expect around 4 pages of report.
 5)   Hand in by 11 July 2013, 4pm.  I will not accept any submission after this time.

This will take about 10 hours of your time.  The report can be in either Thai or English. The length of the report is about 4-5 pages.  I am interested in the "quality" of the report not the "quantity".  You should try to explain your idea in your own word.