From ac6cb22e45ab4d0845229f58679d4a85b4a25fab Mon Sep 17 00:00:00 2001 From: nitrix Date: Mon, 9 Mar 2020 14:19:43 +0100 Subject: [PATCH] delete print statement --- src/main/antlr4/de/hsrm/compiler/Klang/Klang.g4 | 8 +------- .../de/hsrm/compiler/Klang/ContextAnalysis.java | 12 ------------ .../Klang/nodes/statements/PrintStatement.java | 17 ----------------- .../compiler/Klang/visitors/EvalVisitor.java | 7 ------- .../de/hsrm/compiler/Klang/visitors/GenASM.java | 5 ----- .../hsrm/compiler/Klang/visitors/GetVars.java | 6 ------ .../Klang/visitors/PrettyPrintVisitor.java | 8 -------- .../hsrm/compiler/Klang/visitors/Visitor.java | 1 - 8 files changed, 1 insertion(+), 63 deletions(-) delete mode 100644 src/main/java/de/hsrm/compiler/Klang/nodes/statements/PrintStatement.java diff --git a/src/main/antlr4/de/hsrm/compiler/Klang/Klang.g4 b/src/main/antlr4/de/hsrm/compiler/Klang/Klang.g4 index e8021af..bc821d6 100644 --- a/src/main/antlr4/de/hsrm/compiler/Klang/Klang.g4 +++ b/src/main/antlr4/de/hsrm/compiler/Klang/Klang.g4 @@ -28,8 +28,7 @@ braced_block // Only the first child of a rule alternative will be visited! // i.e. SCOL won't be visited, but thats unneccesary anyway statement - : print - | if_statement + : if_statement | variable_declaration SCOL | variable_assignment SCOL | return_statement @@ -38,10 +37,6 @@ statement | forLoop ; -print - : PRINT expression SCOL - ; - if_statement : IF OPAR cond = expression CPAR then = braced_block (ELSE (alt = braced_block | elif = if_statement) )? ; @@ -123,7 +118,6 @@ forLoop step = variable_assignment CPAR braced_block ; -PRINT: 'print'; IF: 'if'; ELSE: 'else'; FUNC: 'function'; diff --git a/src/main/java/de/hsrm/compiler/Klang/ContextAnalysis.java b/src/main/java/de/hsrm/compiler/Klang/ContextAnalysis.java index 3db76bd..6bc892f 100644 --- a/src/main/java/de/hsrm/compiler/Klang/ContextAnalysis.java +++ b/src/main/java/de/hsrm/compiler/Klang/ContextAnalysis.java @@ -102,18 +102,6 @@ public class ContextAnalysis extends KlangBaseVisitor { return result; } - @Override - public Node visitPrint(KlangParser.PrintContext ctx) { - ctx.start.getLine(); - ctx.start.getCharPositionInLine(); - Node expression = this.visit(ctx.expression()); - PrintStatement result = new PrintStatement((Expression) expression); - result.type = null; - result.line = ctx.start.getLine(); - result.col = ctx.start.getCharPositionInLine(); - return result; - } - @Override public Node visitIf_statement(KlangParser.If_statementContext ctx) { Node condition = this.visit(ctx.cond); diff --git a/src/main/java/de/hsrm/compiler/Klang/nodes/statements/PrintStatement.java b/src/main/java/de/hsrm/compiler/Klang/nodes/statements/PrintStatement.java deleted file mode 100644 index 6ea003c..0000000 --- a/src/main/java/de/hsrm/compiler/Klang/nodes/statements/PrintStatement.java +++ /dev/null @@ -1,17 +0,0 @@ -package de.hsrm.compiler.Klang.nodes.statements; - -import de.hsrm.compiler.Klang.nodes.expressions.Expression; -import de.hsrm.compiler.Klang.visitors.Visitor; - -public class PrintStatement extends Statement { - public Expression expression; - - public PrintStatement(Expression expression) { - this.expression = expression; - } - - @Override - public R welcome(Visitor v) { - return v.visit(this); - } -} \ No newline at end of file diff --git a/src/main/java/de/hsrm/compiler/Klang/visitors/EvalVisitor.java b/src/main/java/de/hsrm/compiler/Klang/visitors/EvalVisitor.java index 2e3495d..74473ca 100644 --- a/src/main/java/de/hsrm/compiler/Klang/visitors/EvalVisitor.java +++ b/src/main/java/de/hsrm/compiler/Klang/visitors/EvalVisitor.java @@ -385,13 +385,6 @@ public class EvalVisitor implements Visitor { return result; } - @Override - public Value visit(PrintStatement e) { - Value value = e.expression.welcome(this); - System.out.println(value.asObject()); - return null; - } - @Override public Value visit(VariableDeclaration e) { Value initialValue = null; diff --git a/src/main/java/de/hsrm/compiler/Klang/visitors/GenASM.java b/src/main/java/de/hsrm/compiler/Klang/visitors/GenASM.java index f8edb42..661562f 100644 --- a/src/main/java/de/hsrm/compiler/Klang/visitors/GenASM.java +++ b/src/main/java/de/hsrm/compiler/Klang/visitors/GenASM.java @@ -556,11 +556,6 @@ public class GenASM implements Visitor { return null; } - @Override - public Void visit(PrintStatement e) { - throw new RuntimeException("Das machen wir mal nicht, ne?!"); - } - @Override public Void visit(VariableDeclaration e) { // If there is an initialization present, diff --git a/src/main/java/de/hsrm/compiler/Klang/visitors/GetVars.java b/src/main/java/de/hsrm/compiler/Klang/visitors/GetVars.java index 666b124..6976677 100644 --- a/src/main/java/de/hsrm/compiler/Klang/visitors/GetVars.java +++ b/src/main/java/de/hsrm/compiler/Klang/visitors/GetVars.java @@ -179,12 +179,6 @@ class GetVars implements Visitor { return null; } - @Override - public Void visit(PrintStatement e) { - e.expression.welcome(this); - return null; - } - @Override public Void visit(VariableDeclaration e) { vars.add(e.name); diff --git a/src/main/java/de/hsrm/compiler/Klang/visitors/PrettyPrintVisitor.java b/src/main/java/de/hsrm/compiler/Klang/visitors/PrettyPrintVisitor.java index da410f5..c82d4d7 100644 --- a/src/main/java/de/hsrm/compiler/Klang/visitors/PrettyPrintVisitor.java +++ b/src/main/java/de/hsrm/compiler/Klang/visitors/PrettyPrintVisitor.java @@ -276,14 +276,6 @@ public class PrettyPrintVisitor implements Visitor { return null; } - @Override - public Void visit(PrintStatement e) { - ex.write("print "); - e.expression.welcome(this); - ex.write(";"); - return null; - } - @Override public Void visit(VariableDeclaration e) { ex.write("let " + e.name + ": " + e.type.getName()); diff --git a/src/main/java/de/hsrm/compiler/Klang/visitors/Visitor.java b/src/main/java/de/hsrm/compiler/Klang/visitors/Visitor.java index 57402f4..727bcd7 100644 --- a/src/main/java/de/hsrm/compiler/Klang/visitors/Visitor.java +++ b/src/main/java/de/hsrm/compiler/Klang/visitors/Visitor.java @@ -32,7 +32,6 @@ public interface Visitor { R visit(WhileLoop e); R visit(DoWhileLoop e); R visit(ForLoop e); - R visit(PrintStatement e); R visit(VariableDeclaration e); R visit(VariableAssignment e); R visit(ReturnStatement e);