As always, make sure your code is clear and
well-commented.
As usual, mail a copy of your source code, as attachments if possible,
to c373@ms.washington.edu (note: only
.c, .cpp, and .h files are necessary. Do not mail us a copy of
your entire executable or any sample input/output, for example).
If you are interested in entering the First Annual BEL++
programming contest, send your BEL++ code to brad@cs.washington.edu. Please include a
brief description of what your program does and why you consider it to
be interesting (see the mail "BEL++ Update" from April 27 for
details)
Turn in a few demonstrations of your code working on BEL++
programs. You may either use the samples provided (be sure it's clear
which one you were using), or your own test files. If you use your
own test files, please include a copy of the source code as well.
Please select just a few examples which you think demonstrate that
your program is working completely and correctly.
Also, turn in a copy of your complete source code. This time
around, it's almost certain that you implemented your own ADTs or
modified Weiss', so include the source code for those as well.
On a separate page attached to your source code, please
include a very brief paragraph explaining how your code is organized.
This should cover:
what ADTs you used and how you created them (e.g., what
modifications you made to Weiss' code, or what sort of implementation
and operations you implemented if you did your own).
a "directory" explaining what code each file you're turning in
contains. For example:
exprtree.c -- my binary expression tree implementation
hash.c -- my modifications to Weiss' hash table implementation
main.c -- my main file
anything else about your program that you think is interesting or
worth mentioning.
In addition, I'd like you to mark a few key sections of your
code on the printout with a number in a circle (using a big magic
marker for example). This will help us find key pieces of code
quickly:
Any changes you made to Weiss' ADTs if you used them (if you
didn't, no need to highlight anything here).
Your code to implement a Hash Table. (This may overlap with the
previous item.)
The code that reads in a BEL++ statement and processes it.
Your code to determine what type of statement the user is entering
("p", "e" "d", or "q").
Your routine that creates a binary expression tree.
Your routine that prints a binary expression tree.
Your routine that evaluates a binary expression tree.