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

Unified Diff: packages/petitparser/lib/src/json/grammar.dart

Issue 2989763002: Update charted to 0.4.8 and roll (Closed)
Patch Set: Removed Cutch from list of reviewers Created 3 years, 5 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 | « packages/petitparser/lib/src/debug/trace.dart ('k') | packages/petitparser/lib/src/json/parser.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: packages/petitparser/lib/src/json/grammar.dart
diff --git a/packages/petitparser/lib/src/json/grammar.dart b/packages/petitparser/lib/src/json/grammar.dart
deleted file mode 100644
index ba76150d20295a76720ae8ebb4804fd30b593c2f..0000000000000000000000000000000000000000
--- a/packages/petitparser/lib/src/json/grammar.dart
+++ /dev/null
@@ -1,67 +0,0 @@
-part of petitparser.json;
-
-/// JSON grammar.
-class JsonGrammar extends GrammarParser {
- JsonGrammar() : super(const JsonGrammarDefinition());
-}
-
-/// JSON grammar definition.
-class JsonGrammarDefinition extends GrammarDefinition {
- const JsonGrammarDefinition();
-
- start() => ref(value).end();
- token(p) => p.flatten().trim();
-
- array() => ref(token, char('['))
- & ref(elements).optional()
- & ref(token, char(']'));
- elements() => ref(value).separatedBy(ref(token, char(',')), includeSeparators: false);
- members() => ref(pair).separatedBy(ref(token, char(',')), includeSeparators: false);
- object() => ref(token, char('{'))
- & ref(members).optional()
- & ref(token, char('}'));
- pair() => ref(stringToken)
- & ref(token, char(':'))
- & ref(value);
- value() => ref(stringToken)
- | ref(numberToken)
- | ref(object)
- | ref(array)
- | ref(trueToken)
- | ref(falseToken)
- | ref(nullToken);
-
- trueToken() => ref(token, string('true'));
- falseToken() => ref(token, string('false'));
- nullToken() => ref(token, string('null'));
- stringToken() => ref(token, ref(stringPrimitive));
- numberToken() => ref(token, ref(numberPrimitive));
-
- characterPrimitive() => ref(characterNormal)
- | ref(characterEscape)
- | ref(characterUnicode);
- characterNormal() => pattern('^"\\');
- characterEscape() => char('\\')
- & pattern(new List.from(jsonEscapeChars.keys).join());
- characterUnicode() => string('\\u')
- & pattern("0-9A-Fa-f").times(4);
- numberPrimitive() => char('-').optional()
- & char('0').or(digit().plus())
- & char('.').seq(digit().plus()).optional()
- & pattern('eE').seq(pattern('-+').optional()).seq(digit().plus()).optional();
- stringPrimitive() => char('"')
- & ref(characterPrimitive).star()
- & char('"');
-
-}
-
-const jsonEscapeChars = const {
- '\\': '\\',
- '/': '/',
- '"': '"',
- 'b': '\b',
- 'f': '\f',
- 'n': '\n',
- 'r': '\r',
- 't': '\t'
-};
« no previous file with comments | « packages/petitparser/lib/src/debug/trace.dart ('k') | packages/petitparser/lib/src/json/parser.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698