mirror of
https://github.com/erg-lang/erg.git
synced 2025-09-29 12:24:45 +00:00
Fix #205
This commit is contained in:
parent
217d55b476
commit
df0fba34bd
2 changed files with 28 additions and 2 deletions
|
@ -298,8 +298,15 @@ impl Parser {
|
|||
.try_reduce_chunk(true, false)
|
||||
.map_err(|_| self.stack_dec())?;
|
||||
block.push(chunk);
|
||||
self.level -= 1;
|
||||
return Ok(block);
|
||||
if block.last().unwrap().is_definition() {
|
||||
let err = ParseError::simple_syntax_error(0, block.last().unwrap().loc());
|
||||
self.level -= 1;
|
||||
self.errs.push(err);
|
||||
return Err(());
|
||||
} else {
|
||||
self.level -= 1;
|
||||
return Ok(block);
|
||||
}
|
||||
}
|
||||
if !self.cur_is(Newline) {
|
||||
let err = self.skip_and_throw_syntax_err("try_reduce_block");
|
||||
|
@ -362,6 +369,21 @@ impl Parser {
|
|||
self.level -= 1;
|
||||
self.errs.push(err);
|
||||
Err(())
|
||||
} else if block.last().unwrap().is_definition() {
|
||||
let err = ParseError::syntax_error(
|
||||
line!() as usize,
|
||||
block.last().unwrap().loc(),
|
||||
switch_lang!(
|
||||
"japanese" => "ブロックの終端で変数を定義することは出来ません",
|
||||
"simplified_chinese" => "无法在块的末尾定义变量",
|
||||
"traditional_chinese" => "無法在塊的末尾定義變量",
|
||||
"english" => "cannot define a variable at the end of a block",
|
||||
),
|
||||
None,
|
||||
);
|
||||
self.level -= 1;
|
||||
self.errs.push(err);
|
||||
Err(())
|
||||
} else {
|
||||
self.level -= 1;
|
||||
Ok(block)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue