So far this program is just experimental in that it is not yet ready for useful work.
The first stage of this project is to be able to use it as an IDE for FriCAS (which is a fork of the Axiom computer algebra system). The FriCAS/Axiom code is written in a language called SPAD. This is quite difficult to use with Eclipse/Xtext because program blocks are usually indicated by whitespace (pile mode). In order to allow us to parse SPAD I have written a 'front-end' to the parser which:
- Adds braces when the indentation changes (except in comments/empty lines).
- Substitutes Macros.
- Lines ending in '_' are concatenated.
- Bracketed statements on single line are converted to braces.
However whitespace is still significant, in that statements are not separated by semicolon ';' but require a new line, which makes the parser harder to write than it would otherwise be.
The code to do this runs when these files are read into the SPAD project (usually when the project is created). Therefore the user sees the code with these changes applied. I don't really know a practical way to undo these changes when the editing has been done and the program is saved.
As a second stage I would like to automatically convert these SPAD files into a different format based on Eclipse/Xtend which would be much easier to parse and work with.
- For a tutorial about how to install the program see this page.
- For a tutorial about how to use the program see this page.
Next Steps
For further information about this program see:
- Installation guide - how to install the program - goto this page.
- Users guide - how to use this program - goto this page.
- Programmers guide - information for developers - goto this page.
- Syntax of SPAD on this page.
- Source Code:
https://github.com/martinbaker/euclideanspace/ - Binaries:
https://github.com/martinbaker/euclideanspace/blob/master/binary.jar.zip