Minimal Imperative Parsing Library | https://docs.rs/mipl

avoid panic! in subparsers

ecsolticia.codeberg.page 765e455d 15a77bd5

verified
+5 -9
+3 -3
src/parser/subparser/collect_till.rs
··· 20 20 let mut tokens: Tokens = Tokens::new_empty(); 21 21 22 22 loop { 23 - if let Some(_tok) = op.try_next(parser) { 23 + if let Some(_token) = op.try_next_token(parser) { 24 24 break; 25 25 } else { 26 - if let Some(tok) = parser.next() { 27 - tokens.add_token(tok); 26 + if let Some(token) = parser.next() { 27 + tokens.add_token(token); 28 28 } else { 29 29 break; 30 30 }
+2 -6
src/parser/subparser/collect_while.rs
··· 21 21 let mut tokens = Tokens::new_empty(); 22 22 23 23 loop { 24 - if let Some(_s) = op.peek_for(parser) { 25 - if let Some(tok) = parser.next() { 26 - tokens.add_token(tok) 27 - } else { 28 - panic!("Unexpected code path traced"); 29 - } 24 + if let Some(token) = op.try_next_token(parser) { 25 + tokens.add_token(token); 30 26 } else { 31 27 break; 32 28 }