From 0cdf1abf828540eff6b3139e96380b10da34c971 Mon Sep 17 00:00:00 2001 From: Sofia Date: Tue, 14 Apr 2026 14:17:17 +0300 Subject: [PATCH] Tweak parsing --- src/parsing.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/parsing.cpp b/src/parsing.cpp index ed8c723..0e6b0e6 100644 --- a/src/parsing.cpp +++ b/src/parsing.cpp @@ -101,16 +101,9 @@ namespace parsing { try { auto before_meta = inner.metadata(); - if (inner.peek().content == "(") { - inner.next(); - auto expr = parse_expression(inner).unwrap(); - inner.expect(token::Type::Symbol, ")"); - stream.m_position = inner.m_position; - return expr; - } if (auto cast = parse_cast(inner); cast.ok()) { - auto expr = parse_expression(inner).unwrap(); + auto expr = parse_primary_expression(inner).unwrap(); stream.m_position = inner.m_position; return std::unique_ptr{ new AST::CastExpression{ @@ -120,6 +113,13 @@ namespace parsing { } }; } + else if (inner.peek().content == "(") { + inner.next(); + auto expr = parse_expression(inner).unwrap(); + inner.expect(token::Type::Symbol, ")"); + stream.m_position = inner.m_position; + return expr; + } else if (inner.peek().content == "&") { inner.next(); auto expr = parse_primary_expression(inner).unwrap();