diff src/luan/LuanState.java @ 59:5c9cadd0acce

move standard calls from CmdLine to LuanState git-svn-id: https://luan-java.googlecode.com/svn/trunk@60 21e917c8-12df-6dd8-5cb6-c86387c605b9
author fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
date Mon, 07 Jan 2013 03:36:28 +0000
parents 8ede219cd111
children f7e17cfb35f9
line wrap: on
line diff
--- a/src/luan/LuanState.java	Mon Jan 07 00:18:35 2013 +0000
+++ b/src/luan/LuanState.java	Mon Jan 07 03:36:28 2013 +0000
@@ -4,9 +4,35 @@
 import java.io.PrintStream;
 import java.util.List;
 import java.util.ArrayList;
+import luan.interp.LuanCompiler;
+import luan.lib.BasicLib;
+import luan.lib.JavaLib;
+import luan.lib.MathLib;
+import luan.lib.StringLib;
+import luan.lib.TableLib;
+import luan.lib.HtmlLib;
 
 
 public abstract class LuanState {
+
+	public static LuanState newStandard() {
+		LuanState luan = LuanCompiler.newLuanState();
+		BasicLib.register(luan);
+		JavaLib.register(luan);
+		MathLib.register(luan);
+		StringLib.register(luan);
+		TableLib.register(luan);
+		HtmlLib.register(luan);
+		return luan;
+	}
+
+	public Object[] eval(String cmd,String sourceName) throws LuanException {
+		LuanFunction fn = BasicLib.load(this,cmd,sourceName);
+		return call(fn,null,null);
+	}
+
+
+
 	private final LuanTable global = new LuanTable();
 	private final List<MetatableGetter> mtGetters = new ArrayList<MetatableGetter>();
 	final List<StackTraceElement> stackTrace = new ArrayList<StackTraceElement>();