From 4fe3f00055cc9cd15d4fd6bbf4c18e3bd40f2dae Mon Sep 17 00:00:00 2001
From: Arnaud LABOUREL <arnaud.labourel@lis-lab.fr>
Date: Mon, 10 Mar 2025 15:35:41 +0100
Subject: [PATCH] corrected expression grammar

---
 src/main/antlr/Expression.g4                        | 5 +++--
 src/main/java/sample/visitor/EvaluationVisitor.java | 5 +++++
 src/main/java/sample/visitor/Main.java              | 3 ++-
 3 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/src/main/antlr/Expression.g4 b/src/main/antlr/Expression.g4
index 2c9ada6..f005c7e 100644
--- a/src/main/antlr/Expression.g4
+++ b/src/main/antlr/Expression.g4
@@ -7,9 +7,10 @@ package sample;
 expression: expression PLUS expression # Addition
             |   expression TIMES expression # Multiplication
             |   INT # Integer
-            |   '(' expression ')' # ParenthesedExpression ;
-
+            |   OPENING_PARENTHESIS expression CLOSING_PARENTHESIS # InParenthesesExpression ;
 
+OPENING_PARENTHESIS: '(';
+CLOSING_PARENTHESIS: ')';
 PLUS : '+';
 TIMES : '*';
 INT : [0-9]+ ;
\ No newline at end of file
diff --git a/src/main/java/sample/visitor/EvaluationVisitor.java b/src/main/java/sample/visitor/EvaluationVisitor.java
index d4935bd..5543ed2 100644
--- a/src/main/java/sample/visitor/EvaluationVisitor.java
+++ b/src/main/java/sample/visitor/EvaluationVisitor.java
@@ -5,6 +5,11 @@ import sample.ExpressionParser;
 
 public class EvaluationVisitor extends ExpressionBaseVisitor<Integer> {
 
+    @Override
+    public Integer visitInParenthesesExpression(ExpressionParser.InParenthesesExpressionContext ctx) {
+        return ctx.expression().accept(this);
+    }
+
     @Override
     public Integer visitAddition(ExpressionParser.AdditionContext ctx) {
         return ctx.expression().getFirst().accept(this) + ctx.expression().getLast().accept(this);
diff --git a/src/main/java/sample/visitor/Main.java b/src/main/java/sample/visitor/Main.java
index 32a1fb2..f423ce9 100644
--- a/src/main/java/sample/visitor/Main.java
+++ b/src/main/java/sample/visitor/Main.java
@@ -24,7 +24,8 @@ public class Main {
             EvaluationVisitor visitor = new EvaluationVisitor();
 
 
-            System.out.println(visitor.visit(tree));
+            Integer value = visitor.visit(tree);
+            System.out.println(value);
 
             //show AST in console
             System.out.println(tree.toStringTree(parser));
-- 
GitLab