| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160 |
- package me.hammerle.snuviscript;
- import me.hammerle.code.ISnuviLogger;
- import me.hammerle.code.ISnuviScheduler;
- import me.hammerle.code.Script;
- import me.hammerle.code.SnuviParser;
- import me.hammerle.exceptions.PreScriptException;
- import me.hammerle.math.Fraction;
- public class SnuviScript
- {
- public static void main(String[] args)
- {
- ISnuviLogger logger = new ISnuviLogger()
- {
- @Override
- public void printException(Exception ex, String function, Script s, int line)
- {
- System.out.println("Exception " + ex);
- System.out.println("function " + function);
- System.out.println("Line: " + line);
- }
- @Override
- public void printException(Exception ex, String function, String s, int line)
- {
- System.out.println("Exception " + ex + " " + s + " " + line);
- System.out.println("function " + function);
- }
- @Override
- public void printWarning(String s)
- {
- System.out.println("Warning: " + s);
- }
- @Override
- public void printInfo(String s)
- {
- System.out.println("Info: " + s);
- }
- };
-
- SnuviParser parser = new SnuviParser(logger, new ISnuviScheduler()
- {
- @Override
- public int scheduleTask(Runnable r)
- {
- System.out.println("Schedule");
- return 0;
- }
- @Override
- public int scheduleTask(Runnable r, long delay)
- {
- System.out.println("Schedule");
- return 0;
- }
- });
- parser.registerConsumer("print", (o, sc) -> System.out.println(o[0]));
- parser.registerFunction("get", (o, sc) -> new Fraction(1));
- //parser.registerFunction("ggv", (o, sc) -> o[0]);
- //parser.registerFunction("read.item", (o, sc) -> o[0]);
-
- /*for(int j = 1; j < Integer.MAX_VALUE; j *= 2)
- {
- System.out.println("Size " + j);
- StringBuilder sb = new StringBuilder("error(); wusi = 1;\n");
- sb.append("time = time.get();");
- int counter = 0;
- for(int i = 0; i < j; i++)
- {
- switch(counter)
- {
- case 0: sb.append("wusi += 1;\n"); break;
- case 1: sb.append("wusi *= 2;\n"); break;
- case 2: sb.append("wusi = wusi - 1;\n"); break;
- case 3: sb.append("wusi /= 2;\n"); break;
- case 4: sb.append("wusi += 1;\n"); break;
- }
- counter++;
- if(counter >= 5)
- {
- counter = 0;
- }
- }
- sb.append("debug(wusi);");
- sb.append("debug(concat(\"time \", time.get() - time));");*/
- /*String s = "debug(\"Start\");\n" +
- "wusi = time.get();\n" +
- "if(wusi >= 0)\n" +
- "{\n" +
- " debug(\"ja\");\n" +
- " while(wusi < 10)\n" +
- " {\n" +
- " hallo = wusi;\n" +
- " while(hallo < 3)\n" +
- " {\n" +
- " debug(\"hallo\");\n" +
- " hallo += 1;\n" +
- " }\n" +
- " debug(wusi);\n" +
- " wusi += 1;\n" +
- " }\n" +
- "}\n" +
- "else\n" +
- "{\n" +
- " debug(\"nein\");\n" +
- "}\n" +
- "debug(\"Ende\");";*/
- //String s = "wusi = 3; wusi /= 2; debug(wusi);";
- // array.set("wusi", 1, arrays.get("wusi", 1) + 4)
- //String s = "debug(wusi[1]);";
- /*String s = "print(\"wusi\");\n" +
- "print(hallo(1, 3, 5));\n" +
- "term();\n" +
- "\n" +
- "@hallo;\npopArg(); \n" +
- "pushArg(popArg() + popArg() + popArg());\n" +
- "return;";*/
-
- //String s = "print(1 + 2 * 3 * 5 + 2);";
- //String s = "print(1 + get(3 - 2) + 1);";
- //String s = "print(1 + get(1, 2) == 1 || get() == 1);";
- //String s = "print(12 + 234 == 32 || 4 == 45);";
- //String s = "setvar(\"test\", 3); print(test + get(2, 5 + get(9, 8 + 3) + 6) == 4);";
-
- //String s = "print(array[2 + 3]);";
- //String s = "a = 3; a++; print(a);";
- //String s = "array[2 + 3] = 5;";
- //String s = "a(1+b(2), c(3) + 3, d(7,e(10 + 3)))";
- //String s = "++wusi[1];";
- String s = "array.new(\"wusi\", 10); wusi[2] = 3; wusi[2]++; print(wusi[2]);";
-
- //String s = "print(1 + get() == 1);";
- System.out.println(s);
- System.out.println();
- //String s = "i = 0; while(i++ < 10) { debug(i);}";
- //String s = "error(); debug(1+1);";
- //System.out.println(s);
- //System.out.println("___________");
- //parser.startScript(Script.class, "test", sb.toString(), true);
- try
- {
- parser.startScript("test", s.toString());
- }
- catch(PreScriptException ex)
- {
- logger.printException(ex, "none" , "test", ex.getLine());
- }
- //}
- //parser.getScript(0).runCode();
- //Fraction f = Fraction.fromDouble(Fraction.PI.doubleValue());
- //Object o = Code.convertInput("32.323");
- //System.out.println(o + " " + o.getClass().getSimpleName());
- //System.out.println(Fraction.fromDouble(0.324234235));
- }
- }
|