diff --git a/src/jse/lua2java.java b/src/jse/lua2java.java index 2010101d..e85fda51 100644 --- a/src/jse/lua2java.java +++ b/src/jse/lua2java.java @@ -118,7 +118,7 @@ public class lua2java { System.out.println(version); System.out.println("srcdir: "+srcdir); System.out.println("destdir: "+destdir); - System.out.println("files: "+files); + System.out.println("files: "+seeds); System.out.println("encoding: "+encoding); System.out.println("recurse: "+recurse); } diff --git a/src/jse/luajc.java b/src/jse/luajc.java index ea83018f..f403e8f7 100644 --- a/src/jse/luajc.java +++ b/src/jse/luajc.java @@ -20,16 +20,18 @@ * THE SOFTWARE. ******************************************************************************/ +import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; -import java.io.InputStream; +import java.util.ArrayList; import java.util.Enumeration; import java.util.Hashtable; -import java.util.Vector; +import java.util.List; import org.luaj.vm2.Lua; import org.luaj.vm2.compiler.DumpState; +import org.luaj.vm2.lib.JsePlatform; import org.luaj.vm2.luajc.LuaJC; /** @@ -39,16 +41,16 @@ public class luajc { private static final String version = Lua._VERSION + "Copyright (C) 2009 luaj.org"; private static final String usage = - "usage: java -cp luaj-jse.jar,bcel-5.2.jar luajc [options] [filenames].\n" + + "usage: java -cp luaj-jse.jar,bcel-5.2.jar luajc [options] fileordir [, fileordir ...]\n" + "Available options are:\n" + " - process stdin\n" + - " -s source directory\n" + - " -d destination directory\n" + + " -s src source directory\n" + + " -d dir destination directory\n" + + " -p pkg package prefix to apply to all classes\n" + " -n no debug information (strip debug)\n" + - " -e little endian format for numbers\n" + " -i number format 'n', (n=0,1 or 4, default="+DumpState.NUMBER_FORMAT_DEFAULT+")\n" + - " -v show version information\n" + - " -- stop handling options\n"; + " -r recursively compile all\n" + + " -v verbose\n"; private static void usageExit() { System.out.println(usage); @@ -58,9 +60,11 @@ public class luajc { private String srcdir = null; private String destdir = null; private boolean stripdebug = false; - private boolean littleendian = false; private int numberformat = DumpState.NUMBER_FORMAT_DEFAULT; + private boolean recurse = false; private boolean verbose = false; + private String pkgprefix = null; + private List files = new ArrayList(); public static void main( String[] args ) throws IOException { new luajc( args ); @@ -69,93 +73,150 @@ public class luajc { private luajc( String[] args ) throws IOException { // process args - try { - Vector files = new Vector(); - - // get stateful args - for ( int i=0; i= args.length ) - usageExit(); - srcdir = args[i]; - break; - case 'd': - if ( ++i >= args.length ) - usageExit(); - destdir = args[i]; - break; - case 'n': - stripdebug = true; - break; - case 'e': - littleendian = true; - break; - case 'i': - if ( args[i].length() <= 2 ) - usageExit(); - numberformat = Integer.parseInt(args[i].substring(2)); - break; - case 'v': - verbose = true; - break; - default: + List seeds = new ArrayList (); + + // get stateful args + for ( int i=0; i= args.length ) usageExit(); - break; - } + srcdir = args[i]; + break; + case 'd': + if ( ++i >= args.length ) + usageExit(); + destdir = args[i]; + break; + case 'n': + stripdebug = true; + break; + case 'i': + if ( args[i].length() <= 2 ) + usageExit(); + numberformat = Integer.parseInt(args[i].substring(2)); + break; + case 'p': + if ( ++i >= args.length ) + usageExit(); + pkgprefix = args[i]; + break; + case 'r': + recurse = true; + break; + case 'v': + verbose = true; + break; + default: + usageExit(); + break; } } - - // echo version - if ( verbose ) { - System.out.println(version); - System.out.println("srcdir: "+srcdir); - System.out.println("destdir: "+srcdir); - System.out.println("stripdebug: "+stripdebug); - System.out.println("littleendian: "+littleendian); - System.out.println("numberformat: "+numberformat); - System.out.println("files: "+files); - } + } + + // echo version + if ( verbose ) { + System.out.println(version); + System.out.println("srcdir: "+srcdir); + System.out.println("destdir: "+srcdir); + System.out.println("stripdebug: "+stripdebug); + System.out.println("numberformat: "+numberformat); + System.out.println("files: "+seeds); + System.out.println("recurse: "+recurse); + } - // process input files - for ( int i=0; i= slots.length ) + return false; boolean hadchanges = false; byte[] s = slots[src]; byte[] d = slots[dest];