From 9977e25dcc3f2cecdcd7a0f5586dd239d4e8a84b Mon Sep 17 00:00:00 2001 From: Vu Tuan Minh Date: Wed, 9 Apr 2025 16:06:01 +0200 Subject: [PATCH] modify print --- src/main/antlr/VSLParser.g | 15 +++++++-------- src/main/java/TP2/asd/Program.java | 4 ++-- src/main/java/TP2/asd/SymTable.java | 2 ++ 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/main/antlr/VSLParser.g b/src/main/antlr/VSLParser.g index 08bebc3..c9bef64 100644 --- a/src/main/antlr/VSLParser.g +++ b/src/main/antlr/VSLParser.g @@ -82,15 +82,15 @@ instruction returns [Instruction out]: {$out = new DeclarationImp($t.return_type, declare);} | // PRINT PRINT - {ArrayList printer= new ArrayList();} + {ArrayList printer= new ArrayList();} (t1=TEXT { String text= $t1.getText(); printer.add(text.substring(1,text.length()-1)); } |e1=expression - { String text_e= $e1.out.toString(); - printer.add(text_e); + { + printer.add($e1.out); }) (VIRGULE (t2=TEXT { @@ -99,19 +99,18 @@ instruction returns [Instruction out]: } | e2=expression { - String text_e2= $e2.out.toString(); - printer.add(text_e2); + printer.add($e2.out); } ))* {$out = new PrintImp(printer);} | //READ READ i1=ident { - ArrayList read= new ArrayList(); - read.add($i1.out); + ArrayList read= new ArrayList(); + read.add(new VarImp($i1.out)); }(VIRGULE i2=ident { - read.add($i2.out); + read.add(new VarImp($i1.out)); })* {$out = new ReadImp(read);} diff --git a/src/main/java/TP2/asd/Program.java b/src/main/java/TP2/asd/Program.java index 3720ea1..6d83760 100644 --- a/src/main/java/TP2/asd/Program.java +++ b/src/main/java/TP2/asd/Program.java @@ -74,14 +74,14 @@ public class Program{ } } - public static record PrintImp(ArrayList t) implements Instruction{ + public static record PrintImp(ArrayList t) implements Instruction{ @Override public S accept(InstrVisitor v, H h) { return v.visitPrint(this, h); } } - public static record ReadImp(ArrayList t) implements Instruction{ + public static record ReadImp(ArrayList t) implements Instruction{ @Override public S accept(InstrVisitor v, H h) { return v.visitRead(this, h); diff --git a/src/main/java/TP2/asd/SymTable.java b/src/main/java/TP2/asd/SymTable.java index 343841a..86ad6bc 100644 --- a/src/main/java/TP2/asd/SymTable.java +++ b/src/main/java/TP2/asd/SymTable.java @@ -31,6 +31,7 @@ public class SymTable { stackMap.minus(stackMap.indexOf(stackMap.getLast())); } public PMap peppapeek(){ + System.out.print("TEST0"); return stackMap.getLast(); } @@ -40,6 +41,7 @@ public class SymTable { pmap= pmap.plus(s/*+"_"+this.id*/,t); //this.id++; //Delete old ones + System.out.print("TEST1"); stackMap.minus(stackMap.indexOf(stackMap.getLast())); //Push the new one stackMap.plus(pmap);