UMBC CMSC431, Compiler Design Principles, Fall 2009
Project 3
Due: Monday, October 12, 2009, 12:00pm (noon)
Objective
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.
Assignment
Add the following two features to your programming language:
- 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.
- 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:
22 Jul 2024 11:27:42 EDT
by
Richard Chang
to Fall 2009 CMSC 431 Homepage