Mercurial Hosting > luan
diff core/src/luan/impl/LuanCompiler.java @ 694:b620b8e1010f
remove Luan.load() allow_expression param and add Luan.eval()
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Wed, 20 Apr 2016 20:56:08 -0600 |
parents | 5b9c7f8529ee |
children | 6e6e9e73abaa |
line wrap: on
line diff
--- a/core/src/luan/impl/LuanCompiler.java Tue Apr 19 15:54:11 2016 -0600 +++ b/core/src/luan/impl/LuanCompiler.java Wed Apr 20 20:56:08 2016 -0600 @@ -14,12 +14,18 @@ public final class LuanCompiler { private LuanCompiler() {} // never - public static LuanFunction compile(String sourceName,String sourceText,LuanTable env,boolean allowExpr) throws LuanException { - LuanParser parser = new LuanParser(sourceName,sourceText); + public static LuanFunction compile(String sourceText,String sourceName,LuanTable env) throws LuanException { + LuanParser parser = new LuanParser(sourceText,sourceName); parser.addVar( "java" ); parser.addVar( "require" ); if( env != null ) parser.addVar( "_ENV" ); - Class fnClass = parse(parser,allowExpr); + Class fnClass; + try { + fnClass = parser.RequiredModule(); + } catch(ParseException e) { +//e.printStackTrace(); + throw new LuanException( e.getFancyMessage() ); + } LuanJava java; if( env == null ) { java = new LuanJava(); @@ -48,20 +54,6 @@ return closure; } - private static Class parse(LuanParser parser,boolean allowExpr) throws LuanException { - try { - if( allowExpr ) { - Class fnClass = parser.Expression(); - if( fnClass != null ) - return fnClass; - } - return parser.RequiredModule(); - } catch(ParseException e) { -//e.printStackTrace(); - throw new LuanException( e.getFancyMessage() ); - } - } - public static String toJava(String sourceName,String sourceText) throws LuanException { LuanParser parser = new LuanParser(sourceName,sourceText); parser.addVar( "java" );