diff options
| author | Paul Stansifer <paul.stansifer@gmail.com> | 2012-07-05 17:33:39 -0700 |
|---|---|---|
| committer | Paul Stansifer <paul.stansifer@gmail.com> | 2012-07-05 18:09:31 -0700 |
| commit | a8112f3b348645f6f487aaa1ae0918b719045f1b (patch) | |
| tree | ba0e8358bfc4e18eadeb0b13d6164f20ff102681 /src/libsyntax/parse/parser.rs | |
| parent | 7f9b1fbe350ee16008f16f13254420da3679f60d (diff) | |
| download | rust-a8112f3b348645f6f487aaa1ae0918b719045f1b.tar.gz rust-a8112f3b348645f6f487aaa1ae0918b719045f1b.zip | |
Allow soft failure of the macro parser.
Diffstat (limited to 'src/libsyntax/parse/parser.rs')
| -rw-r--r-- | src/libsyntax/parse/parser.rs | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs index ae3cbc141c2..8bac3e0d751 100644 --- a/src/libsyntax/parse/parser.rs +++ b/src/libsyntax/parse/parser.rs @@ -1210,7 +1210,7 @@ class parser { /* temporary */ fn parse_tt_mac_demo() -> @expr { - + import ext::tt::earley_parser::{parse,success,failure}; let name_idx = @mut 0u; let ms = self.parse_seq(token::LBRACE, token::RBRACE, common::seq_sep_none(), @@ -1225,8 +1225,10 @@ class parser { self.reader.interner(), none, tts) as reader; - let matches = ext::tt::earley_parser::parse - (self.sess, self.cfg, rdr, ms); + let matches = alt parse(self.sess, self.cfg, rdr, ms) { + success(m) { m } + failure(sp, msg) { self.span_fatal(sp,msg); } + }; let transcriber = ext::tt::transcribe::new_tt_reader (self.reader.span_diag(), self.reader.interner(), |
