From 3c0a8e3e33ed90556c38063991379c534f06a848 Mon Sep 17 00:00:00 2001 From: Anjia Wang Date: Mon, 24 Nov 2025 07:12:01 +0000 Subject: [PATCH] Fix collapse clause colon handling and init counters --- src/acclexer.g4 | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/acclexer.g4 b/src/acclexer.g4 index 66527f1..daa798a 100644 --- a/src/acclexer.g4 +++ b/src/acclexer.g4 @@ -43,8 +43,10 @@ lexer grammar acclexer; @ lexer :: declarations { /* private lexer declarations/members section */ - int parenthesis_local_count, parenthesis_global_count, bracket_count; - int colon_count; + int parenthesis_local_count = 0; + int parenthesis_global_count = 0; + int bracket_count = 0; + int colon_count = 0; bool paren_processed = false; } // Appears in line with the other class member definitions in the cpp file. @@ -195,7 +197,12 @@ CAPTURE ; COLLAPSE - : 'collapse' -> pushMode (expr_clause) + : 'collapse' + { + // Allow colon-delimited modifiers like collapse(force:2) to stay inside the expression. + colon_count = 1; +} + -> pushMode (expr_clause) ; PCOPY