summaryrefslogtreecommitdiff
path: root/src/main/java/bjc/rgens/parser/GenerationState.java
AgeCommit message (Collapse)Author
2018-10-28Import organizationbculkin2442
2018-10-28General cleanupbculkin2442
2018-09-06Convert to using ReportWriterBenjamin J. Culkin
GenerationState now uses ReportWriter instead of StringBuilder. This will make certain upcoming features (namely, formatting strings) work much better
2018-09-06Convert GenerationState.contents to privateBenjamin J. Culkin
This is to prepare for replacing contents with a ReportWriter
2018-09-05Autovivify varsBenjamin J. Culkin
Enable autovivifying variables. These will have their definition automatically ran when they are first referenced.
2018-09-05Make variable fields privateBenjamin J. Culkin
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
2018-09-05Make variable grammar dependantBenjamin J. Culkin
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.
2018-06-05Templates pt. 3Benjamin J. Culkin
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
2018-06-05Templates pt.2Benjamin J. Culkin
More work that leads towards getting templates working
2018-06-04Exhaustion pt. 2Benjamin J. Culkin
There is now syntax for rule references. Use @ instead of $, and use := to indicate you want exhaustion enabled Use @ to refer to it
2018-06-04Rule variables pt. 1Benjamin J. Culkin
Add the capability to store regular/exhaustible rule variables
2018-05-29Refactor case element generationBenjamin J. Culkin
Case elements are now responsible for generating themselves.