mirror of
https://github.com/erg-lang/erg.git
synced 2025-08-04 02:39:20 +00:00
fix(parser): skip multi nested dedent
This commit is contained in:
parent
0dba4da58a
commit
0b36b48642
1 changed files with 9 additions and 1 deletions
|
@ -264,11 +264,19 @@ impl Parser {
|
|||
}
|
||||
|
||||
fn until_dedent(&mut self) {
|
||||
let mut nest_cnt = 1;
|
||||
while let Some(t) = self.peek() {
|
||||
match t.kind {
|
||||
Indent => {
|
||||
self.skip();
|
||||
nest_cnt += 1;
|
||||
}
|
||||
Dedent => {
|
||||
self.skip();
|
||||
return;
|
||||
nest_cnt -= 1;
|
||||
if nest_cnt <= 0 {
|
||||
return;
|
||||
}
|
||||
}
|
||||
EOF => return,
|
||||
_ => {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue