summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-10-17Update documentationBenjamin J. Culkin
2020-10-08Begin documentation updateBenjamin J. Culkin
This update converts the documentation from the cursory Markdown in the README.md file, and converts it into a typeset document, using Groff and the MS macro package. Currently, almost all of the existing documentation has been typeset, and soon, I will work on continuing from where I had left off.
2020-10-06Add unit tests for definesBen Culkin
Adds unit tests for SimpleDefine and IteratedDefine. This also fixes an issue with IteratedDefine, where once you had consumed a replacer, it was consumed for good; you couldn't use it in the future, even in a different call to apply(). This was fixed through the introduction of a new iterator type from esodata - ResettableIterator. See that project/type for more details on what exactly this does; but suffice to say, it allows to restore our iterator and re-iterate over the same elements on every call to apply.
2020-10-06Rename exceptions to not use ExceptionBen Culkin
This renames several of the stock exceptions to remove 'Exception' from their name. This is something that I don't recall where I picked it up from, but the idea is that the fact that it is an exception is generally syntactically obvious. Therefore, you can instead give your exceptions names which directly state what it wrong, as well as strongly implying what you can do to fix it. For instance, if you get a DirectionInvalid, it is apparent what the issue is (it is less apparent why it is invalid, but that is another issue, and a discussion for another time)
2020-10-06Info cleanupBen Culkin
2020-09-25Update settingsBen Culkin
2020-09-25Warning cleanupBen Culkin
Take care of some various warnings that were occuring
2020-09-25Update settingsBen Culkin
2020-09-25Add MirrorOutputStreamBen Culkin
This is an output stream that mirrors what is written to it to all of its composite output streams.
2020-04-14Cleanup some warnings and stuffBen Culkin
2020-04-13Cleanup some latent bugsBen Culkin
Cleanup some latent bugs
2020-04-13Cleanup pass IIBen Culkin
Part II of the cleanup pass
2020-04-13Cleanup passBen Culkin
Cleanup pass to uniformize things
2020-04-13Add some javadoc.Ben Culkin
Add some javadoc comments
2020-04-12Finish esodata extractionBen Culkin
Finished extracting the old version of esodata, and fixed all the local issues
2020-04-07Remove utils.esodataBen Culkin
utils.esodata now also lives in the esodata project; not here
2020-04-07Finish remove utils.dataBen Culkin
utils.data now lives in the esodata project; not in this one
2020-04-07Prepare to switch esodata to external projectBen Culkin
This adds the esodata project as a dependancy, to prepare for the duplicated code between this project and that one being removed.
2020-04-06Cleanup warningsBen Culkin
Cleanup some warnings
2020-04-06Update UI controlsBen Culkin
Add an additional UI control (a button that has a keystroke bound to it), and add the ability to get a directory picker from SimpleFileChooser
2020-04-06Add NumberUtilsTestsBen Culkin
Add some tests for stuff in math.NumberUtils
2020-04-06Add Tape appendBen Culkin
Add an ability to append an item to a tape. Currently, the implementation is kind of inefficent for everything that isn't a SingleTape
2020-03-28Add DualExprParserBen Culkin
This class parses DualExprs from prefix expressions
2020-03-27Refactor test structureBen Culkin
Tests are now in a 'test' sub-package, so it is clear that they are indeed test code, not just disjoint parts of the main code
2020-01-17Revert "Revert "Re-apply implementation of GroupDecree for ↵bculkin2442
ConditionalDirective"" This reverts commit c7103ed995bef77b6645947c9a8820af2933dd90.
2020-01-17Fix GroupDecree tokenizer bugbculkin2442
When we were processing a nested closing decree, we were forgetting to add it to the current clause, thus causing confusion when someone later tried to parse that clause and missed their ending token.
2020-01-17Tweak testsbculkin2442
2020-01-17Revert "Re-apply implementation of GroupDecree for ConditionalDirective"bculkin2442
This reverts commit cb7be8155255fad01aaf5beebe7a0f793cff016b.
2020-01-17Minor updates and suchbculkin2442
2020-01-06Re-apply implementation of GroupDecree for ConditionalDirectivebculkin2442
2020-01-06Add toString for decreesbculkin2442
This will help with debugging these, because now I can properly print them out and see what they contain
2020-01-06Rename EscapeException to DirectiveEscapebculkin2442
This is because we already know it's an exception if we're throwing it; and the name of an exception should suggest both what's wrong, and perhaps imply what we should do about it
2020-01-06General warning cleanupbculkin2442
Just clean up of some warnings/other misc. problems
2020-01-05Add some documentation and stringifyingbculkin2442
2020-01-04Implement use of GroupDecree for CaseDirectivebculkin2442
This begins the work of using GroupDecree for reading in groups.
2020-01-04More work on group decree refactorbculkin2442
The previous version had some places where it wasn't right. This does the rest of the ground work that it seemed needed to be done.
2020-01-04Begin refactoring of group decree parsingbculkin2442
This begins the refactoring of how 'group' decrees (like ~{, and ~[) are parsed. This commit contains the infrastructure for doing so, but none of the actual group decrees have been changed yet to use it.
2019-12-18Remove now boiler-plate implementation of format()bculkin2442
This removes the implementation of format() that was currently in each of the directives, by pulling it out into the super-interface. This marks the general completion of the switch from the old interpreted style using just the directives, to a new one using the set of Decree/Directive/Edict interfaces
2019-12-17Clean up missing bit in RecursiveDirectivebculkin2442
2019-12-17Switch over IterationDirectivebculkin2442
2019-12-17Switch over InflectDirectivebculkin2442
2019-12-17Switch over ConditionalDirectivebculkin2442
2019-12-17Begin switch to CLString (CaseDirective)bculkin2442
Begin the switch to using CLString whenever we would previously re-compile a body every time. This one is a little infrastructure, and the changes to CaseDirective
2019-10-12Swap tests to using compilation.bculkin2442
Tests now the compilation feature, so that is being tested thoroughly. Now to get to going through and switching all the directives that use strings to use CLStrings instead
2019-10-02More compilation workBenjamin J. Culkin
2019-08-17Implement compilation for TabulateDirectiveBenjamin J. Culkin
2019-08-14Implement compilation of RecursionDirectiveBenjamin J. Culkin
2019-08-13Implement compilation for IterationDirectiveBenjamin J. Culkin
2019-08-13Remove old format code from IndentDirectiveBenjamin J. Culkin
2019-08-13Implement compilation for InflectDirectiveBenjamin J. Culkin