| Age | Commit message (Collapse) | Author |
|
|
|
This refactors the front-end to use a tree for capturing errors, instead
of throwing exceptions.
This has the benefit that you will receive notifications about all of
the error messages you have, instead of only the first.
I'm a bit fuzzy on the details, since it's been a while since I wrote
these changes.
|
|
|
|
|
|
GenerationState now uses ReportWriter instead of StringBuilder. This
will make certain upcoming features (namely, formatting strings) work
much better
|
|
This is to prepare for replacing contents with a ReportWriter
|
|
Enable autovivifying variables. These will have their definition
automatically ran when they are first referenced.
|
|
Logging now uses the RGrammarLogging system so as to allow for better
customizability of how the logging works
|
|
A major refactoring to the internals of how things work. I believe that
nothing is broken
|
|
The main refactoring here is removing the type field from the various
classes, but there are a few other smaller ones.
This also contains the grounds for a refactoring on variable use
|
|
Templates should now work, though there is no syntax to reference them
from rules yet
In addition, several internal things have been changed so as to improve
code quality
|
|
More work that leads towards getting templates working
|
|
More work for getting going on templates, as well as just some
refactoring for future changes
|
|
There is now syntax for rule references. Use @ instead of $, and use :=
to indicate you want exhaustion enabled
Use @ to refer to it
|
|
Add the capability to store regular/exhaustible rule variables
|
|
Simple/expanding variables are now marked with a $, as they are when
used.
Additionally, some debugging help was added
|
|
|
|
This controls the number of times a rule can be entered into during a
single generations, and is set to 5 by default
|
|
You can now provide multiple prefix/suffix elements, and all of the
permutations of them will be applied.
For example, providing the elements A & B, will yield the following
permutations
* A
* B
* A B
* B A
|
|
RuleCase now handles its own generation.
|
|
Case elements are now responsible for generating themselves.
|
|
|
|
|