Two students have now donated their input code that allows use of an input file for a test case in conjunction with our tokenizer. Thanks to Ryan and Thang for donating their code to the class; please note that one of these changes the standard tokenizer as well. Ryan's code and Thang's code.
It has been noted that the provided tokenizer disallows leading 0's on numbers so that 1.05 will be returned as [1,.,5] which is not right. If anyone can fix this that would be nice. For now, we will avoid leading 0s in our floating point data.
Warning: the posted Warren parser does not work with our new grammar and its new operators (e.g., does not parse == appropriately), so you will have to twiddle it a bit to make it recognize the operators in our grammar in the manner that our new tokenizer presents them.
Please name your main function as "parser", which takes ONLY ONE parameter of type string as the XML filename, and prints out whether it is valid or not according to the given DTD. Of course you can print out more information if you like. If you have done the extra credit, you should handin a tar of TWO directories, with one directory named basic; and the other extra. Each version should be able to run independently in its own directory.
You will be turning in a README report for this project with
the following three parts (this should take about one hour to write).
1. Your general introduction to your basic de
sign/implementation philosophy for
this project. This introduction should be short and clear and is used to tell
others your basic ideas. Less than five sentences is preferred.
2. Your list of mentionable higher order functions.The list should
have at least two columns: one is the function signature in source
code, the other is the corresponding ONE sentence comment.
3. If you have done the extra credit, please include your code for that high
order function here and give a short introduction.
Please tar your report together with your source codes(in two directories i handin cs515-proj2 yourfilename
f
you have done extra parts) and hand in your tar using the handin program on
paul. This time we will use cs515-proj2.
We have tested the Java Spec98 benchmarks, and we suggest you use the following 2 programs as input for this assignment: 209_db and 228_jack. Note that the 209_db program is the smaller of the two, so try it first.
All assignments will be
turned in using the handin program on paul. To submit the first
assignment we will use the name proAssign.pl; you type:
handin cs515-proj1 proj1.tar
(We will substitute proj2
and proj3 for our next two programming projects when using handin on
paul; those assignments will be named: proj2.tar and
proj3.tar respectively.)
To check that you handed in the first assignment successfully, for
example, type:
handin -l cs515-proj1
In the parameter to handin, that's a lower case "L" not the number 1.
To find out more about the handin program type man handin.
Last updated by Barbara Ryder at 10:21amGMT on December 8, 2005