UMBC CMSC431, Compiler Design Principles, Fall 2009

Project 3

Due: Monday, October 12, 2009, 12:00pm (noon)


This project is a straightforward 1 week project to allow students to clean up their code from Project 2 and for students using their one-time "late pass" to catch up.


Add the following two features to your programming language:
  1. Print out quoted strings. (So, the programmer can actually write "Hello World" in your programming language.) As before, have a version that prints out newline and one that does not.
  2. Input floating point and integer numbers.

Implementation Notes

The recommended regular expression for quoted strings from lex & yacc is: \"[^"\n]*["\n] This stops the lexical analyzer from scanning past the end of the current line (in case the programmer forgot the ending quote).

Note that NASM does not recognize \n as an escape sequence, so you will have to use the ASCII value 10 for the newline character.

Finally, you will need to invent some sort of syntax for a statement that reads in a value from stdin which ultimately results in a call to scanf().

Submitting Your Project

Continue using the Project 2 repository for Project 3. Please use a different name for your README file for Project 3.

Include in your submission some test programs that print out strings of various lengths. Also, include examples of reading integer and floating point values.

Last Modified: 6 Oct 2009 01:41:30 EDT by Richard Chang
to Fall 2009 CMSC 431 Homepage