Initial commit.
Translation and analysis now works on the abs_int.spear example. An incomplete discussion about how procedures are specified and translated has been added within a document in the documentation directory.
Finished a terse draft of a document described procedure invocation.
I think the procedures.txt file now captures procedure invocation and definition in sufficient detail.
Monolithic reasoning is partially complete
Strawman implementation of Monolithic translation. Reasoning works for the onecall_1.spear test. That is the only test that has been done.
Imported types and constants are now working.
Started working on a modular microwave example. Uncovered a number of problems in the process and fixed some of them. Translation/reasoning is broken for callgraphs of a depth greater than two.
Translation/Reasoning working on beginning of microwave example.
Drop in quick hack to permit enumerated types again.
Duplicates will no longer appear in the mapping from strings to integers.
Added two quick fixes: One to address handling enumerated value use outside of the top-level node and another which failed to check for a null case. I also added the microwave example Lucas is working with.
Changed callgraph to return the unqiue nodes in it.
Put in a quick fix change for proper enumerated type translation.
Removed examples that were not useful or not working. Fixed a bug that caused nodes to be translated multiple times when they were invoked multiple times. Added the mod operator.
Last commit message applies; some file were not added that should have been.
Fixed a type checking problem. Added patterns to specification language for all pattern nodes in library.specdsl. Added more pattern nodes to library.specdsl. Added a test of translation for all patterns.
Added a validation check to produce errors on cyclic procedure invocations.
Added a validation pass that will error on procedure signatures which use the same argument names twice.
Changes to bugs.txt.