From e3135778d50ee9f28e3c32f2b08a005859fb5d0e Mon Sep 17 00:00:00 2001 From: GreasySlug <9619abgoni@gmail.com> Date: Sun, 21 Aug 2022 11:34:55 +0900 Subject: [PATCH] Updated to remove field With this, try_reduce_tuple were changed from self.lpop() to self.skip() --- compiler/erg_parser/ast.rs | 8 ++------ compiler/erg_parser/parse.rs | 14 +++++--------- 2 files changed, 7 insertions(+), 15 deletions(-) diff --git a/compiler/erg_parser/ast.rs b/compiler/erg_parser/ast.rs index 00c302ad..7d847f89 100644 --- a/compiler/erg_parser/ast.rs +++ b/compiler/erg_parser/ast.rs @@ -493,8 +493,6 @@ impl_locational_for_enum!(Array; Normal, WithLength, Comprehension); #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub struct NormalTuple { - pub l_paren: Token, - pub r_paren: Token, pub elems: Args, } @@ -505,13 +503,11 @@ impl NestedDisplay for NormalTuple { } impl_display_from_nested!(NormalTuple); -impl_locational!(NormalTuple, l_paren, r_paren); +impl_locational!(NormalTuple, elems, elems); impl NormalTuple { - pub fn new(l_paren: Token, r_paren: Token, elems: Args) -> Self { + pub fn new(elems: Args) -> Self { Self { - l_paren, - r_paren, elems, } } diff --git a/compiler/erg_parser/parse.rs b/compiler/erg_parser/parse.rs index a795226d..3c0ba1cb 100644 --- a/compiler/erg_parser/parse.rs +++ b/compiler/erg_parser/parse.rs @@ -1854,17 +1854,13 @@ impl Parser { #[inline] fn try_reduce_tuple(&mut self) -> ParseResult { debug_call_info!(self); - let l_paren = self.lpop(); + self.skip(); let inner = self.try_reduce_elems().map_err(|_| self.stack_dec())?; - let r_paren = self.lpop(); - if !r_paren.is(RParen) { - self.level -= 1; - self.errs - .push(ParseError::simple_syntax_error(0, r_paren.loc())); - return Err(()); - } + self.skip(); let tpl = match inner { - ArrayInner::Normal(elems) => Tuple::Normal(NormalTuple::new(l_paren, r_paren, elems)), + ArrayInner::Normal(elems) => { + Tuple::Normal(NormalTuple::new(elems)) + }, ArrayInner::Comprehension { elem: _, generators: _,