|
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