| Age | Commit message (Collapse) | Author |
|
Clean up some warnings that were hanging around
|
|
|
|
|
|
|
|
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.
|
|
|
|
It now works, but is called find-replace-rule instead. There is also
reject-rule, to say to reject any rule that doesn't match a provided
regex.
NOTE: For providing the regexes, if they contain spaces, they must be
quoted.
|
|
|
|
This simplifies the internal way affixes are applied, as well as adding a new circumfix-with pragma
|
|
Enable autovivifying variables. These will have their definition
automatically ran when they are first referenced.
|
|
|
|
|
|
|
|
The overall grammar parser now uses levelSplit where possible.
|
|
|
|
Logging now uses the RGrammarLogging system so as to allow for better
customizability of how the logging works
|
|
|
|
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
|
|
Simple/expanding variables are now marked with a $, as they are when
used.
Additionally, some debugging help was added
|
|
Blocks should now properly give absolute numbers as to where they are
from
|
|
Parser meta-tokens now use <...> syntax instead of {...} so as not to
get them confused with reference tokens.
|
|
This adds a few new syntax features, as well as allowing certain ones to
be used in pragmas.
The next syntax feature to be added will be some sort of quote feature,
to allow the inclusion of spaces where they would otherwise not be
permitted
|
|
This controls the number of times a rule can be entered into during a
single generations, and is set to 5 by default
|
|
Weighting now has a syntax. Include a {^<weight>} token to set the rule
weight
|
|
This re-adds the capability to weight rules.
However, no syntax has yet been add to perform that rule weighting
|
|
This does some minor updates to things, as well as adding some
performance tracking
|
|
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.
|
|
|
|
|