treat unexpected EOF as incomplete reduction in bracketed_comment

This commit is contained in:
Mark
2023-07-07 13:04:27 -06:00
parent b7f77d1747
commit 4db0b385f3
2 changed files with 22 additions and 7 deletions

View File

@@ -168,17 +168,32 @@ impl<'a, R: CharRead> Lexer<'a, R> {
let mut c = self.lookahead_char()?;
loop {
while !comment_2_char!(c) {
let mut comment_loop = || {
loop {
while !comment_2_char!(c) {
self.skip_char(c);
c = self.lookahead_char()?;
}
self.skip_char(c);
c = self.lookahead_char()?;
if comment_1_char!(c) {
break;
}
}
self.skip_char(c);
c = self.lookahead_char()?;
Ok(())
};
if comment_1_char!(c) {
break;
match comment_loop() {
Err(ParserError::UnexpectedEOF) => {
return Err(ParserError::IncompleteReduction(self.line_num, self.col_num));
}
Err(e) => {
return Err(e);
}
Ok(_) => {
}
}