Standard project directories initialized by cvs2svn.
initial checkin
Initial checkin of files with LGPL license. License changed to LGPL as per Eric Schnarr's request. (See emails.)
This commit was manufactured by cvs2svn to create tag 'start'.
Try to fix file locations.
Corrected as per Eric's advice.
Corrected modified date.
Corrected tags.
This commit was manufactured by cvs2svn to create tag 'Original_of_Eric'.
Finally runs. Need to debug & fix parse error.
Oops - missed out adding some important files!
Added detials regarding the re-location to Sourceforge and version header.
Corrected a mis-spelling.
Added a version comment.
Modified so that uses bison's ability to generate a ".C" file directly, no simplified the make file.
Renamed "Facile.y" to "Facile.Y" to simplify the make file by making use of the ability in bison to replacate the capit
Oops - a couple of files that got through the LGPL-ing. Changed to LGPL.
Oops - a couple of files that got through the LGPL-ing. Changed to LGPL.
Improved code:
- Added "-help" option to print out some help.
Corrected typo in comment.
- Improve object orientation.
Tidied up tabbing.
- Removed a seg. fault I introduced.
Removed superflous comment.
Minor change: Modified member to be a class invariant.
Removed a number of global variables into "main(...)" to improve object-orientation and memory management.
Made "PTRef" destructor virtual, as it is a base class.
Things done:
Changed some variables from heap to stack-based allocation.
Things done:
Things done:
Un-fix the memory error, and add a comment regarding it.
Fix a memory error.
Things done:
Generalized default constructor.
Things done:
Things done:
Things done:
Things done:
Correct function declarations to fix memory bug.
Work around G++ v3.0.4 bug in instantiating a "boost::shared_ptr<...>" constructor. Added a comment to that effect too.
Modifications to get "symtab.C" to compile include:
Removed deprecated features, improved code speed, simplified code.
- Fixed crash if no input file specified.
Added missing files, as they now have CVS version headers.
Modifications to get "types.C" & "tyvar.C" to compile include:
Removed stuff declared in "tyvar.H" but defined in "types.C" to their own file to improve code layout, modularity and style.
- Remove a redundant directory..
- Correct memory management to avoid memory leaks and seg. faults.
Modifications to get "pass4.C" to compile include:
Removed unnecessary include, removed deprecated features..
- Correcting memory management to avoid memory leaks and seg. faults.
Modifications to get "pass3.C" to compile include:
Correct the return value for a function.
Fixed "implicit typename" warnings.
Removed unnecessary include.
Modified to make it compile with the new libjmmcg classes.
- Removed "undefined function" warnings due to excessive use of "inline".
Modifications to complete re-coding include:
- Mainly completed removing some of the worst offences of "magic numbers" (i.e. constants scattered in to source code.) esp. relating to operator names.
Fixed build error relating to an errant CR/LF combo in a "-D" GCC parameter.
Got "pass1.C" to compile. Still busy introducing "boost::shared_ptr<...>" to improve memory allocation, use and fix leaks.
Split class into two classes to simplify code and remove need for reference-counted or plain pointers.
- Fixed debug assertion error I introduced.
Modifications to get "Facile.lex" & "Facile.Y" to compile include:
Improved some parameter types to make them more compatible with their use.
Corrected return value to be a reference-counted pointer for getting "pass2.C" to compile correctly.
Modifications to get "semantics.C" to compile include:
Major modifications to make "pass2.C" compile on the road to "boost::shared_ptr<...>" nirvana...
Modifications to get "types.C" & "tyvar.C" to compile include:
Improve the project.
Modified to make it compile with the new libjmmcg classes.