lexer: Consume invalid characters
This commit is contained in:
parent
32bde2f749
commit
5c4c8bcb80
@ -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 {
|
||||||
|
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user