| Age | Commit message (Collapse) | Author |
|
|
|
Several packages were moved from BJC-Utils to esodata. This makes the
necessary changes
|
|
Clean up some warnings that were hanging around
|
|
|
|
|
|
|
|
|
|
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.
|
|
This makes the two maps in GenerationState private. Use the
defineVar/findVar or defineRuleVar/findRuleVar instead.
This is another change on the way to doing autovivify
|
|
This makes variables scoped by grammar. Previously, you could set a
variable in one grammar, and access it from any grammar, as long as the
rule case that defined it was executed before hand. Now, only cases in
that grammar can use it.
There are still issues to do with the fact that variables can be used at
any time after they've been defined, even after their introductory rule
returned. I'm not certain that this is enough of an issue to bother
trying to fix it though.
The next step is an autovivify pragma for rules to solve several corner
cases, with the main one being wanting to use exhaustible variables from
prefix/suffix pragmas.
|
|
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
|
|
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
|
|
Case elements are now responsible for generating themselves.
|