Mike Theroux, Mike Ruelle and James Pappas
Requirements:
The first pass should read in the new propagation pattern from the
command line. The program should then use
a general information visitor with several subvisitors to
find and store the arguments, return type, class wrappers, edge wrappers,
and Java code needed to translate the propagation pattern into a
traversal-visitor pattern. The three visitors each should contain
vectors which track datatypes and instance names to be put into the
new traversal-visitor pattern. The information should be gathered by
four main traversals which insert the needed datatypes and instance
name into the vectors. After this information gathering takes place,
we should call a printing visitor to print out the resulting behavior
file and to print the visitors onto the end of the class dictionary.
the cd file (w/o the .cd extension)
the pp files (w/o the .pp extension)
Phase1 included the foundation of the translator. This was the biggest phase which protyped many of the features of the full-blown translator. The goal of Phase1 was:
1) To perform a simple translation of an input propagation pattern.
Phase2's goal was to allow the translator to perform a simple translation that compiled and functioned correctly for a subset of the propagation pattern syntax. By the end of Phase2, we would also be able to accept input and output from files, rather than (stdin) and (stdout). Phase2 did not allow for:
1) Multiple propagtion files.
Phase3's goal was to complete the translator. The following features were added:
1) A nice command line interface, accessible through a script called "pptrans".
We are proud to say that all goals for this project were met on time. A full translator has been coded and functions correctly.
VIEW THE PROGRAM BEH, CD, and SCRIPT
VIEW SAMPLE PROPAGATION PATTERNS
This project was implemented in three phases:
2) To identify problems that may ocurr in future.
3) To clearly define the goals of future phases.
2) A nice interface.
3) Bypass and through directives.
4) The "initialize" command.
2) All syntax, including through, bypassing, and intialize.
3) Correct initialization of ALL transportation variables.
4) Allow for the translation of multiple propagation files at once.