Differences between Ox G1.03 and G1.04 April 16, 1994 -------------------------------------- If you tend to have trouble with cycles, you should upgrade to this version. * Vastly increased the amount of useful information reported by the generated evaluator upon detection of a cycle. * Improved the clarity of messages issued by Ox upon detection of incomplete or inconsistent attribute definition section. * Increased the default sizes of data structures for parse- tree management in the generated evaluator. * Fixed incorrect declaration of yyyerror under -I option. * Fixed incorrect behavior (regarding storage of dependee counts) of the generated evaluator upon detection of a cycle. Differences between Ox G1.02 and G1.03 February 8, 1994 -------------------------------------- * Fixed bug wherein Ox was not accepting the C++ reserved word `class' in attribute declarations. Differences between Ox G1.01 and G1.02 February 7, 1994 -------------------------------------- This is mainly a bug-fix release. Almost all of the bugs were of the kind observed during the running of Ox, rather than during running of the generated evaluator. Thanks to those who sent bug reports. * Fixed -S option, which wasn't correctly stripping @autoinh and @autosyn constructs from the Y-file. * Fixed minor incompatibilities regarding use with C++. * Fixed minor incompatibilities regarding use with Bison. * Fixed incorrect reporting of line numbers upon unterminated strings, comments, C-code sections, etc. * Eliminated various causes of segmentation faults that occurred when Ox tried to continue after its data structures became incorrect due to errors in the Y-file. * Disabled the use of nested macros, pending resolution of a bug that results in a segmentation fault. * Fixed bug wherein Ox produced (for grammars of more than 255 grammar rules) evaluators that falsely reported cycles in the parse tree, possibly followed by a segmentation fault. * Fixed bug that caused a segmentation fault in the generated evaluator for parse trees with cycles. * Improved reporting in case of cycle detection--now prints the number of the grammar rule that labels the root of a subtree in which a cycle is detected. Changes, improvements, inclusions new to version G1.01 November 14, 1993 ------------------------------------------------------ * Ox Tutorial Introduction (19 pages). This new paper uses examples and an informal style to quickly familiarize the reader with the main features of Ox. * (updated) Ox User Reference Manual (57 pages). Includes coverage of features added since December 1992. An index has been added, and coverage of certain features has been expanded. * Files containing all examples from the tutorial and the reference manual, ready to test and modify. * Ox grammars for popular languages. Included are Yacc/Lex grammars for C, C++, Ada, Pascal, and FORTRAN that have been converted (mainly by modifying Makefiles) for use with Ox. * compatible names for Ox's output files: Ox now outputs files with the the names `oxout.y' and `oxout.l', instead of `ox.out.y' and `ox.out.l'. This is to make Ox translators more easily portable to operating systems (such as DOS) that have file-naming rules that are more restrictive than those of Unix. * minor bug fixes.