Class BlackHoleChannel


  • public class BlackHoleChannel
    extends Channel<Lexer>
    Allows to skip characters, which match given regular expression.

    Mostly this channel is used with regular expression "\s++" to remove all whitespace characters. And in such case this channel should be the first one in a sequence of channels for performance reasons, because generally whitespace characters are encountered more often than all other and especially between others.

    • Constructor Detail

    • Method Detail

      • consume

        public boolean consume​(CodeReader code,
                               Lexer lexer)
        Description copied from class: Channel
        Tries to consume the character stream at the current reading cursor position (provided by the CodeReader). If the character stream is consumed the method must return true and the OUTPUT object can be fed.
        Specified by:
        consume in class Channel<Lexer>
        Parameters:
        code - the handle on the input character stream
        lexer - the OUTPUT that can be optionally fed by the Channel
        Returns:
        false if the Channel doesn't want to consume the character stream, true otherwise.