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 3b0de1d..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 972cabb..01bdc3c 100644 --- a/src/main/java/TP2/asd/SymTable.java +++ b/src/main/java/TP2/asd/SymTable.java @@ -62,6 +62,7 @@ public class SymTable { stackMap.minus(stackMap.indexOf(stackMap.getLast())); } + public PMap peppapeek(){ if(stackMap.isEmpty()){ System.out.println("TEST...............................");