summaryrefslogtreecommitdiff
path: root/Shenanigans/src/org/archphantom/shenanigans/examples
diff options
context:
space:
mode:
authorGeonoTRON2000 <geono@thegt.org>2014-05-02 21:00:45 -0700
committerGeonoTRON2000 <geono@thegt.org>2014-05-02 21:00:45 -0700
commit196117c0da164c226e111cc72a6cc169634f91c5 (patch)
tree11ebfc6e941d2f8a0f2001377f9710552a9558b6 /Shenanigans/src/org/archphantom/shenanigans/examples
parent508b66baa22aa54b940606663dd569eee03397ee (diff)
downloadshenanigans-196117c0da164c226e111cc72a6cc169634f91c5.tar.gz
Fixed variable and array storage glitch, cleaned up array printing.
Diffstat (limited to 'Shenanigans/src/org/archphantom/shenanigans/examples')
-rw-r--r--Shenanigans/src/org/archphantom/shenanigans/examples/AddIt.java9
-rw-r--r--Shenanigans/src/org/archphantom/shenanigans/examples/Factorial.java9
-rw-r--r--Shenanigans/src/org/archphantom/shenanigans/examples/FactorialZ.java9
-rw-r--r--Shenanigans/src/org/archphantom/shenanigans/examples/ShiftIt.java11
4 files changed, 13 insertions, 25 deletions
diff --git a/Shenanigans/src/org/archphantom/shenanigans/examples/AddIt.java b/Shenanigans/src/org/archphantom/shenanigans/examples/AddIt.java
index 158f9d4..d898bd4 100644
--- a/Shenanigans/src/org/archphantom/shenanigans/examples/AddIt.java
+++ b/Shenanigans/src/org/archphantom/shenanigans/examples/AddIt.java
@@ -8,9 +8,7 @@ import org.archphantom.shenanigans.elements.expressions.operations.Addition;
import org.archphantom.shenanigans.elements.expressions.statements.Assignment;
import org.archphantom.shenanigans.elements.expressions.statements.FunctionCall;
import org.archphantom.shenanigans.elements.expressions.statements.Group;
-import org.archphantom.shenanigans.elements.expressions.statements.Print;
-import org.archphantom.shenanigans.elements.values.Array;
-import org.archphantom.shenanigans.elements.values.CharValue;
+import org.archphantom.shenanigans.elements.expressions.statements.PrintLn;
import org.archphantom.shenanigans.elements.values.DecimalValue;
import org.archphantom.shenanigans.elements.values.Function;
import org.archphantom.shenanigans.elements.values.Namespace;
@@ -24,10 +22,7 @@ public class AddIt {
argnames.add("x");
argnames.add("y");
ArrayList<Expression> addit_expr_body = new ArrayList<Expression>();
- ArrayList<Expression> to_print = new ArrayList<Expression>();
- to_print.add(new Addition(new Variable("x"), new Variable("y")));
- to_print.add(new CharValue('\n'));
- addit_expr_body.add(new Print(new Array(to_print)));
+ addit_expr_body.add(new PrintLn(new Addition(new Variable("x"), new Variable("y"))));
Group addit_body = new Group(addit_expr_body);
Function addit = new Function(argnames, addit_body);
list.add(new Assignment("add_it", addit));
diff --git a/Shenanigans/src/org/archphantom/shenanigans/examples/Factorial.java b/Shenanigans/src/org/archphantom/shenanigans/examples/Factorial.java
index 931438b..06bf9b4 100644
--- a/Shenanigans/src/org/archphantom/shenanigans/examples/Factorial.java
+++ b/Shenanigans/src/org/archphantom/shenanigans/examples/Factorial.java
@@ -11,9 +11,7 @@ import org.archphantom.shenanigans.elements.expressions.statements.Assignment;
import org.archphantom.shenanigans.elements.expressions.statements.FunctionCall;
import org.archphantom.shenanigans.elements.expressions.statements.Group;
import org.archphantom.shenanigans.elements.expressions.statements.IfElse;
-import org.archphantom.shenanigans.elements.expressions.statements.Print;
-import org.archphantom.shenanigans.elements.values.Array;
-import org.archphantom.shenanigans.elements.values.CharValue;
+import org.archphantom.shenanigans.elements.expressions.statements.PrintLn;
import org.archphantom.shenanigans.elements.values.Function;
import org.archphantom.shenanigans.elements.values.IntValue;
import org.archphantom.shenanigans.elements.values.Namespace;
@@ -34,10 +32,7 @@ public class Factorial {
list.add(new Assignment("factorial", factorial));
ArrayList<Expression> arguments = new ArrayList<Expression>();
arguments.add(new IntValue("10"));
- ArrayList<Expression> to_print = new ArrayList<Expression>();
- to_print.add(new FunctionCall("factorial", arguments));
- to_print.add(new CharValue('\n'));
- list.add(new Print(new Array(to_print)));
+ list.add(new PrintLn(new FunctionCall("factorial", arguments)));
Group group = new Group(list);
Namespace main = new Namespace("main", group, new VarTable());
Hashtable<String, Namespace> namespaces = new Hashtable<String, Namespace>();
diff --git a/Shenanigans/src/org/archphantom/shenanigans/examples/FactorialZ.java b/Shenanigans/src/org/archphantom/shenanigans/examples/FactorialZ.java
index 158bfc0..f6ae70a 100644
--- a/Shenanigans/src/org/archphantom/shenanigans/examples/FactorialZ.java
+++ b/Shenanigans/src/org/archphantom/shenanigans/examples/FactorialZ.java
@@ -10,10 +10,8 @@ import org.archphantom.shenanigans.elements.expressions.operations.Subtraction;
import org.archphantom.shenanigans.elements.expressions.statements.Assignment;
import org.archphantom.shenanigans.elements.expressions.statements.FunctionCall;
import org.archphantom.shenanigans.elements.expressions.statements.Group;
-import org.archphantom.shenanigans.elements.expressions.statements.Print;
+import org.archphantom.shenanigans.elements.expressions.statements.PrintLn;
import org.archphantom.shenanigans.elements.expressions.statements.WhileLoop;
-import org.archphantom.shenanigans.elements.values.Array;
-import org.archphantom.shenanigans.elements.values.CharValue;
import org.archphantom.shenanigans.elements.values.Function;
import org.archphantom.shenanigans.elements.values.IntValue;
import org.archphantom.shenanigans.elements.values.Namespace;
@@ -37,10 +35,7 @@ public class FactorialZ {
list.add(new Assignment("factorialz", factorialz));
ArrayList<Expression> arguments = new ArrayList<Expression>();
arguments.add(new IntValue("10"));
- ArrayList<Expression> to_print = new ArrayList<Expression>();
- to_print.add(new FunctionCall("factorialz", arguments));
- to_print.add(new CharValue('\n'));
- list.add(new Print(new Array(to_print)));
+ list.add(new PrintLn(new FunctionCall("factorialz", arguments)));
Group group = new Group(list);
Namespace main = new Namespace("main", group, new VarTable());
Hashtable<String, Namespace> namespaces = new Hashtable<String, Namespace>();
diff --git a/Shenanigans/src/org/archphantom/shenanigans/examples/ShiftIt.java b/Shenanigans/src/org/archphantom/shenanigans/examples/ShiftIt.java
index 71c9e98..1d56397 100644
--- a/Shenanigans/src/org/archphantom/shenanigans/examples/ShiftIt.java
+++ b/Shenanigans/src/org/archphantom/shenanigans/examples/ShiftIt.java
@@ -14,12 +14,13 @@ import org.archphantom.shenanigans.elements.expressions.statements.Assignment;
import org.archphantom.shenanigans.elements.expressions.statements.ForLoop;
import org.archphantom.shenanigans.elements.expressions.statements.FunctionCall;
import org.archphantom.shenanigans.elements.expressions.statements.Group;
-import org.archphantom.shenanigans.elements.expressions.statements.Print;
+import org.archphantom.shenanigans.elements.expressions.statements.PrintLn;
import org.archphantom.shenanigans.elements.values.Array;
import org.archphantom.shenanigans.elements.values.CharValue;
import org.archphantom.shenanigans.elements.values.Function;
import org.archphantom.shenanigans.elements.values.IntValue;
import org.archphantom.shenanigans.elements.values.Namespace;
+import org.archphantom.shenanigans.elements.values.Value;
import org.archphantom.shenanigans.elements.variables.VarTable;
public class ShiftIt {
@@ -29,13 +30,15 @@ public class ShiftIt {
ArrayList<String> argnames = new ArrayList<String>();
argnames.add("a");
ArrayList<Expression> shiftit_expr_body = new ArrayList<Expression>(3);
- shiftit_expr_body.add(new ForLoop(new Assignment("l", new IntValue("0")), new BoolLess(new Variable("l"), new Subtraction(new Count(new Variable("a")), new IntValue("1"))), new Assignment("l", new Addition(new Variable("l"), new IntValue("1"))), new ArrayAssignment("a", new Variable("l"), new Addition(new ArrayVariable("a", new Variable("l")), new IntValue("1")))));
+ shiftit_expr_body.add(new Assignment("tmp", new ArrayVariable("a", new IntValue("0"))));
+ shiftit_expr_body.add(new ForLoop(new Assignment("l", new IntValue("0")), new BoolLess(new Variable("l"), new Subtraction(new Count(new Variable("a")), new IntValue("1"))), new Assignment("l", new Addition(new Variable("l"), new IntValue("1"))), new ArrayAssignment("a", new Variable("l"), new ArrayVariable("a", new Addition(new Variable("l"), new IntValue("1"))))));
+ shiftit_expr_body.add(new ArrayAssignment("a", new Subtraction(new Count(new Variable("a")), new IntValue("1")), new Variable("tmp")));
shiftit_expr_body.add(new Variable("a"));
Group shiftit_body = new Group(shiftit_expr_body);
Function shiftit = new Function(argnames, shiftit_body);
list.add(new Assignment("shiftit", shiftit));
ArrayList<Expression> arguments = new ArrayList<Expression>(1);
- ArrayList<Expression> elements = new ArrayList<Expression>(4);
+ ArrayList<Value> elements = new ArrayList<Value>(4);
elements.add(new IntValue("3"));
elements.add(new IntValue("6"));
elements.add(new IntValue("9"));
@@ -44,7 +47,7 @@ public class ShiftIt {
ArrayList<Expression> to_print = new ArrayList<Expression>(2);
to_print.add(new FunctionCall("shiftit", arguments));
to_print.add(new CharValue('\n'));
- list.add(new Print(new Array(to_print)));
+ list.add(new PrintLn(new FunctionCall("shiftit", arguments)));
Group group = new Group(list);
Namespace main = new Namespace("main", group, new VarTable());
Hashtable<String, Namespace> namespaces = new Hashtable<String, Namespace>();