Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1162)

Unified Diff: petitparser/lib/src/core/actions.dart

Issue 1400473008: Roll Observatory packages and add a roll script (Closed) Base URL: git@github.com:dart-lang/observatory_pub_packages.git@master
Patch Set: Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « petitparser/lib/smalltalk.dart ('k') | petitparser/lib/src/core/characters.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: petitparser/lib/src/core/actions.dart
diff --git a/petitparser/lib/src/core/actions.dart b/petitparser/lib/src/core/actions.dart
deleted file mode 100644
index 010af5ff8d7c1cdfdee27565bf39717f092abd90..0000000000000000000000000000000000000000
--- a/petitparser/lib/src/core/actions.dart
+++ /dev/null
@@ -1,122 +0,0 @@
-part of petitparser;
-
-/**
- * A parser that performs a transformation with a given function on the
- * successful parse result of the delegate.
- */
-class ActionParser extends DelegateParser {
- final Function _function;
-
- ActionParser(parser, this._function) : super(parser);
-
- @override
- Result parseOn(Context context) {
- var result = _delegate.parseOn(context);
- if (result.isSuccess) {
- return result.success(_function(result.value));
- } else {
- return result;
- }
- }
-
- @override
- Parser copy() => new ActionParser(_delegate, _function);
-
- @override
- bool hasEqualProperties(Parser other) {
- return other is ActionParser
- && super.hasEqualProperties(other)
- && _function == other._function;
- }
-}
-
-/**
- * A parser that silently consumes input of another parser around
- * its delegate.
- */
-class TrimmingParser extends DelegateParser {
- Parser _left;
- Parser _right;
-
- TrimmingParser(parser, this._left, this._right) : super(parser);
-
- @override
- Result parseOn(Context context) {
- var current = context;
- do {
- current = _left.parseOn(current);
- } while (current.isSuccess);
- var result = _delegate.parseOn(current);
- if (result.isFailure) {
- return result;
- }
- current = result;
- do {
- current = _right.parseOn(current);
- } while (current.isSuccess);
- return current.success(result.value);
- }
-
- @override
- Parser copy() => new TrimmingParser(_delegate, _left, _right);
-
- @override
- List<Parser> get children => [_delegate, _left, _right];
-
- @override
- void replace(Parser source, Parser target) {
- super.replace(source, target);
- if (_left == source) {
- _left = target;
- }
- if (_right == source) {
- _right = target;
- }
- }
-}
-
-/**
- * A parser that answers a substring or sub-list of the range its delegate
- * parses.
- */
-class FlattenParser extends DelegateParser {
- FlattenParser(parser) : super(parser);
-
- @override
- Result parseOn(Context context) {
- var result = _delegate.parseOn(context);
- if (result.isSuccess) {
- var output = context.buffer is String
- ? context.buffer.substring(context.position, result.position)
- : context.buffer.sublist(context.position, result.position);
- return result.success(output);
- } else {
- return result;
- }
- }
-
- @override
- Parser copy() => new FlattenParser(_delegate);
-}
-
-/**
- * A parser that answers a token of the result its delegate parses.
- */
-class TokenParser extends DelegateParser {
- TokenParser(parser) : super(parser);
-
- @override
- Result parseOn(Context context) {
- var result = _delegate.parseOn(context);
- if (result.isSuccess) {
- var token = new Token(
- result.value, context.buffer, context.position, result.position);
- return result.success(token);
- } else {
- return result;
- }
- }
-
- @override
- Parser copy() => new TokenParser(_delegate);
-}
« no previous file with comments | « petitparser/lib/smalltalk.dart ('k') | petitparser/lib/src/core/characters.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698