summaryrefslogtreecommitdiff
path: root/BJC-Utils2
AgeCommit message (Collapse)Author
2017-04-03Org changesbjculkin
2017-03-31Move Pratt Parser to new projectbjculkin
2017-03-31Move FDS to new projectbjculkin
2017-03-28Mostly finish FDS corebjculkin
The major changes this time are that we have both data/command macros, as well as proper Unicode character support.
2017-03-28Work more on FDSbculkin2442
2017-03-27Minor updatebculkin2442
2017-03-27Continue work on FDSbculkin2442
2017-03-27Add utility for triggered readersbculkin2442
Add a simple utility class for easy I/O prompting on triggered readers.
2017-03-27Implement more BlockReader typesbculkin2442
Adds additional useful block reader types. * LayeredBlockReader, which represents priority * SerialBlockReader, which concatenates readers
2017-03-27Work on FDS morebjculkin
2017-03-27Update FDSstudent
2017-03-27Simplificationsbjculkin
2017-03-27Updatebculkin2442
2017-03-26More FDS workbculkin2442
2017-03-26Update treesbculkin2442
2017-03-26Make BlockReader abstract, with varying impls.bculkin2442
This allows cool things to be accomplished through chaining BlockReaders together without having to handle the block plumbing yourself. The current set of implementations are a simple one that reads blocks from a scanner delimited by a pattern, one that has a queue of blocks it will attempt to pull from before reading, and one that triggers an action before a block is read. As an example use, for FDS, a combo of simple -> triggered -> pushback is used where the triggered is used for prompting the user, and the pushback supports macros.
2017-03-26Updatebculkin2442
2017-03-25Separate general I/O from parsing.bculkin2442
2017-03-25Add static constructorsbculkin2442
2017-03-25Update Pratt parserbculkin2442
2017-03-25General cleanupbculkin2442
2017-03-24Update Pratt Parserbjculkin
2017-03-24Update Pratt Parserbjculkin
2017-03-24Update Pratt parserstudent
2017-03-24Update Pratt parser.bjculkin
2017-03-24Implement Pratt parser.bjculkin
2017-03-23Add forgetful groups.bjculkin
Forgetful groups are groups which reset the currently allowed nested openers/closers from enclosing groups. This is useful for things like quoted strings, where you don't want groups to open inside them. As a consequence, this also adds nested openers. However, predicated openers/closers cannot be nested.
2017-03-22Fix Block toStringbjculkin
The toString for block had the start/end lines backwards :-(
2017-03-22Updatebjculkin
2017-03-20Updatebjculkin
2017-03-20Add BlockReaderbjculkin
Adds BlockReader, which allows you to read blocks of characters delimited by a given sequence from an arbitrary input source. It provides line numbering relative to that source, as well as block numbering. The main caveat is that to prevent spurious NoSuchElementExceptions, EOF is always treated as a valid delimiter, so blocks may be shorter than you expect them to be. This is only meant as a data input utility, not a data validation utility.
2017-03-20Add sample scripts for the DelimSplitter testbjculkin
One script recognizes HTML tags without attributes or tag omission. The other recognizes JSON files.
2017-03-20Minor test updatebjculkin
2017-03-20Update delimiter/splitter examplebjculkin
2017-03-20Add sample predicated openers/closersbjculkin
This adds a sample predicated opener/closer pair based off of regular expressions. The opener accepts a regular expression and will provide all of its numbered captured groups. The closer accepts a format string and uses the parameters (capture groups) as the format parameters.
2017-03-20Move delimiter stuff to a new packagebjculkin
2017-03-20Update delim/splitter examplebjculkin
2017-03-20Add more features to sequence delimiter.bjculkin
Two main features were added. One, various sequence closers can imply a subgroup. This is mainly useful in contexts like arrays, where you want one subgroup per array element. Two, predicated opening/closing delimiters. These allow having both an infinite set of opening delimiters, as well as having a set of closers that is both infinite and dependant on what the opener was. Note, however, that predicated openers and closers will be slower than using normal openers/closers, since every one has to be tried to check if a token is a opener/closer.
2017-03-20Move openers into groups, not globalbjculkin
2017-03-20Minor testing reorgstudent
2017-03-20Add partial testing on descapeStringstudent
2017-03-20Test removeDQuotedStringsstudent
2017-03-20Start work on testing.bjculkin
2017-03-19Fix subgroups.bjculkin
This fixes subgroups, by mostly rewriting the way the delimiter works.
2017-03-19Add prepending children to treesbjculkin
2017-03-18Attempt to get subgroups workingbjculkin
2017-03-18Data used for an examplebjculkin
2017-03-18Add ability to use subgroups for sequences.bjculkin
Subgroups are essentially things like the , in a function call. Now, you should be able to properly have function call arguments marked for you.
2017-03-18Use whole child, not just child head for findbjculkin
2017-03-18Add revFind to treesbjculkin