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..."); } }