summaryrefslogtreecommitdiff
path: root/BJC-Utils2/src/main/java/bjc/utils/parserutils
AgeCommit message (Collapse)Author
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-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 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-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-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-18Attempt to get subgroups workingbjculkin
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-17Move parsing utilities.bjculkin
Moved the parsing utilities SequenceDelimiter and TokenSplitter to the parserutils package, instead of the funcutils package.
2017-03-17Refactor StringUtilsbjculkin
Moved a bunch of token-oriented stuff from StringUtils to a new TokenUtils class.
2017-03-14CleanupEVE
2017-03-13FormattingEVE
2017-02-09Updatebculkin2442
2017-02-06Minor changesbculkin2442
2017-02-05Grammar optimizationbculkin2442
Grammars now only consider things in []'s as rule references
2016-11-16Documentation updatebculkin2442
2016-11-10Doc updatesbculkin2442
2016-10-03Minor reorganizationbculkin2442
2016-09-28Formatting passbculkin2442
2016-08-28Tossed attempt at subrule-supported parserbculkin2442
Also, renamed some tests
2016-08-24Added tentative support for subrulesbculkin2442
Added a new sort of config reader that tentatively supports subrules through indentation. I need to actually write a parser that uses it though. I think something to do with trees would work well for testing it.
2016-07-28Format/Cleanup passbculkin2442
2016-05-11Minor changesbculkin2442
2016-05-10General updatebculkin2442
2016-05-07General changesbculkin2442
2016-04-25General code cleanup, and some more GUI controlsbculkin2442
2016-04-22Formatting changesbculkin2442
2016-04-22Formatting changesbculkin2442
2016-04-18Minor code changesbculkin2442
2016-04-17Code maintenace and changesbculkin2442
2016-04-13Fixed examples using treesbculkin2442
2016-04-13Implemented new tree abstractionbculkin2442
2016-04-11Work on restructing data.bculkin2442
2016-04-11Added new method to pairs and holdersbculkin2442
2016-04-08Switch functional data to use interfacesbculkin2442
2016-04-06Minor bugfixes/changes, as well as beginnings of CLI systemsbculkin2442
2016-04-04Minor changesbculkin2442
2016-04-03Code maintenance and changesbculkin2442
2016-04-03General code refactoring and maintenancebculkin2442
2016-03-31More code maintenancebculkin2442