Class ChunkerMixin.PeekStream

  • Enclosing interface:
    ChunkerMixin

    public static class ChunkerMixin.PeekStream
    extends java.lang.Object
    A stream specialized for "peek ahead" during semantic LOOKAHEAD. Normally, lookahead will assign tokens as it is looking ahead, but this can be problematic, as it can mis-identify and assign a token, causing the real match to be missed. We instead use direct access to tokens and underlying streams, so we can manually identify which paths to take; this can cause our peekaheads to be called multiple times at the same place (since we aren't assigning tokens for quick re-lookup), but we can ameliorate that performance with some light memoization on tokens (later).
    • Method Detail

      • ws

        public io.deephaven.lang.generated.ChunkerMixin.PeekStream.Checker ws()
      • ws

        public io.deephaven.lang.generated.ChunkerMixin.PeekStream.Checker ws​(boolean required)
      • eof

        public io.deephaven.lang.generated.ChunkerMixin.PeekStream.EofChecker eof​(char... cs)
      • is

        public io.deephaven.lang.generated.ChunkerMixin.PeekStream.Checker is​(char... cs)
      • is

        public io.deephaven.lang.generated.ChunkerMixin.PeekStream.Checker is​(java.lang.String s)
      • matches

        public boolean matches​(boolean peeking)