sketched out plans for new parser and object management framework; which will be pulled out of here later
sketched out plans for new parser and object management framework; which will be pulled out of here later
working on the first version of Bytes
copied Bytes and mutated into Characters (all because Java cannot generify primitives)
working on decoding bytes into characters (Bytes->Characters)
overflow not required as the target char buffer will always be 'large enough'; or at least decoding will halt and be resumed with a new buffer later ;)
aborted optimising toCharacters/multi buff scenario as a job for later; candidate solution is to not use Bytes at all and use a Channel to go to Characters directly. Thus optimisation would be left for the java platform
moved Bytes and Characters out to their own push parser module
added containsAt to characters
added CharCharacters to Characters
stripped seperate stream offset count from Characters in favour of count within CharPosition
added ConstantMatcher to the push parser
pulled out parts of ConstantMatcher in preperation for RegExpMatcher to reuse
added a reg exp matcher to the push parser
added a skip whitespace decorating matcher to push parser
added extra Matcher states
tweaked assert in Matchers
halting work on ListMatcher (push matcher) as I am approaching the point where back tracking will need to be handled. looking at Characters I do not like how manual it is to preserve characters that were received after the Matcher was created. It works fine for a single matcher, poorly for a tree of matchers. As such I am going to investigate options as having a solution here that works asynchronously without blocking threads and being readable is a worthy goal