lexer: Consume invalid characters

This commit is contained in:
John 2023-10-25 19:28:54 -05:00
parent 32bde2f749
commit 5c4c8bcb80
2 changed files with 9 additions and 5 deletions

View File

@ -46,7 +46,7 @@ fn lex_tokens(file: &str, path: Option<&Path>) -> Result<(), Box<dyn Error>> {
Ok(t) => t, Ok(t) => t,
Err(e) => { Err(e) => {
println!("{e:?}"); println!("{e:?}");
break; continue;
}, },
}; };
if let Some(path) = path { if let Some(path) = path {

View File

@ -123,7 +123,11 @@ impl<'t> Lexer<'t> {
'\'' => self.consume()?.character(), '\'' => self.consume()?.character(),
'_' => self.identifier(), '_' => self.identifier(),
i if i.is_xid_start() => self.identifier(), i if i.is_xid_start() => self.identifier(),
e => Err(Error::unexpected_char(e, self.line(), self.col())), e => {
let err = Err(Error::unexpected_char(e, self.line(), self.col()));
let _ = self.consume();
err
}
} }
} }
/// Returns the current line /// Returns the current line