Пример #1
0
  @Override
  public Token produce(final T reader, final P productionStack, final B builder) {
    for (; ; ) {
      final Token token = reader.peek();

      if (token == null || token == EndOfStreamToken.EOS) {
        return EndOfStreamToken.EOS;
      } else if (token.type().isWhitespace()) {
        reader.next(); // Discard Whitespace
      } else {
        this.p.produce(reader, productionStack, builder);
        return null;
      }
    }
  }