|
36 | 36 | //! repetitions indicated by Kleene stars. It only advances or calls out to the |
37 | 37 | //! real Rust parser when no `cur_eis` items remain |
38 | 38 | //! |
39 | | -//! Example: Start parsing `a a a a b` against [· a $( a )* a b]. |
| 39 | +//! Example: |
40 | 40 | //! |
41 | | -//! Remaining input: `a a a a b` |
42 | | -//! `next_eis`: `[· a $( a )* a b]` |
| 41 | +//! ```text, ignore |
| 42 | +//! Start parsing a a a a b against [· a $( a )* a b]. |
43 | 43 | //! |
44 | | -//! - - - Advance over an `a`. - - - |
| 44 | +//! Remaining input: a a a a b |
| 45 | +//! next_eis: [· a $( a )* a b] |
45 | 46 | //! |
46 | | -//! Remaining input: `a a a b` |
47 | | -//! cur: `[a · $( a )* a b]` |
| 47 | +//! - - - Advance over an a. - - - |
| 48 | +//! |
| 49 | +//! Remaining input: a a a b |
| 50 | +//! cur: [a · $( a )* a b] |
48 | 51 | //! Descend/Skip (first item). |
49 | | -//! next: `[a $( · a )* a b] [a $( a )* · a b]`. |
| 52 | +//! next: [a $( · a )* a b] [a $( a )* · a b]. |
50 | 53 | //! |
51 | | -//! - - - Advance over an `a`. - - - |
| 54 | +//! - - - Advance over an a. - - - |
52 | 55 | //! |
53 | | -//! Remaining input: `a a b` |
54 | | -//! cur: `[a $( a · )* a b]` next: `[a $( a )* a · b]` |
| 56 | +//! Remaining input: a a b |
| 57 | +//! cur: [a $( a · )* a b] next: [a $( a )* a · b] |
55 | 58 | //! Finish/Repeat (first item) |
56 | | -//! next: `[a $( a )* · a b] [a $( · a )* a b] [a $( a )* a · b]` |
| 59 | +//! next: [a $( a )* · a b] [a $( · a )* a b] [a $( a )* a · b] |
57 | 60 | //! |
58 | | -//! - - - Advance over an `a`. - - - (this looks exactly like the last step) |
| 61 | +//! - - - Advance over an a. - - - (this looks exactly like the last step) |
59 | 62 | //! |
60 | | -//! Remaining input: `a b` |
61 | | -//! cur: `[a $( a · )* a b]` next: `[a $( a )* a · b]` |
| 63 | +//! Remaining input: a b |
| 64 | +//! cur: [a $( a · )* a b] next: [a $( a )* a · b] |
62 | 65 | //! Finish/Repeat (first item) |
63 | | -//! next: `[a $( a )* · a b] [a $( · a )* a b] [a $( a )* a · b]` |
| 66 | +//! next: [a $( a )* · a b] [a $( · a )* a b] [a $( a )* a · b] |
64 | 67 | //! |
65 | | -//! - - - Advance over an `a`. - - - (this looks exactly like the last step) |
| 68 | +//! - - - Advance over an a. - - - (this looks exactly like the last step) |
66 | 69 | //! |
67 | | -//! Remaining input: `b` |
68 | | -//! cur: `[a $( a · )* a b]` next: `[a $( a )* a · b]` |
| 70 | +//! Remaining input: b |
| 71 | +//! cur: [a $( a · )* a b] next: [a $( a )* a · b] |
69 | 72 | //! Finish/Repeat (first item) |
70 | | -//! next: `[a $( a )* · a b] [a $( · a )* a b]` |
| 73 | +//! next: [a $( a )* · a b] [a $( · a )* a b] |
71 | 74 | //! |
72 | | -//! - - - Advance over a `b`. - - - |
| 75 | +//! - - - Advance over a b. - - - |
73 | 76 | //! |
74 | | -//! Remaining input: `` |
75 | | -//! eof: `[a $( a )* a b ·]` |
| 77 | +//! Remaining input: '' |
| 78 | +//! eof: [a $( a )* a b ·] |
| 79 | +//! ``` |
76 | 80 |
|
77 | 81 | pub use self::NamedMatch::*; |
78 | 82 | pub use self::ParseResult::*; |
@@ -485,7 +489,7 @@ pub fn parse(sess: &ParseSess, tts: TokenStream, ms: &[TokenTree], directory: Op |
485 | 489 | } |
486 | 490 |
|
487 | 491 | fn parse_nt<'a>(p: &mut Parser<'a>, sp: Span, name: &str) -> Nonterminal { |
488 | | - if let "tt" = name { |
| 492 | + if name == "tt" { |
489 | 493 | return token::NtTT(p.parse_token_tree()); |
490 | 494 | } |
491 | 495 | // check at the beginning and the parser checks after each bump |
|
0 commit comments