#378 Add advanced variable ordering option to data-based synthesis tool
- Quite a few changes in the end, to make it all work, and to ensure it is consistent.
- Design decisions:
- I went with an SeText-based parser, to allow for a more user-friendly syntax. But, some things had to be done in the type checker to avoid conflicts.
- We now have the advanced option, and all the simple/existing options. They may not be mixed.
- I improved the debug output, to be more informative (and see what is going on), and easier to interpret (I think).
- Since different representations and relations are now mixed, algorithms decide by themselves whether they are skipped or not. This allows some algorithms to be executed, and other not, rather than skipping all of them.
- The DCSH algorithm is no longer considered experimental. We've seen good results from it already.
- I tried to keep the simple configuration documentation separate from the advanced configuration documentation.
- All changes are still backward compatible, except for debug output, and less algorithm skipping.
- Probably easiest to review per commit, but:
- Syntax definition, parser and type checker get improvements and fixes in later commits.
- A few small documentation changes get partly fixed/undone by later commits.
- Maybe a few more small things.
- (I can make a whole new branch and redo the commits, but I hope you can also review it like this, as it would be quite some effort to do that.)
- I have more ideas for next steps, but I'll create one or more issues for them after this one is resolved.
Closes #378 (closed)