@Override public Result parseOn(Context context) { String buffer = context.getBuffer(); int start = context.getPosition(); int stop = start + size; if (stop <= buffer.length()) { String result = buffer.substring(start, stop); if (predicate.test(result)) { return context.success(result, stop); } } return context.failure(message); }
@Override public Result parseOn(Context context) { Result result = delegate.parseOn(context); if (result.isSuccess()) { String flattened = context.getBuffer() .substring(context.getPosition(), result.getPosition()); return result.success(flattened); } else { return result; } }
/** * Returns a successful parse result at the current position. * * @param value the value of the parse result */ public Success success(Object value) { return success(value, position); }
/** * Returns a parse failure at the current position. * * @param message the error message of the parse result */ public Failure failure(String message) { return failure(message, position); }
/** * Returns the parse result of the {@code input}. */ public Result parse(String input) { return parseOn(new Context(input, 0)); }
@Override public Result parseOn(Context context) { Result result = delegate.parseOn(context); if (result.isSuccess()) { String flattened = context.getBuffer() .substring(context.getPosition(), result.getPosition()); return result.success(flattened); } else { return result; } }
/** * Returns a successful parse result at the current position. * * @param value the value of the parse result */ public Success success(Object value) { return success(value, position); }
/** * Returns a parse failure at the current position. * * @param message the error message of the parse result */ public Failure failure(String message) { return failure(message, position); }
/** * Returns the parse result of the {@code input}. */ public Result parse(String input) { return parseOn(new Context(input, 0)); }
@Override public Result parseOn(Context context) { String buffer = context.getBuffer(); int start = context.getPosition(); int stop = start + size; if (stop <= buffer.length()) { String result = buffer.substring(start, stop); if (predicate.test(result)) { return context.success(result, stop); } } return context.failure(message); }
@Override public Result parseOn(Context context) { Result result = delegate.parseOn(context); if (result.isSuccess()) { Token token = new Token(context.getBuffer(), context.getPosition(), result.getPosition(), result.get()); return result.success(token); } else { return result; } }
@Override public Result parseOn(Context context) { return context.success(null); }
@Override public Result parseOn(Context context) { return context.failure(message); }
@Override public Result parseOn(Context context) { String buffer = context.getBuffer(); int position = context.getPosition(); if (position < buffer.length()) { char result = buffer.charAt(position); if (matcher.test(result)) { return context.success(result, position + 1); } } return context.failure(message); }
@Override public Result parseOn(Context context) { Result result = delegate.parseOn(context); if (result.isSuccess()) { Token token = new Token(context.getBuffer(), context.getPosition(), result.getPosition(), result.get()); return result.success(token); } else { return result; } }
@Override public Result parseOn(Context context) { return context.success(null); }
@Override public Result parseOn(Context context) { return context.failure(message); }
@Override public Result parseOn(Context context) { String buffer = context.getBuffer(); int position = context.getPosition(); if (position < buffer.length()) { char result = buffer.charAt(position); if (matcher.test(result)) { return context.success(result, position + 1); } } return context.failure(message); }