From ad276fffb31c77135d802db6f460e1e78aeef974 Mon Sep 17 00:00:00 2001 From: Ben Bridle Date: Fri, 4 Jul 2025 21:39:00 +1200 Subject: Raise error if an instruction name is redefined --- src/stages/semantic_tokens.rs | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/stages/semantic_tokens.rs') diff --git a/src/stages/semantic_tokens.rs b/src/stages/semantic_tokens.rs index fc454be..c735828 100644 --- a/src/stages/semantic_tokens.rs +++ b/src/stages/semantic_tokens.rs @@ -49,6 +49,7 @@ pub enum SemanticToken { pub enum SemanticError { InvocationBeforeDefinition, + ReservedIdentifier(String), } @@ -64,6 +65,8 @@ fn report_semantic_error(error: &Tracked, source_code: &str) { let message = match &error.value { SemanticError::InvocationBeforeDefinition => "Macro cannot be invoked before it has been defined", + SemanticError::ReservedIdentifier(name) => + &format!("Identifier '{name}' is reserved for a built-in instruction"), }; report_source_issue(LogLevel::Error, &context, message); } -- cgit v1.2.3-70-g09d2