File Release Notes and Changelog
Notes:
This project is the JUndo computer language.
The JUndo compiler can be downloaded from the following page:
JUndo - https://sourceforge.net/projects/jundo
An example of a multi-level undo implementation using JUndo is:
Verdantium - https://sourceforge.net/projects/verdantium
Code from the following projects must be on your classpath in order to compile and/or run JUndo:
Beaver (LALR Parser):
http://sourceforge.net/projects/beaver
JUndo Runtime (runtime for JUndo):
http://sourceforge.net/projects/jundoruntime
Meta (common data structures):
http://sourceforge.net/projects/meta
Also, the lexical analysis for JUndo is built using a non-standard version of the JLex lexical analyzer. However, it wouldn't be hard to modify the build to work with standard JLex.
Note: as stated elsewhere, this is NOT a mature version of the compiler. This should be considered a prelease version.
Examples of having JUndo perform useful tasks will be included in a future post.
Other intensional programming projects (I neither endorse or participate in these):
GIPSY - https://sourceforge.net/projects/sfgipsy
JUndo Release notes:
JUndo v0.0.1-- Initial Version.
JUndo v0.0.2-- Added support for select expressions. In typical non-JUndo intensional languages, programs are usually built with recursive definitions using keywords such as fby, prev, and next. In typical imperative languages like C++, programs are usually built using loop operators such as for/while/do-while. In JUndo, programs are usually built by constructing iterators and iterator factories. The select expression, which traverses iterator factories, is intended to be the primary loop operator in the JUndo language (the equivalent of for/while/do-while statements in C/C++/Java/C#). This release provides a first cut at an implementation of selects. Some test code has been left in this release (e.g. TestClass.JUndo) to facilitate testing of code generated by the new operator. Note: this operator represents a major departure from virtually all other languages, and potential issues are still being investigated. This release requires jundo_runtime version 0.0.5 or above.
BTW, there seems to be an issue with Beaver generating different deflater stream contents on different VMs, with subsequent incompatibilities caused by some VMs not recognizing deflated strings generated by other VMs. I am in the process of investigating this issue. If you encounter this issue, download Beaver and use it to regenerate the parser on your VM.
JUndo v0.0.3-- Bug fixes in select expr. code generation. TestClassC, TestClassD, and TestClassE now produce correct answers from running main().
JUndo v0.0.4-- TestClassF (multi-dimensional looping) added.
JUndo v0.0.5-- Final declarations plus switch condition improvements.
JUndo v0.0.6-- Bug fix for final declarations.
Changes:
This project is the JUndo computer language.
The JUndo compiler can be downloaded from the following page:
JUndo - https://sourceforge.net/projects/jundo
An example of a multi-level undo implementation using JUndo is:
Verdantium - https://sourceforge.net/projects/verdantium
Code from the following projects must be on your classpath in order to compile and/or run JUndo:
Beaver (LALR Parser):
http://sourceforge.net/projects/beaver
JUndo Runtime (runtime for JUndo):
http://sourceforge.net/projects/jundoruntime
Meta (common data structures):
http://sourceforge.net/projects/meta
Also, the lexical analysis for JUndo is built using a non-standard version of the JLex lexical analyzer. However, it wouldn't be hard to modify the build to work with standard JLex.
Note: as stated elsewhere, this is NOT a mature version of the compiler. This should be considered a prelease version.
Examples of having JUndo perform useful tasks will be included in a future post.
Other intensional programming projects (I neither endorse or participate in these):
GIPSY - https://sourceforge.net/projects/sfgipsy
JUndo Release notes:
JUndo v0.0.1-- Initial Version.
JUndo v0.0.2-- Added support for select expressions. In typical non-JUndo intensional languages, programs are usually built with recursive definitions using keywords such as fby, prev, and next. In typical imperative languages like C++, programs are usually built using loop operators such as for/while/do-while. In JUndo, programs are usually built by constructing iterators and iterator factories. The select expression, which traverses iterator factories, is intended to be the primary loop operator in the JUndo language (the equivalent of for/while/do-while statements in C/C++/Java/C#). This release provides a first cut at an implementation of selects. Some test code has been left in this release (e.g. TestClass.JUndo) to facilitate testing of code generated by the new operator. Note: this operator represents a major departure from virtually all other languages, and potential issues are still being investigated. This release requires jundo_runtime version 0.0.5 or above.
BTW, there seems to be an issue with Beaver generating different deflater stream contents on different VMs, with subsequent incompatibilities caused by some VMs not recognizing deflated strings generated by other VMs. I am in the process of investigating this issue. If you encounter this issue, download Beaver and use it to regenerate the parser on your VM.
JUndo v0.0.3-- Bug fixes in select expr. code generation. TestClassC, TestClassD, and TestClassE now produce correct answers from running main().
JUndo v0.0.4-- TestClassF (multi-dimensional looping) added.
JUndo v0.0.5-- Final declarations plus switch condition improvements.
JUndo v0.0.6-- Bug fix for final declarations.