From 64081bc49482650b3dc0dca4f056a2cfa7f27202 Mon Sep 17 00:00:00 2001 From: Klesti Selimaj Date: Sun, 28 Jun 2026 07:30:49 +0200 Subject: [PATCH] Tidy up the grammar #94 --- crates/codegen/src/expr.rs | 5 ----- crates/codegen/src/fmt/expr.rs | 6 ------ crates/parser/src/ast/expr.rs | 1 - crates/parser/src/grammar.pest | 5 +++-- crates/parser/src/semantics.rs | 6 ------ 5 files changed, 3 insertions(+), 20 deletions(-) diff --git a/crates/codegen/src/expr.rs b/crates/codegen/src/expr.rs index 5de4435..2a41a91 100644 --- a/crates/codegen/src/expr.rs +++ b/crates/codegen/src/expr.rs @@ -256,11 +256,6 @@ impl GenRust for Postfix { Postfix::Try => cg.add("?"), - Postfix::Assign(cmp, expr) => { - cg.add(" "); - cg.add(cmp); - expr.gen_rust(ctx, cg); - } Postfix::Increment => cg.add("+=1"), Postfix::Decrement => cg.add("-=1"), } diff --git a/crates/codegen/src/fmt/expr.rs b/crates/codegen/src/fmt/expr.rs index ce55bdd..a8e09f3 100644 --- a/crates/codegen/src/fmt/expr.rs +++ b/crates/codegen/src/fmt/expr.rs @@ -164,12 +164,6 @@ impl GenMist for Postfix { cg.add(&ty.get_mist()); } Postfix::Try => cg.add("?"), - Postfix::Assign(cmp, expr) => { - cg.add(" "); - cg.add(cmp); - cg.add(" "); - expr.gen_mist(ctx, cg); - } Postfix::Increment => cg.add("++"), Postfix::Decrement => cg.add("--"), } diff --git a/crates/parser/src/ast/expr.rs b/crates/parser/src/ast/expr.rs index 747ebbf..d1f5f20 100644 --- a/crates/parser/src/ast/expr.rs +++ b/crates/parser/src/ast/expr.rs @@ -62,7 +62,6 @@ pub enum Postfix { delimiter: MacroDelimiter, }, StructCall(Vec<(Identifier, Option)>), - Assign(String, Box), Index(Expression), As(TypeExpr), Increment, diff --git a/crates/parser/src/grammar.pest b/crates/parser/src/grammar.pest index 4cfbbe1..8172ceb 100644 --- a/crates/parser/src/grammar.pest +++ b/crates/parser/src/grammar.pest @@ -12,6 +12,7 @@ COMMENT = _{ "//" ~ (!"\n" ~ ANY)* } keyword = { "if" | "else" + | "fn" | "for" | "while" | "match" @@ -163,7 +164,7 @@ literal = { etc_pattern = { ".." } multi_pat_template = _{ - ((pattern | etc_pattern) ~ ("," ~ (pattern | etc_pattern))*)? + ((pattern | etc_pattern) ~ ("," ~ (pattern | etc_pattern))* ~ ","?)? } tuple_pattern = { @@ -290,7 +291,7 @@ enum_fields = _{ } enum_decl = { - visibility? ~ "enum" ~ identifier ~ generics_decl? ~ "{" ~ enum_fields ~ "}" + visibility? ~ "enum" ~ identifier ~ generics_decl? ~ "{" ~ enum_fields? ~ "}" } // ====================================================== diff --git a/crates/parser/src/semantics.rs b/crates/parser/src/semantics.rs index 73d5a95..6ecda9e 100644 --- a/crates/parser/src/semantics.rs +++ b/crates/parser/src/semantics.rs @@ -317,12 +317,6 @@ impl GetMutability for Expression { // Recurse into all postfix sub-expressions for postfix in postfixes { match postfix { - Postfix::Assign(_, rhs) => { - if let Some(self_ref) = get_self_ref(initial, postfixes) { - result.push(self_ref); - } - result.append(&mut rhs.get_mutability()); - } Postfix::Call(args) => { for arg in args { result.append(&mut arg.get_mutability());