From 8f820bfb507f3dfd444408a5defd09ce9e14c288 Mon Sep 17 00:00:00 2001 From: Selimaj Dev Date: Tue, 19 May 2026 10:44:51 +0200 Subject: [PATCH] Fix: future ambiguities via !keyword --- mist-test/src/main.mist | 2 -- parser/src/grammar.pest | 27 ++++++++++++++++++++++++++- 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/mist-test/src/main.mist b/mist-test/src/main.mist index 2b59b1f..853e686 100644 --- a/mist-test/src/main.mist +++ b/mist-test/src/main.mist @@ -5,8 +5,6 @@ pub mod logger; pub mod event; void main() { - Vec args = env::args().collect(); - var mut app_instance = new app::Application("mist-app"); // greeting::register(&mut app_instance); diff --git a/parser/src/grammar.pest b/parser/src/grammar.pest index 3d8e5fe..caac283 100644 --- a/parser/src/grammar.pest +++ b/parser/src/grammar.pest @@ -9,7 +9,32 @@ COMMENT = _{ "//" ~ (!"\n" ~ ANY)* } // PRIMITIVES // ------------------------------------------------------ -identifier = @{ (ASCII_ALPHA | "_") ~ (ASCII_ALPHANUMERIC | "_")* } +keyword = { + "if" + | "else" + | "for" + | "while" + | "match" + | "return" + | "break" + | "continue" + | "struct" + | "enum" + | "class" + | "trait" + | "impl" + | "pub" + | "mut" + | "var" + | "true" + | "false" + | "dyn" + | "self" +} + +identifier = @{ + !keyword ~ (ASCII_ALPHA | "_") ~ (ASCII_ALPHANUMERIC | "_")* +} integer = @{ ASCII_DIGIT+ }