Fixed bugs found in 0.9i such as
1. line counting bug
2. bol bug
3. main option bug
This package contains the html documentation.
Changes:
1. Add -m command option
2. Changed line option to be independent of bol states
3. add yyPushState/yyPopState functions
4. Changed STATE_##s to YYSTATE_##s for state names.
5. add character counting (char option)
There are many significant changes to YooLex:
1. All YooLex related classes/functions are in the namespace yoogroup.
2. Renamed types/functions/class variables.
3. Highly compressed DFA tables.
4. Namespace for the generated classes.
There were major changes in YooLex class as well as the generated C++ codes to boost performance. Once buffer input in addition to istream is included, I think that YooLex would be ready for its final release.
This release made the following changes
1. made switch/case values in yycase function consecutive to improve the switch threading.
2. added the indirect threading feature for the g++ compiler. It should be slightly faster than the switch threading method above.
There are also minor changes:
1. got rid of the extra comma in the array declarations
2. updated the usage information
This release made some major changes.
1. Changed how NFA states included by several conditions is handled. The newer method reduces amount of DFA states significantly.
2. Implemented on-the-fly DFA states minimization technique to further reduce the amount of DFA states.
3. Further fine tuned the DFA compressor. There are still rooms for improvement for the compression rate, but it is getting very hard.
4. Changed the C++ code generator yet again. Hopefully no more changes in the future releases, but who knows?
5. Changed how <<EOF>> is handled. I have not tested it thoroughly though.
Some bugs fixes
1. Fixed bugs in the compressor. Did some batch tests and the compressor should be working correctly. Since I also cleaned up the code a bit, somehow removed a compression made. The table is now usually bigger than what Flex generate. But I guess that working correctly is more important.
2. Fixed some small things to use std::cout and std::endl instead of cout and endl. Also put (int) cast when calling YooLex::unput function.
Forgot to fix a simple bug in v0.9b. So fixed in this version. Also updated README and IMPLEMENTATION, and added LICENSE. The CVS release tag is yoolex-0_9c.
There is a minor change in the C++ code generatorto allow different DFA tables to be generated. YooLex now has a good DFA compression method that is on a par of Flex.
YooLex has finialized its C++ code generator and it is quite different from release 0.9. In this newer release, fewer changes to Flex input file format is made and it generate clean C++ source and header files.
This is the first alpha release of the YooLex (Yet another Object-Oriented Lex). It takes flex-like file inputs and generate C++ class objects which can be run in multiple instances simultaneously.