From c7a26d3c6125caa9239cec9bf08db935d98e19c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?William=20Herg=C3=A8s?= Date: Sat, 8 Nov 2025 22:53:41 +0100 Subject: feat(syntax): eval statement --- src/elixir_math_parser.yrl | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'src/elixir_math_parser.yrl') diff --git a/src/elixir_math_parser.yrl b/src/elixir_math_parser.yrl index 3ec4946..17b46ad 100644 --- a/src/elixir_math_parser.yrl +++ b/src/elixir_math_parser.yrl @@ -31,11 +31,12 @@ Left 600 '('. root -> statements : '$1'. -statements -> statement : '$1'. -statements -> statement statements : lists:merge('$1', '$2'). -statements -> statement ';;' statements : lists:merge('$1', '$3'). +statements -> statement : ['$1']. +statements -> statement statements : ['$1'|'$2']. +statements -> statement ';;' statements : ['$1'|'$3']. -statement -> atom '=' expr : [{assign, '$1', '$3'}]. +statement -> atom '=' expr : {assign, '$1', '$3'}. +statement -> expr : {eval, '$1'}. expr -> int : unwrap('$1'). expr -> atom : '$1'. -- cgit v1.2.3