| Index: petitparser/lib/src/core/predicates.dart
|
| diff --git a/petitparser/lib/src/core/predicates.dart b/petitparser/lib/src/core/predicates.dart
|
| deleted file mode 100644
|
| index 36c58a13b2bafe84c99539aff6ad2afcbcfbb426..0000000000000000000000000000000000000000
|
| --- a/petitparser/lib/src/core/predicates.dart
|
| +++ /dev/null
|
| @@ -1,129 +0,0 @@
|
| -part of petitparser;
|
| -
|
| -/**
|
| - * Returns a parser that accepts any input element.
|
| - *
|
| - * For example, `any()` succeeds and consumes any given letter. It only
|
| - * fails for an empty input.
|
| - */
|
| -Parser any([String message = 'input expected']) {
|
| - return new AnyParser(message);
|
| -}
|
| -
|
| -/**
|
| - * A parser that accepts any input element.
|
| - */
|
| -class AnyParser extends Parser {
|
| - final String _message;
|
| -
|
| - AnyParser(this._message);
|
| -
|
| - @override
|
| - Result parseOn(Context context) {
|
| - var position = context.position;
|
| - var buffer = context.buffer;
|
| - return position < buffer.length
|
| - ? context.success(buffer[position], position + 1)
|
| - : context.failure(_message);
|
| - }
|
| -
|
| - @override
|
| - Parser copy() => new AnyParser(_message);
|
| -
|
| - @override
|
| - bool hasEqualProperties(Parser other) {
|
| - return other is AnyParser
|
| - && super.hasEqualProperties(other)
|
| - && _message == other._message;
|
| - }
|
| -}
|
| -
|
| -/**
|
| - * Returns a parser that accepts any of the [elements].
|
| - *
|
| - * For example, `anyIn('ab')` succeeds and consumes either the letter
|
| - * `'a'` or the letter `'b'`. For any other input the parser fails.
|
| - */
|
| -Parser anyIn(elements, [String message]) {
|
| - return predicate(1, (each) => elements.indexOf(each) >= 0,
|
| - message != null ? message : 'any of $elements expected');
|
| -}
|
| -
|
| -/**
|
| - * Returns a parser that accepts the string [element].
|
| - *
|
| - * For example, `string('foo')` succeeds and consumes the input string
|
| - * `'foo'`. Fails for any other input.
|
| - */
|
| -Parser string(String element, [String message]) {
|
| - return predicate(element.length, (String each) => element == each,
|
| - message != null ? message : '$element expected');
|
| -}
|
| -
|
| -/**
|
| - * Returns a parser that accepts the string [element] ignoring the case.
|
| - *
|
| - * For example, `stringIgnoreCase('foo')` succeeds and consumes the input
|
| - * string `'Foo'` or `'FOO'`. Fails for any other input.
|
| - */
|
| -Parser stringIgnoreCase(String element, [String message]) {
|
| - final lowerElement = element.toLowerCase();
|
| - return predicate(element.length,
|
| - (String each) => lowerElement == each.toLowerCase(),
|
| - message != null ? message : '$element expected');
|
| -}
|
| -
|
| -/**
|
| - * A generic predicate function returning [true] or [false] for a given
|
| - * [input] argument.
|
| - */
|
| -typedef bool Predicate(input);
|
| -
|
| -/**
|
| - * Returns a parser that reads input of the specified [length], accepts
|
| - * it if the [predicate] matches, or fails with the given [message].
|
| - */
|
| -Parser predicate(int length, Predicate predicate, String message) {
|
| - return new PredicateParser(length, predicate, message);
|
| -}
|
| -
|
| -/**
|
| - * A parser for a literal satisfying a predicate.
|
| - */
|
| -class PredicateParser extends Parser {
|
| - final int _length;
|
| - final Predicate _predicate;
|
| - final String _message;
|
| -
|
| - PredicateParser(this._length, this._predicate, this._message);
|
| -
|
| - @override
|
| - Result parseOn(Context context) {
|
| - final start = context.position;
|
| - final stop = start + _length;
|
| - if (stop <= context.buffer.length) {
|
| - var result = context.buffer is String
|
| - ? context.buffer.substring(start, stop)
|
| - : context.buffer.sublist(start, stop);
|
| - if (_predicate(result)) {
|
| - return context.success(result, stop);
|
| - }
|
| - }
|
| - return context.failure(_message);
|
| - }
|
| -
|
| - @override
|
| - String toString() => '${super.toString()}[$_message]';
|
| -
|
| - @override
|
| - Parser copy() => new PredicateParser(_length, _predicate, _message);
|
| -
|
| - @override
|
| - bool hasEqualProperties(Parser other) {
|
| - return other is PredicateParser
|
| - && super.hasEqualProperties(other)
|
| - && _length == other._length
|
| - && _predicate == other._predicate
|
| - && _message == other._message;
|
| - }
|
| -}
|
|
|