summaryrefslogtreecommitdiffstats
path: root/src/Compiler/Translator.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/Compiler/Translator.java')
-rw-r--r--src/Compiler/Translator.java9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/Compiler/Translator.java b/src/Compiler/Translator.java
index 4c5da89..c5c5bc7 100644
--- a/src/Compiler/Translator.java
+++ b/src/Compiler/Translator.java
@@ -56,6 +56,9 @@ public class Translator{
case "doStmt":
evalDoStatement((DoStatement)statement);
break;
+ case "dowhileStmt":
+ evalDoWhileStatement((DoWhileStatement)statement);
+ break;
}
}
private void evalExpressionStatement(ExpressionStatement stmt){
@@ -137,6 +140,12 @@ public class Translator{
CCode.add("}");
}
+ private void evalDoWhileStatement(DoWhileStatement dowhilestatement){
+ CCode.add("while("+evaluateExpression(dowhilestatement.condition)+"){");
+ evaluateStatement(dowhilestatement.codeBlock);
+ CCode.add("}");
+ }
+
private String evaluateExpression(Expression expression){
switch(expression.getExpressionType()){
case "binary":