From eb05c2dd956b7e991f52eb5c7f03a0f11b7f1f33 Mon Sep 17 00:00:00 2001 From: GeonoTRON2000 Date: Tue, 29 Apr 2014 07:13:20 -0700 Subject: Pushed existing work --- .../archphantom/shenanigans/examples/AddIt.java | 48 +++++++++++++++++++ .../archphantom/shenanigans/examples/CheckIt.java | 44 +++++++++++++++++ .../shenanigans/examples/Factorial.java | 49 +++++++++++++++++++ .../shenanigans/examples/FactorialZ.java | 52 ++++++++++++++++++++ .../archphantom/shenanigans/examples/ShiftIt.java | 56 ++++++++++++++++++++++ 5 files changed, 249 insertions(+) create mode 100644 Shenanigans/src/org/archphantom/shenanigans/examples/AddIt.java create mode 100644 Shenanigans/src/org/archphantom/shenanigans/examples/CheckIt.java create mode 100644 Shenanigans/src/org/archphantom/shenanigans/examples/Factorial.java create mode 100644 Shenanigans/src/org/archphantom/shenanigans/examples/FactorialZ.java create mode 100644 Shenanigans/src/org/archphantom/shenanigans/examples/ShiftIt.java (limited to 'Shenanigans/src/org/archphantom/shenanigans/examples') diff --git a/Shenanigans/src/org/archphantom/shenanigans/examples/AddIt.java b/Shenanigans/src/org/archphantom/shenanigans/examples/AddIt.java new file mode 100644 index 0000000..158f9d4 --- /dev/null +++ b/Shenanigans/src/org/archphantom/shenanigans/examples/AddIt.java @@ -0,0 +1,48 @@ +package org.archphantom.shenanigans.examples; +import java.util.ArrayList; +import java.util.Hashtable; +import org.archphantom.shenanigans.elements.Program; +import org.archphantom.shenanigans.elements.expressions.Expression; +import org.archphantom.shenanigans.elements.expressions.Variable; +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.values.DecimalValue; +import org.archphantom.shenanigans.elements.values.Function; +import org.archphantom.shenanigans.elements.values.Namespace; +import org.archphantom.shenanigans.elements.variables.VarTable; + +public class AddIt { + + public static void main (String[] args) { + ArrayList list = new ArrayList(); + ArrayList argnames = new ArrayList(); + argnames.add("x"); + argnames.add("y"); + ArrayList addit_expr_body = new ArrayList(); + ArrayList to_print = new ArrayList(); + 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))); + Group addit_body = new Group(addit_expr_body); + Function addit = new Function(argnames, addit_body); + list.add(new Assignment("add_it", addit)); + ArrayList arguments = new ArrayList(); + arguments.add(new DecimalValue("2.6789553890921339210")); + arguments.add(new DecimalValue("-1.8888888888888888888")); + list.add(new FunctionCall("add_it", arguments)); + Group group = new Group(list); + Namespace main = new Namespace("main", group, new VarTable()); + Hashtable namespaces = new Hashtable(); + namespaces.put("main", main); + Program p = new Program(namespaces); + System.out.println("Running..."); + p.run(); + System.out.println("Ran..."); + } + +} diff --git a/Shenanigans/src/org/archphantom/shenanigans/examples/CheckIt.java b/Shenanigans/src/org/archphantom/shenanigans/examples/CheckIt.java new file mode 100644 index 0000000..8506584 --- /dev/null +++ b/Shenanigans/src/org/archphantom/shenanigans/examples/CheckIt.java @@ -0,0 +1,44 @@ +package org.archphantom.shenanigans.examples; +import java.util.ArrayList; +import java.util.Hashtable; +import org.archphantom.shenanigans.elements.Program; +import org.archphantom.shenanigans.elements.expressions.Expression; +import org.archphantom.shenanigans.elements.expressions.Variable; +import org.archphantom.shenanigans.elements.expressions.comparators.BoolGreater; +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.DecimalValue; +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.variables.VarTable; + +public class CheckIt { + + public static void main (String[] args) { + ArrayList list = new ArrayList(); + ArrayList argnames = new ArrayList(); + argnames.add("x"); + ArrayList checkit_expr_body = new ArrayList(); + checkit_expr_body.add(new IfElse(new BoolGreater(new Variable("x"), new IntValue("0")), new Print(new Array("True\n")), new Print(new Array("False\n")))); + Group checkit_body = new Group(checkit_expr_body); + Function checkit = new Function(argnames, checkit_body); + list.add(new Assignment("checkit", checkit)); + ArrayList arguments = new ArrayList(); + arguments.add(new DecimalValue("298")); + list.add(new FunctionCall("checkit", arguments)); + Group group = new Group(list); + Namespace main = new Namespace("main", group, new VarTable()); + Hashtable namespaces = new Hashtable(); + namespaces.put("main", main); + Program p = new Program(namespaces); + System.out.println("Running..."); + p.run(); + System.out.println("Ran..."); + } + +} diff --git a/Shenanigans/src/org/archphantom/shenanigans/examples/Factorial.java b/Shenanigans/src/org/archphantom/shenanigans/examples/Factorial.java new file mode 100644 index 0000000..931438b --- /dev/null +++ b/Shenanigans/src/org/archphantom/shenanigans/examples/Factorial.java @@ -0,0 +1,49 @@ +package org.archphantom.shenanigans.examples; +import java.util.ArrayList; +import java.util.Hashtable; +import org.archphantom.shenanigans.elements.Program; +import org.archphantom.shenanigans.elements.expressions.Expression; +import org.archphantom.shenanigans.elements.expressions.Variable; +import org.archphantom.shenanigans.elements.expressions.comparators.BoolEqual; +import org.archphantom.shenanigans.elements.expressions.operations.Multiplication; +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.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.values.Function; +import org.archphantom.shenanigans.elements.values.IntValue; +import org.archphantom.shenanigans.elements.values.Namespace; +import org.archphantom.shenanigans.elements.variables.VarTable; + +public class Factorial { + + public static void main (String[] args) { + ArrayList list = new ArrayList(); + ArrayList argnames = new ArrayList(); + argnames.add("n"); + ArrayList factorial_expr_body = new ArrayList(); + ArrayList recursionargs = new ArrayList(); + recursionargs.add(new Subtraction(new Variable("n"), new IntValue("1"))); + factorial_expr_body.add(new IfElse(new BoolEqual(new Variable("n"), new IntValue("0")), new IntValue("1"), new Multiplication(new FunctionCall("main.factorial", recursionargs), new Variable("n")))); + Group factorial_body = new Group(factorial_expr_body); + Function factorial = new Function(argnames, factorial_body); + list.add(new Assignment("factorial", factorial)); + ArrayList arguments = new ArrayList(); + arguments.add(new IntValue("10")); + ArrayList to_print = new ArrayList(); + to_print.add(new FunctionCall("factorial", arguments)); + to_print.add(new CharValue('\n')); + list.add(new Print(new Array(to_print))); + Group group = new Group(list); + Namespace main = new Namespace("main", group, new VarTable()); + Hashtable namespaces = new Hashtable(); + namespaces.put("main", main); + Program p = new Program(namespaces); + p.run(); + } + +} diff --git a/Shenanigans/src/org/archphantom/shenanigans/examples/FactorialZ.java b/Shenanigans/src/org/archphantom/shenanigans/examples/FactorialZ.java new file mode 100644 index 0000000..158bfc0 --- /dev/null +++ b/Shenanigans/src/org/archphantom/shenanigans/examples/FactorialZ.java @@ -0,0 +1,52 @@ +package org.archphantom.shenanigans.examples; +import java.util.ArrayList; +import java.util.Hashtable; +import org.archphantom.shenanigans.elements.Program; +import org.archphantom.shenanigans.elements.expressions.Expression; +import org.archphantom.shenanigans.elements.expressions.Variable; +import org.archphantom.shenanigans.elements.expressions.comparators.BoolGreater; +import org.archphantom.shenanigans.elements.expressions.operations.Multiplication; +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.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; +import org.archphantom.shenanigans.elements.variables.VarTable; + +public class FactorialZ { + + public static void main (String[] args) { + ArrayList list = new ArrayList(); + ArrayList argnames = new ArrayList(); + argnames.add("n"); + ArrayList factorialz_expr_body = new ArrayList(); + factorialz_expr_body.add(new Assignment("res", new IntValue("1"))); + ArrayList loop_body = new ArrayList(); + loop_body.add(new Assignment("res", new Multiplication(new Variable("res"), new Variable("n")))); + loop_body.add(new Assignment("n", new Subtraction(new Variable("n"), new IntValue("1")))); + factorialz_expr_body.add(new WhileLoop(new BoolGreater(new Variable("n"), new IntValue("0")), new Group(loop_body))); + factorialz_expr_body.add(new Variable("res")); + Group factorialz_body = new Group(factorialz_expr_body); + Function factorialz = new Function(argnames, factorialz_body); + list.add(new Assignment("factorialz", factorialz)); + ArrayList arguments = new ArrayList(); + arguments.add(new IntValue("10")); + ArrayList to_print = new ArrayList(); + to_print.add(new FunctionCall("factorialz", arguments)); + to_print.add(new CharValue('\n')); + list.add(new Print(new Array(to_print))); + Group group = new Group(list); + Namespace main = new Namespace("main", group, new VarTable()); + Hashtable namespaces = new Hashtable(); + namespaces.put("main", main); + Program p = new Program(namespaces); + p.run(); + } + +} diff --git a/Shenanigans/src/org/archphantom/shenanigans/examples/ShiftIt.java b/Shenanigans/src/org/archphantom/shenanigans/examples/ShiftIt.java new file mode 100644 index 0000000..71c9e98 --- /dev/null +++ b/Shenanigans/src/org/archphantom/shenanigans/examples/ShiftIt.java @@ -0,0 +1,56 @@ +package org.archphantom.shenanigans.examples; +import java.util.ArrayList; +import java.util.Hashtable; +import org.archphantom.shenanigans.elements.Program; +import org.archphantom.shenanigans.elements.expressions.Expression; +import org.archphantom.shenanigans.elements.expressions.Variable; +import org.archphantom.shenanigans.elements.expressions.comparators.BoolLess; +import org.archphantom.shenanigans.elements.expressions.comparators.Count; +import org.archphantom.shenanigans.elements.expressions.operations.Addition; +import org.archphantom.shenanigans.elements.expressions.operations.Subtraction; +import org.archphantom.shenanigans.elements.expressions.statements.ArrayAssignment; +import org.archphantom.shenanigans.elements.expressions.statements.ArrayVariable; +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.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.variables.VarTable; + +public class ShiftIt { + + public static void main (String[] args) { + ArrayList list = new ArrayList(); + ArrayList argnames = new ArrayList(); + argnames.add("a"); + ArrayList shiftit_expr_body = new ArrayList(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 Variable("a")); + Group shiftit_body = new Group(shiftit_expr_body); + Function shiftit = new Function(argnames, shiftit_body); + list.add(new Assignment("shiftit", shiftit)); + ArrayList arguments = new ArrayList(1); + ArrayList elements = new ArrayList(4); + elements.add(new IntValue("3")); + elements.add(new IntValue("6")); + elements.add(new IntValue("9")); + elements.add(new IntValue("12")); + arguments.add(new Array(elements)); + ArrayList to_print = new ArrayList(2); + to_print.add(new FunctionCall("shiftit", arguments)); + to_print.add(new CharValue('\n')); + list.add(new Print(new Array(to_print))); + Group group = new Group(list); + Namespace main = new Namespace("main", group, new VarTable()); + Hashtable namespaces = new Hashtable(); + namespaces.put("main", main); + Program p = new Program(namespaces); + p.run(); + } + +} -- cgit v1.2.3