Mercurial Hosting > luan
changeset 124:f537ff5e511d
minor cleanup
git-svn-id: https://luan-java.googlecode.com/svn/trunk@125 21e917c8-12df-6dd8-5cb6-c86387c605b9
author | fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9> |
---|---|
date | Fri, 06 Jun 2014 03:41:04 +0000 |
parents | d7be9b3abf1a |
children | 0cd559a16758 |
files | src/luan/LuanState.java src/luan/interp/LuanParser.java src/luan/lib/BasicLib.java src/luan/lib/BinaryLib.java src/luan/lib/HtmlLib.java src/luan/lib/HttpLib.java src/luan/lib/IoLib.java src/luan/lib/JavaLib.java src/luan/lib/MathLib.java src/luan/lib/PackageLib.java src/luan/lib/StringLib.java src/luan/lib/TableLib.java src/luan/tools/WebServlet.java |
diffstat | 13 files changed, 48 insertions(+), 37 deletions(-) [+] |
line wrap: on
line diff
diff -r d7be9b3abf1a -r f537ff5e511d src/luan/LuanState.java --- a/src/luan/LuanState.java Fri Jun 06 01:14:18 2014 +0000 +++ b/src/luan/LuanState.java Fri Jun 06 03:41:04 2014 +0000 @@ -106,16 +106,16 @@ public static LuanState newStandard() { try { LuanState luan = LuanCompiler.newLuanState(); - luan.load(BasicLib.NAME,BasicLib.LOADER); - luan.load(PackageLib.NAME,PackageLib.LOADER); - luan.load(MathLib.NAME,MathLib.LOADER); - luan.load(StringLib.NAME,StringLib.LOADER); - luan.load(TableLib.NAME,TableLib.LOADER); - luan.load(HtmlLib.NAME,HtmlLib.LOADER); - luan.load(BinaryLib.NAME,BinaryLib.LOADER); - luan.load(IoLib.NAME,IoLib.LOADER); - luan.load(JavaLib.NAME,JavaLib.LOADER); + BasicLib.load(luan); + PackageLib.load(luan); + MathLib.load(luan); + StringLib.load(luan); + TableLib.load(luan); + HtmlLib.load(luan); + BinaryLib.load(luan); + IoLib.load(luan); BasicLib.do_java_resource(luan,"luan/lib/init.luan"); + JavaLib.load(luan); return luan; } catch(LuanException e) { throw new RuntimeException(e);
diff -r d7be9b3abf1a -r f537ff5e511d src/luan/interp/LuanParser.java --- a/src/luan/interp/LuanParser.java Fri Jun 06 01:14:18 2014 +0000 +++ b/src/luan/interp/LuanParser.java Fri Jun 06 03:41:04 2014 +0000 @@ -11,7 +11,6 @@ import luan.LuanSource; import luan.parser.Parser; import luan.parser.ParseException; -import luan.lib.PackageLib; final class LuanParser { @@ -305,7 +304,7 @@ int start = parser.begin(); if( !Keyword("import") ) return parser.failure(null); - Expr importExpr = new ConstExpr(se(start),PackageLib.require); + Expr importExpr = (Expr)nameVar(start,"require").expr(); String modName = StringLiteral(false); if( modName==null ) return parser.failure(null);
diff -r d7be9b3abf1a -r f537ff5e511d src/luan/lib/BasicLib.java --- a/src/luan/lib/BasicLib.java Fri Jun 06 01:14:18 2014 +0000 +++ b/src/luan/lib/BasicLib.java Fri Jun 06 03:41:04 2014 +0000 @@ -21,7 +21,9 @@ public final class BasicLib { - public static final String NAME = "Basic"; + public static void load(LuanState luan) throws LuanException { + luan.load("Basic",LOADER); + } public static final LuanFunction LOADER = new LuanFunction() { @Override public Object call(LuanState luan,Object[] args) {
diff -r d7be9b3abf1a -r f537ff5e511d src/luan/lib/BinaryLib.java --- a/src/luan/lib/BinaryLib.java Fri Jun 06 01:14:18 2014 +0000 +++ b/src/luan/lib/BinaryLib.java Fri Jun 06 03:41:04 2014 +0000 @@ -4,11 +4,14 @@ import luan.LuanTable; import luan.LuanFunction; import luan.LuanJavaFunction; +import luan.LuanException; public final class BinaryLib { - public static final String NAME = "Binary"; + public static void load(LuanState luan) throws LuanException { + luan.load("Binary",LOADER); + } public static final LuanFunction LOADER = new LuanFunction() { @Override public Object call(LuanState luan,Object[] args) {
diff -r d7be9b3abf1a -r f537ff5e511d src/luan/lib/HtmlLib.java --- a/src/luan/lib/HtmlLib.java Fri Jun 06 01:14:18 2014 +0000 +++ b/src/luan/lib/HtmlLib.java Fri Jun 06 03:41:04 2014 +0000 @@ -4,11 +4,14 @@ import luan.LuanTable; import luan.LuanFunction; import luan.LuanJavaFunction; +import luan.LuanException; public final class HtmlLib { - public static final String NAME = "Html"; + public static void load(LuanState luan) throws LuanException { + luan.load("Html",LOADER); + } public static final LuanFunction LOADER = new LuanFunction() { @Override public Object call(LuanState luan,Object[] args) {
diff -r d7be9b3abf1a -r f537ff5e511d src/luan/lib/HttpLib.java --- a/src/luan/lib/HttpLib.java Fri Jun 06 01:14:18 2014 +0000 +++ b/src/luan/lib/HttpLib.java Fri Jun 06 03:41:04 2014 +0000 @@ -21,7 +21,7 @@ public final class HttpLib { - public static final String NAME = "Http"; + private static final String NAME = "Http"; public static final String FN_NAME = "Http.server"; public static void load(LuanState luan) throws LuanException {
diff -r d7be9b3abf1a -r f537ff5e511d src/luan/lib/IoLib.java --- a/src/luan/lib/IoLib.java Fri Jun 06 01:14:18 2014 +0000 +++ b/src/luan/lib/IoLib.java Fri Jun 06 03:41:04 2014 +0000 @@ -24,7 +24,9 @@ public final class IoLib { - public static final String NAME = "Io"; + public static void load(LuanState luan) throws LuanException { + luan.load("Io",LOADER); + } public static final LuanFunction LOADER = new LuanFunction() { @Override public Object call(LuanState luan,Object[] args) {
diff -r d7be9b3abf1a -r f537ff5e511d src/luan/lib/JavaLib.java --- a/src/luan/lib/JavaLib.java Fri Jun 06 01:14:18 2014 +0000 +++ b/src/luan/lib/JavaLib.java Fri Jun 06 03:41:04 2014 +0000 @@ -27,7 +27,9 @@ public final class JavaLib { - public static final String NAME = "Java"; + public static void load(LuanState luan) throws LuanException { + luan.load("Java",LOADER); + } public static final LuanFunction LOADER = new LuanFunction() { @Override public Object call(LuanState luan,Object[] args) {
diff -r d7be9b3abf1a -r f537ff5e511d src/luan/lib/MathLib.java --- a/src/luan/lib/MathLib.java Fri Jun 06 01:14:18 2014 +0000 +++ b/src/luan/lib/MathLib.java Fri Jun 06 03:41:04 2014 +0000 @@ -4,11 +4,14 @@ import luan.LuanTable; import luan.LuanFunction; import luan.LuanJavaFunction; +import luan.LuanException; public final class MathLib { - public static final String NAME = "Math"; + public static void load(LuanState luan) throws LuanException { + luan.load("Math",LOADER); + } public static final LuanFunction LOADER = new LuanFunction() { @Override public Object call(LuanState luan,Object[] args) {
diff -r d7be9b3abf1a -r f537ff5e511d src/luan/lib/PackageLib.java --- a/src/luan/lib/PackageLib.java Fri Jun 06 01:14:18 2014 +0000 +++ b/src/luan/lib/PackageLib.java Fri Jun 06 03:41:04 2014 +0000 @@ -16,7 +16,9 @@ public final class PackageLib { - public static final String NAME = "Package"; + public static void load(LuanState luan) throws LuanException { + luan.load("Package",LOADER); + } public static final LuanFunction LOADER = new LuanFunction() { @Override public Object call(LuanState luan,Object[] args) { @@ -26,7 +28,7 @@ module.put("preload",luan.preload()); module.put("path","?.luan"); try { - global.put("require",require); + add( global, "require", LuanState.class, String.class ); add( module, "search_path", String.class, String.class ); } catch(NoSuchMethodException e) { throw new RuntimeException(e); @@ -40,15 +42,6 @@ } }; - public static final LuanFunction require; - static { - try { - require = new LuanJavaFunction(PackageLib.class.getMethod("require", LuanState.class, String.class),null); - } catch(NoSuchMethodException e) { - throw new RuntimeException(e); - } - } - private static void add(LuanTable t,String method,Class<?>... parameterTypes) throws NoSuchMethodException { t.put( method, new LuanJavaFunction(PackageLib.class.getMethod(method,parameterTypes),null) ); }
diff -r d7be9b3abf1a -r f537ff5e511d src/luan/lib/StringLib.java --- a/src/luan/lib/StringLib.java Fri Jun 06 01:14:18 2014 +0000 +++ b/src/luan/lib/StringLib.java Fri Jun 06 03:41:04 2014 +0000 @@ -14,7 +14,9 @@ public final class StringLib { - public static final String NAME = "String"; + public static void load(LuanState luan) throws LuanException { + luan.load("String",LOADER); + } public static final LuanFunction LOADER = new LuanFunction() { @Override public Object call(LuanState luan,Object[] args) {
diff -r d7be9b3abf1a -r f537ff5e511d src/luan/lib/TableLib.java --- a/src/luan/lib/TableLib.java Fri Jun 06 01:14:18 2014 +0000 +++ b/src/luan/lib/TableLib.java Fri Jun 06 03:41:04 2014 +0000 @@ -16,7 +16,9 @@ public final class TableLib { - public static final String NAME = "Table"; + public static void load(LuanState luan) throws LuanException { + luan.load("Table",LOADER); + } public static final LuanFunction LOADER = new LuanFunction() { @Override public Object call(LuanState luan,Object[] args) {
diff -r d7be9b3abf1a -r f537ff5e511d src/luan/tools/WebServlet.java --- a/src/luan/tools/WebServlet.java Fri Jun 06 01:14:18 2014 +0000 +++ b/src/luan/tools/WebServlet.java Fri Jun 06 03:41:04 2014 +0000 @@ -27,12 +27,12 @@ protected LuanState newLuanState() throws LuanException { LuanState luan = LuanCompiler.newLuanState(); - luan.load(BasicLib.NAME,BasicLib.LOADER); - luan.load(PackageLib.NAME,PackageLib.LOADER); - luan.load(MathLib.NAME,MathLib.LOADER); - luan.load(StringLib.NAME,StringLib.LOADER); - luan.load(TableLib.NAME,TableLib.LOADER); - luan.load(HtmlLib.NAME,HtmlLib.LOADER); + BasicLib.load(luan); + PackageLib.load(luan); + MathLib.load(luan); + StringLib.load(luan); + TableLib.load(luan); + HtmlLib.load(luan); return luan; }