| Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
The toString for block had the start/end lines backwards :-(
|
|
|
|
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.
|
|
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.
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
This fixes subgroups, by mostly rewriting the way the delimiter works.
|
|
|
|
Subgroups are essentially things like the , in a function call.
Now, you should be able to properly have function call arguments marked
for you.
|
|
Moved the parsing utilities SequenceDelimiter and TokenSplitter to the
parserutils package, instead of the funcutils package.
|
|
Moved a bunch of token-oriented stuff from StringUtils to a new TokenUtils
class.
|
|
|
|
|
|
|
|
|
|
Grammars now only consider things in []'s as rule references
|
|
|
|
|
|
|
|
|
|
Also, renamed some tests
|