/// <summary> /// Parses and executes the specified string /// </summary> public LuaArguments DoString(string Chunk) { #if INTERPRETED LuaInterpreter.LuaReturnStatus ret; return(LuaInterpreter.EvalBlock(p.ParseString(Chunk), ctx, out ret)); #endif #if COMPILED FunctionDefinition def = new FunctionDefinition(); def.Arguments = new List <Argument>(); def.Body = p.ParseString(Chunk); var function = LuaCompiler.CompileFunction(def, Expression.Constant(ctx)).Compile(); return(function().Call(Lua.Return())); #endif }
/// <summary> /// Parses and executes the specified string /// </summary> public LuaArguments DoString(string Chunk) { FunctionDefinition def = new FunctionDefinition(); def.Arguments = new List <Argument>(); def.Body = p.ParseString(Chunk); var function = LuaCompiler.CompileFunction(def, Expression.Constant(ctx)).Compile(); return(function().Call(Lua.Return())); }
public void Convert(string script, string schmaticpath) { Parser p = new Parser(); var z = p.ParseString(script); Methods.Add("classlevel", BuildBody(z.Statements)); //build clean up code List<string> CleanUp = new List<string>(); int total = 0; foreach(var i in Methods) { foreach(var x in i.Value) { total++; if (x.TrimStart('/').StartsWith("scoreboard objectives add")) { CleanUp.Add("/scoreboard objectives remove " + x.TrimStart('/').Split(' ')[3]); } } } Methods["classlevel"].Add("|" + (total / 4));//indicated we need more repeaters Methods["classlevel"].AddRange(CleanUp); BuildSchematic(schmaticpath); }