diff --git a/core/src/main/java/org/luaj/vm2/Buffer.class b/core/src/main/java/org/luaj/vm2/Buffer.class new file mode 100644 index 00000000..bd2aea5b Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/Buffer.class differ diff --git a/core/src/main/java/org/luaj/vm2/Globals$AbstractBufferedStream.class b/core/src/main/java/org/luaj/vm2/Globals$AbstractBufferedStream.class new file mode 100644 index 00000000..01fc4a7a Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/Globals$AbstractBufferedStream.class differ diff --git a/core/src/main/java/org/luaj/vm2/Globals$BufferedStream.class b/core/src/main/java/org/luaj/vm2/Globals$BufferedStream.class new file mode 100644 index 00000000..79882a49 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/Globals$BufferedStream.class differ diff --git a/core/src/main/java/org/luaj/vm2/Globals$Compiler.class b/core/src/main/java/org/luaj/vm2/Globals$Compiler.class new file mode 100644 index 00000000..8ccc645a Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/Globals$Compiler.class differ diff --git a/core/src/main/java/org/luaj/vm2/Globals$Loader.class b/core/src/main/java/org/luaj/vm2/Globals$Loader.class new file mode 100644 index 00000000..aaea5b08 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/Globals$Loader.class differ diff --git a/core/src/main/java/org/luaj/vm2/Globals$StrReader.class b/core/src/main/java/org/luaj/vm2/Globals$StrReader.class new file mode 100644 index 00000000..15d24b13 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/Globals$StrReader.class differ diff --git a/core/src/main/java/org/luaj/vm2/Globals$UTF8Stream.class b/core/src/main/java/org/luaj/vm2/Globals$UTF8Stream.class new file mode 100644 index 00000000..da8ec1b4 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/Globals$UTF8Stream.class differ diff --git a/core/src/main/java/org/luaj/vm2/Globals$Undumper.class b/core/src/main/java/org/luaj/vm2/Globals$Undumper.class new file mode 100644 index 00000000..41612796 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/Globals$Undumper.class differ diff --git a/core/src/main/java/org/luaj/vm2/Globals.class b/core/src/main/java/org/luaj/vm2/Globals.class new file mode 100644 index 00000000..6ef651ac Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/Globals.class differ diff --git a/core/src/main/java/org/luaj/vm2/LocVars.class b/core/src/main/java/org/luaj/vm2/LocVars.class new file mode 100644 index 00000000..97fec575 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/LocVars.class differ diff --git a/core/src/main/java/org/luaj/vm2/Lua.class b/core/src/main/java/org/luaj/vm2/Lua.class new file mode 100644 index 00000000..1122003b Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/Lua.class differ diff --git a/core/src/main/java/org/luaj/vm2/LuaBoolean.class b/core/src/main/java/org/luaj/vm2/LuaBoolean.class new file mode 100644 index 00000000..8a29e9f3 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/LuaBoolean.class differ diff --git a/core/src/main/java/org/luaj/vm2/LuaClosure.class b/core/src/main/java/org/luaj/vm2/LuaClosure.class new file mode 100644 index 00000000..1b485a2f Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/LuaClosure.class differ diff --git a/core/src/main/java/org/luaj/vm2/LuaDouble.class b/core/src/main/java/org/luaj/vm2/LuaDouble.class new file mode 100644 index 00000000..8f37be9b Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/LuaDouble.class differ diff --git a/core/src/main/java/org/luaj/vm2/LuaError.class b/core/src/main/java/org/luaj/vm2/LuaError.class new file mode 100644 index 00000000..5cef0a27 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/LuaError.class differ diff --git a/core/src/main/java/org/luaj/vm2/LuaFunction.class b/core/src/main/java/org/luaj/vm2/LuaFunction.class new file mode 100644 index 00000000..5916b73b Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/LuaFunction.class differ diff --git a/core/src/main/java/org/luaj/vm2/LuaInteger.class b/core/src/main/java/org/luaj/vm2/LuaInteger.class new file mode 100644 index 00000000..0b7d4dbd Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/LuaInteger.class differ diff --git a/core/src/main/java/org/luaj/vm2/LuaNil.class b/core/src/main/java/org/luaj/vm2/LuaNil.class new file mode 100644 index 00000000..62f7756d Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/LuaNil.class differ diff --git a/core/src/main/java/org/luaj/vm2/LuaNumber.class b/core/src/main/java/org/luaj/vm2/LuaNumber.class new file mode 100644 index 00000000..2a86aedc Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/LuaNumber.class differ diff --git a/core/src/main/java/org/luaj/vm2/LuaString$RecentShortStrings.class b/core/src/main/java/org/luaj/vm2/LuaString$RecentShortStrings.class new file mode 100644 index 00000000..8ca7e693 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/LuaString$RecentShortStrings.class differ diff --git a/core/src/main/java/org/luaj/vm2/LuaString.class b/core/src/main/java/org/luaj/vm2/LuaString.class new file mode 100644 index 00000000..06548ad0 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/LuaString.class differ diff --git a/core/src/main/java/org/luaj/vm2/LuaTable$DeadSlot.class b/core/src/main/java/org/luaj/vm2/LuaTable$DeadSlot.class new file mode 100644 index 00000000..0a148327 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/LuaTable$DeadSlot.class differ diff --git a/core/src/main/java/org/luaj/vm2/LuaTable$Entry.class b/core/src/main/java/org/luaj/vm2/LuaTable$Entry.class new file mode 100644 index 00000000..7275caa9 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/LuaTable$Entry.class differ diff --git a/core/src/main/java/org/luaj/vm2/LuaTable$IntKeyEntry.class b/core/src/main/java/org/luaj/vm2/LuaTable$IntKeyEntry.class new file mode 100644 index 00000000..ea9a3efc Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/LuaTable$IntKeyEntry.class differ diff --git a/core/src/main/java/org/luaj/vm2/LuaTable$LinkSlot.class b/core/src/main/java/org/luaj/vm2/LuaTable$LinkSlot.class new file mode 100644 index 00000000..c2fdf0cd Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/LuaTable$LinkSlot.class differ diff --git a/core/src/main/java/org/luaj/vm2/LuaTable$NormalEntry.class b/core/src/main/java/org/luaj/vm2/LuaTable$NormalEntry.class new file mode 100644 index 00000000..fc0cd0a7 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/LuaTable$NormalEntry.class differ diff --git a/core/src/main/java/org/luaj/vm2/LuaTable$NumberValueEntry.class b/core/src/main/java/org/luaj/vm2/LuaTable$NumberValueEntry.class new file mode 100644 index 00000000..1dab9564 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/LuaTable$NumberValueEntry.class differ diff --git a/core/src/main/java/org/luaj/vm2/LuaTable$Slot.class b/core/src/main/java/org/luaj/vm2/LuaTable$Slot.class new file mode 100644 index 00000000..8ca52ff8 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/LuaTable$Slot.class differ diff --git a/core/src/main/java/org/luaj/vm2/LuaTable$StrongSlot.class b/core/src/main/java/org/luaj/vm2/LuaTable$StrongSlot.class new file mode 100644 index 00000000..61eb5c39 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/LuaTable$StrongSlot.class differ diff --git a/core/src/main/java/org/luaj/vm2/LuaTable.class b/core/src/main/java/org/luaj/vm2/LuaTable.class new file mode 100644 index 00000000..79f129cc Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/LuaTable.class differ diff --git a/core/src/main/java/org/luaj/vm2/LuaThread$State.class b/core/src/main/java/org/luaj/vm2/LuaThread$State.class new file mode 100644 index 00000000..00a4f3f3 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/LuaThread$State.class differ diff --git a/core/src/main/java/org/luaj/vm2/LuaThread.class b/core/src/main/java/org/luaj/vm2/LuaThread.class new file mode 100644 index 00000000..70d20396 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/LuaThread.class differ diff --git a/core/src/main/java/org/luaj/vm2/LuaUserdata.class b/core/src/main/java/org/luaj/vm2/LuaUserdata.class new file mode 100644 index 00000000..db95e49f Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/LuaUserdata.class differ diff --git a/core/src/main/java/org/luaj/vm2/LuaValue$None.class b/core/src/main/java/org/luaj/vm2/LuaValue$None.class new file mode 100644 index 00000000..afbf0c29 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/LuaValue$None.class differ diff --git a/core/src/main/java/org/luaj/vm2/LuaValue.class b/core/src/main/java/org/luaj/vm2/LuaValue.class new file mode 100644 index 00000000..50c3a02a Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/LuaValue.class differ diff --git a/core/src/main/java/org/luaj/vm2/Metatable.class b/core/src/main/java/org/luaj/vm2/Metatable.class new file mode 100644 index 00000000..3cdc023d Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/Metatable.class differ diff --git a/core/src/main/java/org/luaj/vm2/NonTableMetatable.class b/core/src/main/java/org/luaj/vm2/NonTableMetatable.class new file mode 100644 index 00000000..c69c9aaf Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/NonTableMetatable.class differ diff --git a/core/src/main/java/org/luaj/vm2/OrphanedThread.class b/core/src/main/java/org/luaj/vm2/OrphanedThread.class new file mode 100644 index 00000000..4b836c1a Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/OrphanedThread.class differ diff --git a/core/src/main/java/org/luaj/vm2/Print.class b/core/src/main/java/org/luaj/vm2/Print.class new file mode 100644 index 00000000..b0cf718b Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/Print.class differ diff --git a/core/src/main/java/org/luaj/vm2/Prototype.class b/core/src/main/java/org/luaj/vm2/Prototype.class new file mode 100644 index 00000000..da8a23ca Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/Prototype.class differ diff --git a/core/src/main/java/org/luaj/vm2/TailcallVarargs.class b/core/src/main/java/org/luaj/vm2/TailcallVarargs.class new file mode 100644 index 00000000..3d798e98 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/TailcallVarargs.class differ diff --git a/core/src/main/java/org/luaj/vm2/UpValue.class b/core/src/main/java/org/luaj/vm2/UpValue.class new file mode 100644 index 00000000..13ccbdd2 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/UpValue.class differ diff --git a/core/src/main/java/org/luaj/vm2/Upvaldesc.class b/core/src/main/java/org/luaj/vm2/Upvaldesc.class new file mode 100644 index 00000000..38e6051e Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/Upvaldesc.class differ diff --git a/core/src/main/java/org/luaj/vm2/Varargs$ArrayPartVarargs.class b/core/src/main/java/org/luaj/vm2/Varargs$ArrayPartVarargs.class new file mode 100644 index 00000000..b63dfe71 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/Varargs$ArrayPartVarargs.class differ diff --git a/core/src/main/java/org/luaj/vm2/Varargs$ArrayVarargs.class b/core/src/main/java/org/luaj/vm2/Varargs$ArrayVarargs.class new file mode 100644 index 00000000..674a0ae3 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/Varargs$ArrayVarargs.class differ diff --git a/core/src/main/java/org/luaj/vm2/Varargs$PairVarargs.class b/core/src/main/java/org/luaj/vm2/Varargs$PairVarargs.class new file mode 100644 index 00000000..6891ad52 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/Varargs$PairVarargs.class differ diff --git a/core/src/main/java/org/luaj/vm2/Varargs$SubVarargs.class b/core/src/main/java/org/luaj/vm2/Varargs$SubVarargs.class new file mode 100644 index 00000000..65a4c63f Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/Varargs$SubVarargs.class differ diff --git a/core/src/main/java/org/luaj/vm2/Varargs.class b/core/src/main/java/org/luaj/vm2/Varargs.class new file mode 100644 index 00000000..194af241 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/Varargs.class differ diff --git a/core/src/main/java/org/luaj/vm2/WeakTable$WeakKeyAndValueSlot.class b/core/src/main/java/org/luaj/vm2/WeakTable$WeakKeyAndValueSlot.class new file mode 100644 index 00000000..96d43f1d Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/WeakTable$WeakKeyAndValueSlot.class differ diff --git a/core/src/main/java/org/luaj/vm2/WeakTable$WeakKeySlot.class b/core/src/main/java/org/luaj/vm2/WeakTable$WeakKeySlot.class new file mode 100644 index 00000000..8d143eac Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/WeakTable$WeakKeySlot.class differ diff --git a/core/src/main/java/org/luaj/vm2/WeakTable$WeakSlot.class b/core/src/main/java/org/luaj/vm2/WeakTable$WeakSlot.class new file mode 100644 index 00000000..678a9d05 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/WeakTable$WeakSlot.class differ diff --git a/core/src/main/java/org/luaj/vm2/WeakTable$WeakUserdata.class b/core/src/main/java/org/luaj/vm2/WeakTable$WeakUserdata.class new file mode 100644 index 00000000..f882da84 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/WeakTable$WeakUserdata.class differ diff --git a/core/src/main/java/org/luaj/vm2/WeakTable$WeakValue.class b/core/src/main/java/org/luaj/vm2/WeakTable$WeakValue.class new file mode 100644 index 00000000..17016599 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/WeakTable$WeakValue.class differ diff --git a/core/src/main/java/org/luaj/vm2/WeakTable$WeakValueSlot.class b/core/src/main/java/org/luaj/vm2/WeakTable$WeakValueSlot.class new file mode 100644 index 00000000..3c53aabd Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/WeakTable$WeakValueSlot.class differ diff --git a/core/src/main/java/org/luaj/vm2/WeakTable.class b/core/src/main/java/org/luaj/vm2/WeakTable.class new file mode 100644 index 00000000..42ee724e Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/WeakTable.class differ diff --git a/core/src/main/java/org/luaj/vm2/compiler/Constants.class b/core/src/main/java/org/luaj/vm2/compiler/Constants.class new file mode 100644 index 00000000..da267dd7 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/compiler/Constants.class differ diff --git a/core/src/main/java/org/luaj/vm2/compiler/FuncState$BlockCnt.class b/core/src/main/java/org/luaj/vm2/compiler/FuncState$BlockCnt.class new file mode 100644 index 00000000..98f6e0d2 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/compiler/FuncState$BlockCnt.class differ diff --git a/core/src/main/java/org/luaj/vm2/compiler/FuncState.class b/core/src/main/java/org/luaj/vm2/compiler/FuncState.class new file mode 100644 index 00000000..92ede711 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/compiler/FuncState.class differ diff --git a/core/src/main/java/org/luaj/vm2/compiler/InstructionPtr.class b/core/src/main/java/org/luaj/vm2/compiler/InstructionPtr.class new file mode 100644 index 00000000..28ca8b77 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/compiler/InstructionPtr.class differ diff --git a/core/src/main/java/org/luaj/vm2/compiler/IntPtr.class b/core/src/main/java/org/luaj/vm2/compiler/IntPtr.class new file mode 100644 index 00000000..c1e26e26 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/compiler/IntPtr.class differ diff --git a/core/src/main/java/org/luaj/vm2/compiler/LexState$ConsControl.class b/core/src/main/java/org/luaj/vm2/compiler/LexState$ConsControl.class new file mode 100644 index 00000000..3739fae9 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/compiler/LexState$ConsControl.class differ diff --git a/core/src/main/java/org/luaj/vm2/compiler/LexState$Dyndata.class b/core/src/main/java/org/luaj/vm2/compiler/LexState$Dyndata.class new file mode 100644 index 00000000..bbdc725e Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/compiler/LexState$Dyndata.class differ diff --git a/core/src/main/java/org/luaj/vm2/compiler/LexState$LHS_assign.class b/core/src/main/java/org/luaj/vm2/compiler/LexState$LHS_assign.class new file mode 100644 index 00000000..0b2ce704 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/compiler/LexState$LHS_assign.class differ diff --git a/core/src/main/java/org/luaj/vm2/compiler/LexState$Labeldesc.class b/core/src/main/java/org/luaj/vm2/compiler/LexState$Labeldesc.class new file mode 100644 index 00000000..748e7d74 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/compiler/LexState$Labeldesc.class differ diff --git a/core/src/main/java/org/luaj/vm2/compiler/LexState$Priority.class b/core/src/main/java/org/luaj/vm2/compiler/LexState$Priority.class new file mode 100644 index 00000000..d9af70c5 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/compiler/LexState$Priority.class differ diff --git a/core/src/main/java/org/luaj/vm2/compiler/LexState$SemInfo.class b/core/src/main/java/org/luaj/vm2/compiler/LexState$SemInfo.class new file mode 100644 index 00000000..28686278 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/compiler/LexState$SemInfo.class differ diff --git a/core/src/main/java/org/luaj/vm2/compiler/LexState$Token.class b/core/src/main/java/org/luaj/vm2/compiler/LexState$Token.class new file mode 100644 index 00000000..add6d9b7 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/compiler/LexState$Token.class differ diff --git a/core/src/main/java/org/luaj/vm2/compiler/LexState$Vardesc.class b/core/src/main/java/org/luaj/vm2/compiler/LexState$Vardesc.class new file mode 100644 index 00000000..ffd2a48c Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/compiler/LexState$Vardesc.class differ diff --git a/core/src/main/java/org/luaj/vm2/compiler/LexState$expdesc$U.class b/core/src/main/java/org/luaj/vm2/compiler/LexState$expdesc$U.class new file mode 100644 index 00000000..ab7a0895 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/compiler/LexState$expdesc$U.class differ diff --git a/core/src/main/java/org/luaj/vm2/compiler/LexState$expdesc.class b/core/src/main/java/org/luaj/vm2/compiler/LexState$expdesc.class new file mode 100644 index 00000000..78dc8969 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/compiler/LexState$expdesc.class differ diff --git a/core/src/main/java/org/luaj/vm2/compiler/LexState.class b/core/src/main/java/org/luaj/vm2/compiler/LexState.class new file mode 100644 index 00000000..d6516150 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/compiler/LexState.class differ diff --git a/core/src/main/java/org/luaj/vm2/compiler/LexState.java b/core/src/main/java/org/luaj/vm2/compiler/LexState.java index bc9b360f..abee782c 100644 --- a/core/src/main/java/org/luaj/vm2/compiler/LexState.java +++ b/core/src/main/java/org/luaj/vm2/compiler/LexState.java @@ -44,6 +44,8 @@ public class LexState extends Constants { protected static final String RESERVED_LOCAL_VAR_FOR_STEP = "(for step)"; protected static final String RESERVED_LOCAL_VAR_FOR_LIMIT = "(for limit)"; protected static final String RESERVED_LOCAL_VAR_FOR_INDEX = "(for index)"; + protected static final LuaString LOOP_LABEL_BREAK = LuaString.valueOf("break"); + protected static final LuaString LOOP_LABEL_CONTINUE = LuaString.valueOf("continue"); // keywords array protected static final String[] RESERVED_LOCAL_VAR_KEYWORDS = new String[] { @@ -72,7 +74,8 @@ public class LexState extends Constants { private static final boolean LUA_COMPAT_VARARG = true; public static boolean isReservedKeyword(String varName) { - return RESERVED_LOCAL_VAR_KEYWORDS_TABLE.containsKey(varName); + return RESERVED_LOCAL_VAR_KEYWORDS_TABLE.containsKey(varName) + || RESERVED.containsKey(LuaString.valueOf(varName)); } /* @@ -146,7 +149,7 @@ public class LexState extends Constants { /* ORDER RESERVED */ final static String luaX_tokens [] = { - "and", "break", "do", "else", "elseif", + "and", "break", "continue", "do", "else", "elseif", "end", "false", "for", "function", "goto", "if", "in", "local", "nil", "not", "or", "repeat", "return", "then", "true", "until", "while", @@ -156,13 +159,13 @@ public class LexState extends Constants { final static int /* terminal symbols denoted by reserved words */ - TK_AND=257, TK_BREAK=258, TK_DO=259, TK_ELSE=260, TK_ELSEIF=261, - TK_END=262, TK_FALSE=263, TK_FOR=264, TK_FUNCTION=265, TK_GOTO=266, TK_IF=267, - TK_IN=268, TK_LOCAL=269, TK_NIL=270, TK_NOT=271, TK_OR=272, TK_REPEAT=273, - TK_RETURN=274, TK_THEN=275, TK_TRUE=276, TK_UNTIL=277, TK_WHILE=278, + TK_AND=257, TK_BREAK=258, TK_CONTINUE=259, TK_DO=260, TK_ELSE=261, TK_ELSEIF=262, + TK_END=263, TK_FALSE=264, TK_FOR=265, TK_FUNCTION=266, TK_GOTO=267, TK_IF=268, + TK_IN=269, TK_LOCAL=270, TK_NIL=271, TK_NOT=272, TK_OR=273, TK_REPEAT=274, + TK_RETURN=275, TK_THEN=276, TK_TRUE=277, TK_UNTIL=278, TK_WHILE=279, /* other terminal symbols */ - TK_CONCAT=279, TK_DOTS=280, TK_IDIV=281, TK_SHL=282, TK_SHR=283, TK_EQ=284, TK_GE=285, TK_LE=286, TK_NE=287, - TK_DBCOLON=288, TK_EOS=289, TK_NUMBER=290, TK_NAME=291, TK_STRING=292; + TK_CONCAT=280, TK_DOTS=281, TK_IDIV=282, TK_SHL=283, TK_SHR=284, TK_EQ=285, TK_GE=286, TK_LE=287, TK_NE=288, + TK_DBCOLON=289, TK_EOS=290, TK_NUMBER=291, TK_NAME=292, TK_STRING=293; final static int FIRST_RESERVED = TK_AND; final static int NUM_RESERVED = TK_WHILE+1-FIRST_RESERVED; @@ -1740,9 +1743,11 @@ public class LexState extends Constants { int g; if (testnext(TK_GOTO)) label = str_checkname(); - else { - next(); /* skip break */ - label = LuaString.valueOf("break"); + else if (testnext(TK_BREAK)) { + label = LOOP_LABEL_BREAK; + } else { + checknext(TK_CONTINUE); + label = LOOP_LABEL_CONTINUE; } g = newlabelentry(dyd.gt =grow(dyd.gt, dyd.n_gt+1), dyd.n_gt++, label, line, pc); findlabel(g); /* close it if label already defined */ @@ -1772,6 +1777,12 @@ public class LexState extends Constants { } + void looplabel(LuaString label, int pc) { + int l = newlabelentry(dyd.label = grow(dyd.label, dyd.n_label + 1), dyd.n_label++, label, 0, pc); + findgotos(dyd.label[l]); + } + + void whilestat (int line) { /* whilestat -> WHILE cond DO block END */ FuncState fs = this.fs; @@ -1784,6 +1795,7 @@ public class LexState extends Constants { fs.enterblock(bl, true); this.checknext(TK_DO); this.block(); + this.looplabel(LOOP_LABEL_CONTINUE, fs.getlabel()); fs.patchlist(fs.jump(), whileinit); this.check_match(TK_END, TK_WHILE, line); fs.leaveblock(); @@ -1802,6 +1814,7 @@ public class LexState extends Constants { this.next(); /* skip REPEAT */ this.statlist(); this.check_match(TK_UNTIL, TK_REPEAT, line); + this.looplabel(LOOP_LABEL_CONTINUE, fs.getlabel()); condexit = this.cond(); /* read condition (inside scope block) */ if (bl2.upval) { /* upvalues? */ fs.patchclose(condexit, bl2.nactvar); @@ -1835,6 +1848,7 @@ public class LexState extends Constants { fs.reserveregs(nvars); this.block(); fs.leaveblock(); /* end of scope for declared variables */ + this.looplabel(LOOP_LABEL_CONTINUE, fs.getlabel()); fs.patchtohere(prep); if (isnum) /* numeric for? */ endfor = fs.codeAsBx(Lua.OP_FORLOOP, base, NO_JUMP); @@ -1927,7 +1941,7 @@ public class LexState extends Constants { this.next(); /* skip IF or ELSEIF */ expr(v); /* read expression */ this.checknext(TK_THEN); - if (t.token == TK_GOTO || t.token == TK_BREAK) { + if (t.token == TK_GOTO || t.token == TK_BREAK || t.token == TK_CONTINUE) { fs.goiffalse(v); /* will jump to label if condition is true */ fs.enterblock(bl, false); /* must enter block before 'goto' */ gotostat(v.t.i); /* handle goto/break */ @@ -2119,6 +2133,7 @@ public class LexState extends Constants { break; } case TK_BREAK: + case TK_CONTINUE: case TK_GOTO: { /* stat -> breakstat */ this.gotostat(fs.jump()); break; diff --git a/core/src/main/java/org/luaj/vm2/compiler/LuaC$CompileState.class b/core/src/main/java/org/luaj/vm2/compiler/LuaC$CompileState.class new file mode 100644 index 00000000..fdd413d7 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/compiler/LuaC$CompileState.class differ diff --git a/core/src/main/java/org/luaj/vm2/compiler/LuaC.class b/core/src/main/java/org/luaj/vm2/compiler/LuaC.class new file mode 100644 index 00000000..b2360345 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/compiler/LuaC.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/BaseLib$StringInputStream.class b/core/src/main/java/org/luaj/vm2/libs/BaseLib$StringInputStream.class new file mode 100644 index 00000000..a3c1f1dc Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/BaseLib$StringInputStream.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/BaseLib$_assert.class b/core/src/main/java/org/luaj/vm2/libs/BaseLib$_assert.class new file mode 100644 index 00000000..43acfeaa Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/BaseLib$_assert.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/BaseLib$collectgarbage.class b/core/src/main/java/org/luaj/vm2/libs/BaseLib$collectgarbage.class new file mode 100644 index 00000000..37abb1e3 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/BaseLib$collectgarbage.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/BaseLib$dofile.class b/core/src/main/java/org/luaj/vm2/libs/BaseLib$dofile.class new file mode 100644 index 00000000..869cd6ff Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/BaseLib$dofile.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/BaseLib$error.class b/core/src/main/java/org/luaj/vm2/libs/BaseLib$error.class new file mode 100644 index 00000000..771d856f Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/BaseLib$error.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/BaseLib$getmetatable.class b/core/src/main/java/org/luaj/vm2/libs/BaseLib$getmetatable.class new file mode 100644 index 00000000..efc53b27 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/BaseLib$getmetatable.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/BaseLib$inext.class b/core/src/main/java/org/luaj/vm2/libs/BaseLib$inext.class new file mode 100644 index 00000000..8027c609 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/BaseLib$inext.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/BaseLib$ipairs.class b/core/src/main/java/org/luaj/vm2/libs/BaseLib$ipairs.class new file mode 100644 index 00000000..b1cf8fba Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/BaseLib$ipairs.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/BaseLib$load.class b/core/src/main/java/org/luaj/vm2/libs/BaseLib$load.class new file mode 100644 index 00000000..2bc034c3 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/BaseLib$load.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/BaseLib$loadfile.class b/core/src/main/java/org/luaj/vm2/libs/BaseLib$loadfile.class new file mode 100644 index 00000000..ffeb01d4 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/BaseLib$loadfile.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/BaseLib$next.class b/core/src/main/java/org/luaj/vm2/libs/BaseLib$next.class new file mode 100644 index 00000000..f3051898 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/BaseLib$next.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/BaseLib$pairs.class b/core/src/main/java/org/luaj/vm2/libs/BaseLib$pairs.class new file mode 100644 index 00000000..c0bea42b Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/BaseLib$pairs.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/BaseLib$pcall.class b/core/src/main/java/org/luaj/vm2/libs/BaseLib$pcall.class new file mode 100644 index 00000000..ce509f6a Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/BaseLib$pcall.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/BaseLib$print.class b/core/src/main/java/org/luaj/vm2/libs/BaseLib$print.class new file mode 100644 index 00000000..7be12a50 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/BaseLib$print.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/BaseLib$rawequal.class b/core/src/main/java/org/luaj/vm2/libs/BaseLib$rawequal.class new file mode 100644 index 00000000..9aac1b20 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/BaseLib$rawequal.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/BaseLib$rawget.class b/core/src/main/java/org/luaj/vm2/libs/BaseLib$rawget.class new file mode 100644 index 00000000..4809e868 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/BaseLib$rawget.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/BaseLib$rawlen.class b/core/src/main/java/org/luaj/vm2/libs/BaseLib$rawlen.class new file mode 100644 index 00000000..57034b4d Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/BaseLib$rawlen.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/BaseLib$rawset.class b/core/src/main/java/org/luaj/vm2/libs/BaseLib$rawset.class new file mode 100644 index 00000000..c7667743 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/BaseLib$rawset.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/BaseLib$select.class b/core/src/main/java/org/luaj/vm2/libs/BaseLib$select.class new file mode 100644 index 00000000..229f5efd Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/BaseLib$select.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/BaseLib$setmetatable.class b/core/src/main/java/org/luaj/vm2/libs/BaseLib$setmetatable.class new file mode 100644 index 00000000..3f64c749 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/BaseLib$setmetatable.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/BaseLib$tonumber.class b/core/src/main/java/org/luaj/vm2/libs/BaseLib$tonumber.class new file mode 100644 index 00000000..117e8e2e Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/BaseLib$tonumber.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/BaseLib$tostring.class b/core/src/main/java/org/luaj/vm2/libs/BaseLib$tostring.class new file mode 100644 index 00000000..0427762b Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/BaseLib$tostring.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/BaseLib$type.class b/core/src/main/java/org/luaj/vm2/libs/BaseLib$type.class new file mode 100644 index 00000000..1fe0bb73 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/BaseLib$type.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/BaseLib$xpcall.class b/core/src/main/java/org/luaj/vm2/libs/BaseLib$xpcall.class new file mode 100644 index 00000000..90aa6ede Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/BaseLib$xpcall.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/BaseLib.class b/core/src/main/java/org/luaj/vm2/libs/BaseLib.class new file mode 100644 index 00000000..e913d9e4 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/BaseLib.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/DebugLib$CallFrame.class b/core/src/main/java/org/luaj/vm2/libs/DebugLib$CallFrame.class new file mode 100644 index 00000000..0f0f9fd7 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/DebugLib$CallFrame.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/DebugLib$CallStack.class b/core/src/main/java/org/luaj/vm2/libs/DebugLib$CallStack.class new file mode 100644 index 00000000..cf3ca53d Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/DebugLib$CallStack.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/DebugLib$DebugInfo.class b/core/src/main/java/org/luaj/vm2/libs/DebugLib$DebugInfo.class new file mode 100644 index 00000000..37476d23 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/DebugLib$DebugInfo.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/DebugLib$NameWhat.class b/core/src/main/java/org/luaj/vm2/libs/DebugLib$NameWhat.class new file mode 100644 index 00000000..fbabae78 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/DebugLib$NameWhat.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/DebugLib$debug.class b/core/src/main/java/org/luaj/vm2/libs/DebugLib$debug.class new file mode 100644 index 00000000..86e46170 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/DebugLib$debug.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/DebugLib$gethook.class b/core/src/main/java/org/luaj/vm2/libs/DebugLib$gethook.class new file mode 100644 index 00000000..b7a62f67 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/DebugLib$gethook.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/DebugLib$getinfo.class b/core/src/main/java/org/luaj/vm2/libs/DebugLib$getinfo.class new file mode 100644 index 00000000..59925f45 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/DebugLib$getinfo.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/DebugLib$getlocal.class b/core/src/main/java/org/luaj/vm2/libs/DebugLib$getlocal.class new file mode 100644 index 00000000..5581bc5c Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/DebugLib$getlocal.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/DebugLib$getmetatable.class b/core/src/main/java/org/luaj/vm2/libs/DebugLib$getmetatable.class new file mode 100644 index 00000000..ad0bb2a7 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/DebugLib$getmetatable.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/DebugLib$getregistry.class b/core/src/main/java/org/luaj/vm2/libs/DebugLib$getregistry.class new file mode 100644 index 00000000..a875b0af Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/DebugLib$getregistry.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/DebugLib$getupvalue.class b/core/src/main/java/org/luaj/vm2/libs/DebugLib$getupvalue.class new file mode 100644 index 00000000..74efd475 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/DebugLib$getupvalue.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/DebugLib$getuservalue.class b/core/src/main/java/org/luaj/vm2/libs/DebugLib$getuservalue.class new file mode 100644 index 00000000..1a01d921 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/DebugLib$getuservalue.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/DebugLib$sethook.class b/core/src/main/java/org/luaj/vm2/libs/DebugLib$sethook.class new file mode 100644 index 00000000..205e7137 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/DebugLib$sethook.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/DebugLib$setlocal.class b/core/src/main/java/org/luaj/vm2/libs/DebugLib$setlocal.class new file mode 100644 index 00000000..b19b2c61 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/DebugLib$setlocal.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/DebugLib$setmetatable.class b/core/src/main/java/org/luaj/vm2/libs/DebugLib$setmetatable.class new file mode 100644 index 00000000..ea528527 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/DebugLib$setmetatable.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/DebugLib$setupvalue.class b/core/src/main/java/org/luaj/vm2/libs/DebugLib$setupvalue.class new file mode 100644 index 00000000..628adb3a Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/DebugLib$setupvalue.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/DebugLib$setuservalue.class b/core/src/main/java/org/luaj/vm2/libs/DebugLib$setuservalue.class new file mode 100644 index 00000000..7662e64e Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/DebugLib$setuservalue.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/DebugLib$traceback.class b/core/src/main/java/org/luaj/vm2/libs/DebugLib$traceback.class new file mode 100644 index 00000000..bffeffae Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/DebugLib$traceback.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/DebugLib$upvalueid.class b/core/src/main/java/org/luaj/vm2/libs/DebugLib$upvalueid.class new file mode 100644 index 00000000..c38266a9 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/DebugLib$upvalueid.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/DebugLib$upvaluejoin.class b/core/src/main/java/org/luaj/vm2/libs/DebugLib$upvaluejoin.class new file mode 100644 index 00000000..74e22acf Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/DebugLib$upvaluejoin.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/DebugLib.class b/core/src/main/java/org/luaj/vm2/libs/DebugLib.class new file mode 100644 index 00000000..f0f1615a Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/DebugLib.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/IoLib$File.class b/core/src/main/java/org/luaj/vm2/libs/IoLib$File.class new file mode 100644 index 00000000..5c64b50a Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/IoLib$File.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/IoLib$IoLibV.class b/core/src/main/java/org/luaj/vm2/libs/IoLib$IoLibV.class new file mode 100644 index 00000000..a3771b78 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/IoLib$IoLibV.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/IoLib.class b/core/src/main/java/org/luaj/vm2/libs/IoLib.class new file mode 100644 index 00000000..de1e4890 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/IoLib.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/LibFunction.class b/core/src/main/java/org/luaj/vm2/libs/LibFunction.class new file mode 100644 index 00000000..3ddbafd8 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/LibFunction.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/MathLib$BinaryOp.class b/core/src/main/java/org/luaj/vm2/libs/MathLib$BinaryOp.class new file mode 100644 index 00000000..8625f404 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/MathLib$BinaryOp.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/MathLib$UnaryOp.class b/core/src/main/java/org/luaj/vm2/libs/MathLib$UnaryOp.class new file mode 100644 index 00000000..c9972e7c Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/MathLib$UnaryOp.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/MathLib$abs.class b/core/src/main/java/org/luaj/vm2/libs/MathLib$abs.class new file mode 100644 index 00000000..5b7d83fd Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/MathLib$abs.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/MathLib$ceil.class b/core/src/main/java/org/luaj/vm2/libs/MathLib$ceil.class new file mode 100644 index 00000000..ad10861a Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/MathLib$ceil.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/MathLib$cos.class b/core/src/main/java/org/luaj/vm2/libs/MathLib$cos.class new file mode 100644 index 00000000..5b57a52f Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/MathLib$cos.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/MathLib$deg.class b/core/src/main/java/org/luaj/vm2/libs/MathLib$deg.class new file mode 100644 index 00000000..917f49c3 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/MathLib$deg.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/MathLib$exp.class b/core/src/main/java/org/luaj/vm2/libs/MathLib$exp.class new file mode 100644 index 00000000..5e417c84 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/MathLib$exp.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/MathLib$floor.class b/core/src/main/java/org/luaj/vm2/libs/MathLib$floor.class new file mode 100644 index 00000000..ac9f7356 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/MathLib$floor.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/MathLib$fmod.class b/core/src/main/java/org/luaj/vm2/libs/MathLib$fmod.class new file mode 100644 index 00000000..ed518dc7 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/MathLib$fmod.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/MathLib$frexp.class b/core/src/main/java/org/luaj/vm2/libs/MathLib$frexp.class new file mode 100644 index 00000000..88918b5f Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/MathLib$frexp.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/MathLib$ldexp.class b/core/src/main/java/org/luaj/vm2/libs/MathLib$ldexp.class new file mode 100644 index 00000000..40a5ed16 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/MathLib$ldexp.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/MathLib$max.class b/core/src/main/java/org/luaj/vm2/libs/MathLib$max.class new file mode 100644 index 00000000..de3bb729 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/MathLib$max.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/MathLib$min.class b/core/src/main/java/org/luaj/vm2/libs/MathLib$min.class new file mode 100644 index 00000000..40b9292a Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/MathLib$min.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/MathLib$modf.class b/core/src/main/java/org/luaj/vm2/libs/MathLib$modf.class new file mode 100644 index 00000000..70398856 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/MathLib$modf.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/MathLib$pow.class b/core/src/main/java/org/luaj/vm2/libs/MathLib$pow.class new file mode 100644 index 00000000..31b3ad4f Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/MathLib$pow.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/MathLib$rad.class b/core/src/main/java/org/luaj/vm2/libs/MathLib$rad.class new file mode 100644 index 00000000..da6b46b9 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/MathLib$rad.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/MathLib$random.class b/core/src/main/java/org/luaj/vm2/libs/MathLib$random.class new file mode 100644 index 00000000..842ce77f Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/MathLib$random.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/MathLib$randomseed.class b/core/src/main/java/org/luaj/vm2/libs/MathLib$randomseed.class new file mode 100644 index 00000000..e58a9c1b Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/MathLib$randomseed.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/MathLib$sin.class b/core/src/main/java/org/luaj/vm2/libs/MathLib$sin.class new file mode 100644 index 00000000..5a581c56 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/MathLib$sin.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/MathLib$sqrt.class b/core/src/main/java/org/luaj/vm2/libs/MathLib$sqrt.class new file mode 100644 index 00000000..6ba6bc3d Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/MathLib$sqrt.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/MathLib$tan.class b/core/src/main/java/org/luaj/vm2/libs/MathLib$tan.class new file mode 100644 index 00000000..86f91f4c Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/MathLib$tan.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/MathLib$tointeger.class b/core/src/main/java/org/luaj/vm2/libs/MathLib$tointeger.class new file mode 100644 index 00000000..7eddf3b5 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/MathLib$tointeger.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/MathLib$type.class b/core/src/main/java/org/luaj/vm2/libs/MathLib$type.class new file mode 100644 index 00000000..ebc00790 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/MathLib$type.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/MathLib$ult.class b/core/src/main/java/org/luaj/vm2/libs/MathLib$ult.class new file mode 100644 index 00000000..39cc4967 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/MathLib$ult.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/MathLib.class b/core/src/main/java/org/luaj/vm2/libs/MathLib.class new file mode 100644 index 00000000..0d48f359 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/MathLib.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/OneArgFunction.class b/core/src/main/java/org/luaj/vm2/libs/OneArgFunction.class new file mode 100644 index 00000000..3402f4e3 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/OneArgFunction.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/PackageLib$java_searcher.class b/core/src/main/java/org/luaj/vm2/libs/PackageLib$java_searcher.class new file mode 100644 index 00000000..33917bf0 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/PackageLib$java_searcher.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/PackageLib$loadlib.class b/core/src/main/java/org/luaj/vm2/libs/PackageLib$loadlib.class new file mode 100644 index 00000000..f2be2993 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/PackageLib$loadlib.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/PackageLib$lua_searcher.class b/core/src/main/java/org/luaj/vm2/libs/PackageLib$lua_searcher.class new file mode 100644 index 00000000..378d526e Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/PackageLib$lua_searcher.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/PackageLib$preload_searcher.class b/core/src/main/java/org/luaj/vm2/libs/PackageLib$preload_searcher.class new file mode 100644 index 00000000..3b124e6d Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/PackageLib$preload_searcher.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/PackageLib$require.class b/core/src/main/java/org/luaj/vm2/libs/PackageLib$require.class new file mode 100644 index 00000000..cad7b83f Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/PackageLib$require.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/PackageLib$searchpath.class b/core/src/main/java/org/luaj/vm2/libs/PackageLib$searchpath.class new file mode 100644 index 00000000..64f30c71 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/PackageLib$searchpath.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/PackageLib.class b/core/src/main/java/org/luaj/vm2/libs/PackageLib.class new file mode 100644 index 00000000..ff5bbdb0 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/PackageLib.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/ResourceFinder.class b/core/src/main/java/org/luaj/vm2/libs/ResourceFinder.class new file mode 100644 index 00000000..55e5e31d Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/ResourceFinder.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/TableLibFunction.class b/core/src/main/java/org/luaj/vm2/libs/TableLibFunction.class new file mode 100644 index 00000000..897c37b0 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/TableLibFunction.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/TwoArgFunction.class b/core/src/main/java/org/luaj/vm2/libs/TwoArgFunction.class new file mode 100644 index 00000000..fd752d9d Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/TwoArgFunction.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/VarArgFunction.class b/core/src/main/java/org/luaj/vm2/libs/VarArgFunction.class new file mode 100644 index 00000000..5b35a7a8 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/VarArgFunction.class differ diff --git a/core/src/main/java/org/luaj/vm2/libs/ZeroArgFunction.class b/core/src/main/java/org/luaj/vm2/libs/ZeroArgFunction.class new file mode 100644 index 00000000..cce44ab0 Binary files /dev/null and b/core/src/main/java/org/luaj/vm2/libs/ZeroArgFunction.class differ diff --git a/jse/src/main/java/org/luaj/vm2/ast/Block.class b/jse/src/main/java/org/luaj/vm2/ast/Block.class new file mode 100644 index 00000000..aba88592 Binary files /dev/null and b/jse/src/main/java/org/luaj/vm2/ast/Block.class differ diff --git a/jse/src/main/java/org/luaj/vm2/ast/Chunk.class b/jse/src/main/java/org/luaj/vm2/ast/Chunk.class new file mode 100644 index 00000000..5e6c4150 Binary files /dev/null and b/jse/src/main/java/org/luaj/vm2/ast/Chunk.class differ diff --git a/jse/src/main/java/org/luaj/vm2/ast/Exp$AnonFuncDef.class b/jse/src/main/java/org/luaj/vm2/ast/Exp$AnonFuncDef.class new file mode 100644 index 00000000..e04ba6c6 Binary files /dev/null and b/jse/src/main/java/org/luaj/vm2/ast/Exp$AnonFuncDef.class differ diff --git a/jse/src/main/java/org/luaj/vm2/ast/Exp$BinopExp.class b/jse/src/main/java/org/luaj/vm2/ast/Exp$BinopExp.class new file mode 100644 index 00000000..06b31ad8 Binary files /dev/null and b/jse/src/main/java/org/luaj/vm2/ast/Exp$BinopExp.class differ diff --git a/jse/src/main/java/org/luaj/vm2/ast/Exp$Constant.class b/jse/src/main/java/org/luaj/vm2/ast/Exp$Constant.class new file mode 100644 index 00000000..b82d48b6 Binary files /dev/null and b/jse/src/main/java/org/luaj/vm2/ast/Exp$Constant.class differ diff --git a/jse/src/main/java/org/luaj/vm2/ast/Exp$FieldExp.class b/jse/src/main/java/org/luaj/vm2/ast/Exp$FieldExp.class new file mode 100644 index 00000000..97f07e57 Binary files /dev/null and b/jse/src/main/java/org/luaj/vm2/ast/Exp$FieldExp.class differ diff --git a/jse/src/main/java/org/luaj/vm2/ast/Exp$FuncCall.class b/jse/src/main/java/org/luaj/vm2/ast/Exp$FuncCall.class new file mode 100644 index 00000000..3f70c730 Binary files /dev/null and b/jse/src/main/java/org/luaj/vm2/ast/Exp$FuncCall.class differ diff --git a/jse/src/main/java/org/luaj/vm2/ast/Exp$IndexExp.class b/jse/src/main/java/org/luaj/vm2/ast/Exp$IndexExp.class new file mode 100644 index 00000000..1dafe287 Binary files /dev/null and b/jse/src/main/java/org/luaj/vm2/ast/Exp$IndexExp.class differ diff --git a/jse/src/main/java/org/luaj/vm2/ast/Exp$MethodCall.class b/jse/src/main/java/org/luaj/vm2/ast/Exp$MethodCall.class new file mode 100644 index 00000000..23dcb12c Binary files /dev/null and b/jse/src/main/java/org/luaj/vm2/ast/Exp$MethodCall.class differ diff --git a/jse/src/main/java/org/luaj/vm2/ast/Exp$NameExp.class b/jse/src/main/java/org/luaj/vm2/ast/Exp$NameExp.class new file mode 100644 index 00000000..1eccc8a1 Binary files /dev/null and b/jse/src/main/java/org/luaj/vm2/ast/Exp$NameExp.class differ diff --git a/jse/src/main/java/org/luaj/vm2/ast/Exp$ParensExp.class b/jse/src/main/java/org/luaj/vm2/ast/Exp$ParensExp.class new file mode 100644 index 00000000..29456fa2 Binary files /dev/null and b/jse/src/main/java/org/luaj/vm2/ast/Exp$ParensExp.class differ diff --git a/jse/src/main/java/org/luaj/vm2/ast/Exp$PrimaryExp.class b/jse/src/main/java/org/luaj/vm2/ast/Exp$PrimaryExp.class new file mode 100644 index 00000000..766e5cb4 Binary files /dev/null and b/jse/src/main/java/org/luaj/vm2/ast/Exp$PrimaryExp.class differ diff --git a/jse/src/main/java/org/luaj/vm2/ast/Exp$UnopExp.class b/jse/src/main/java/org/luaj/vm2/ast/Exp$UnopExp.class new file mode 100644 index 00000000..c7a4f06d Binary files /dev/null and b/jse/src/main/java/org/luaj/vm2/ast/Exp$UnopExp.class differ diff --git a/jse/src/main/java/org/luaj/vm2/ast/Exp$VarExp.class b/jse/src/main/java/org/luaj/vm2/ast/Exp$VarExp.class new file mode 100644 index 00000000..b85e974c Binary files /dev/null and b/jse/src/main/java/org/luaj/vm2/ast/Exp$VarExp.class differ diff --git a/jse/src/main/java/org/luaj/vm2/ast/Exp$VarargsExp.class b/jse/src/main/java/org/luaj/vm2/ast/Exp$VarargsExp.class new file mode 100644 index 00000000..8e071aa4 Binary files /dev/null and b/jse/src/main/java/org/luaj/vm2/ast/Exp$VarargsExp.class differ diff --git a/jse/src/main/java/org/luaj/vm2/ast/Exp.class b/jse/src/main/java/org/luaj/vm2/ast/Exp.class new file mode 100644 index 00000000..548f8d1d Binary files /dev/null and b/jse/src/main/java/org/luaj/vm2/ast/Exp.class differ diff --git a/jse/src/main/java/org/luaj/vm2/ast/FuncArgs.class b/jse/src/main/java/org/luaj/vm2/ast/FuncArgs.class new file mode 100644 index 00000000..58e716a5 Binary files /dev/null and b/jse/src/main/java/org/luaj/vm2/ast/FuncArgs.class differ diff --git a/jse/src/main/java/org/luaj/vm2/ast/FuncBody.class b/jse/src/main/java/org/luaj/vm2/ast/FuncBody.class new file mode 100644 index 00000000..388bb2fe Binary files /dev/null and b/jse/src/main/java/org/luaj/vm2/ast/FuncBody.class differ diff --git a/jse/src/main/java/org/luaj/vm2/ast/FuncName.class b/jse/src/main/java/org/luaj/vm2/ast/FuncName.class new file mode 100644 index 00000000..1cede10d Binary files /dev/null and b/jse/src/main/java/org/luaj/vm2/ast/FuncName.class differ diff --git a/jse/src/main/java/org/luaj/vm2/ast/Name.class b/jse/src/main/java/org/luaj/vm2/ast/Name.class new file mode 100644 index 00000000..92d6ff11 Binary files /dev/null and b/jse/src/main/java/org/luaj/vm2/ast/Name.class differ diff --git a/jse/src/main/java/org/luaj/vm2/ast/NameScope.class b/jse/src/main/java/org/luaj/vm2/ast/NameScope.class new file mode 100644 index 00000000..690f7371 Binary files /dev/null and b/jse/src/main/java/org/luaj/vm2/ast/NameScope.class differ diff --git a/jse/src/main/java/org/luaj/vm2/ast/ParList.class b/jse/src/main/java/org/luaj/vm2/ast/ParList.class new file mode 100644 index 00000000..6abbf29d Binary files /dev/null and b/jse/src/main/java/org/luaj/vm2/ast/ParList.class differ diff --git a/jse/src/main/java/org/luaj/vm2/ast/Stat$Assign.class b/jse/src/main/java/org/luaj/vm2/ast/Stat$Assign.class new file mode 100644 index 00000000..882a6948 Binary files /dev/null and b/jse/src/main/java/org/luaj/vm2/ast/Stat$Assign.class differ diff --git a/jse/src/main/java/org/luaj/vm2/ast/Stat$Break.class b/jse/src/main/java/org/luaj/vm2/ast/Stat$Break.class new file mode 100644 index 00000000..3c432ca8 Binary files /dev/null and b/jse/src/main/java/org/luaj/vm2/ast/Stat$Break.class differ diff --git a/jse/src/main/java/org/luaj/vm2/ast/Stat$FuncCallStat.class b/jse/src/main/java/org/luaj/vm2/ast/Stat$FuncCallStat.class new file mode 100644 index 00000000..af3d791f Binary files /dev/null and b/jse/src/main/java/org/luaj/vm2/ast/Stat$FuncCallStat.class differ diff --git a/jse/src/main/java/org/luaj/vm2/ast/Stat$FuncDef.class b/jse/src/main/java/org/luaj/vm2/ast/Stat$FuncDef.class new file mode 100644 index 00000000..07745a69 Binary files /dev/null and b/jse/src/main/java/org/luaj/vm2/ast/Stat$FuncDef.class differ diff --git a/jse/src/main/java/org/luaj/vm2/ast/Stat$GenericFor.class b/jse/src/main/java/org/luaj/vm2/ast/Stat$GenericFor.class new file mode 100644 index 00000000..8952ed28 Binary files /dev/null and b/jse/src/main/java/org/luaj/vm2/ast/Stat$GenericFor.class differ diff --git a/jse/src/main/java/org/luaj/vm2/ast/Stat$Goto.class b/jse/src/main/java/org/luaj/vm2/ast/Stat$Goto.class new file mode 100644 index 00000000..0e76aec6 Binary files /dev/null and b/jse/src/main/java/org/luaj/vm2/ast/Stat$Goto.class differ diff --git a/jse/src/main/java/org/luaj/vm2/ast/Stat$IfThenElse.class b/jse/src/main/java/org/luaj/vm2/ast/Stat$IfThenElse.class new file mode 100644 index 00000000..c7105e0b Binary files /dev/null and b/jse/src/main/java/org/luaj/vm2/ast/Stat$IfThenElse.class differ diff --git a/jse/src/main/java/org/luaj/vm2/ast/Stat$Label.class b/jse/src/main/java/org/luaj/vm2/ast/Stat$Label.class new file mode 100644 index 00000000..ae94c71e Binary files /dev/null and b/jse/src/main/java/org/luaj/vm2/ast/Stat$Label.class differ diff --git a/jse/src/main/java/org/luaj/vm2/ast/Stat$LocalAssign.class b/jse/src/main/java/org/luaj/vm2/ast/Stat$LocalAssign.class new file mode 100644 index 00000000..71e43beb Binary files /dev/null and b/jse/src/main/java/org/luaj/vm2/ast/Stat$LocalAssign.class differ diff --git a/jse/src/main/java/org/luaj/vm2/ast/Stat$LocalFuncDef.class b/jse/src/main/java/org/luaj/vm2/ast/Stat$LocalFuncDef.class new file mode 100644 index 00000000..990eca61 Binary files /dev/null and b/jse/src/main/java/org/luaj/vm2/ast/Stat$LocalFuncDef.class differ diff --git a/jse/src/main/java/org/luaj/vm2/ast/Stat$NumericFor.class b/jse/src/main/java/org/luaj/vm2/ast/Stat$NumericFor.class new file mode 100644 index 00000000..7683e865 Binary files /dev/null and b/jse/src/main/java/org/luaj/vm2/ast/Stat$NumericFor.class differ diff --git a/jse/src/main/java/org/luaj/vm2/ast/Stat$RepeatUntil.class b/jse/src/main/java/org/luaj/vm2/ast/Stat$RepeatUntil.class new file mode 100644 index 00000000..25dac6c8 Binary files /dev/null and b/jse/src/main/java/org/luaj/vm2/ast/Stat$RepeatUntil.class differ diff --git a/jse/src/main/java/org/luaj/vm2/ast/Stat$Return.class b/jse/src/main/java/org/luaj/vm2/ast/Stat$Return.class new file mode 100644 index 00000000..1900377c Binary files /dev/null and b/jse/src/main/java/org/luaj/vm2/ast/Stat$Return.class differ diff --git a/jse/src/main/java/org/luaj/vm2/ast/Stat$WhileDo.class b/jse/src/main/java/org/luaj/vm2/ast/Stat$WhileDo.class new file mode 100644 index 00000000..3ac31549 Binary files /dev/null and b/jse/src/main/java/org/luaj/vm2/ast/Stat$WhileDo.class differ diff --git a/jse/src/main/java/org/luaj/vm2/ast/Stat.class b/jse/src/main/java/org/luaj/vm2/ast/Stat.class new file mode 100644 index 00000000..851741f2 Binary files /dev/null and b/jse/src/main/java/org/luaj/vm2/ast/Stat.class differ diff --git a/jse/src/main/java/org/luaj/vm2/ast/Str.class b/jse/src/main/java/org/luaj/vm2/ast/Str.class new file mode 100644 index 00000000..18c82255 Binary files /dev/null and b/jse/src/main/java/org/luaj/vm2/ast/Str.class differ diff --git a/jse/src/main/java/org/luaj/vm2/ast/SyntaxElement.class b/jse/src/main/java/org/luaj/vm2/ast/SyntaxElement.class new file mode 100644 index 00000000..592ed2eb Binary files /dev/null and b/jse/src/main/java/org/luaj/vm2/ast/SyntaxElement.class differ diff --git a/jse/src/main/java/org/luaj/vm2/ast/TableConstructor.class b/jse/src/main/java/org/luaj/vm2/ast/TableConstructor.class new file mode 100644 index 00000000..5f35f108 Binary files /dev/null and b/jse/src/main/java/org/luaj/vm2/ast/TableConstructor.class differ diff --git a/jse/src/main/java/org/luaj/vm2/ast/TableField.class b/jse/src/main/java/org/luaj/vm2/ast/TableField.class new file mode 100644 index 00000000..8ba36c3d Binary files /dev/null and b/jse/src/main/java/org/luaj/vm2/ast/TableField.class differ diff --git a/jse/src/main/java/org/luaj/vm2/ast/Variable.class b/jse/src/main/java/org/luaj/vm2/ast/Variable.class new file mode 100644 index 00000000..77689d8c Binary files /dev/null and b/jse/src/main/java/org/luaj/vm2/ast/Variable.class differ diff --git a/jse/src/main/java/org/luaj/vm2/ast/Visitor.class b/jse/src/main/java/org/luaj/vm2/ast/Visitor.class new file mode 100644 index 00000000..1d8ebf00 Binary files /dev/null and b/jse/src/main/java/org/luaj/vm2/ast/Visitor.class differ diff --git a/jse/src/main/java/org/luaj/vm2/parser/LuaParser$JJCalls.class b/jse/src/main/java/org/luaj/vm2/parser/LuaParser$JJCalls.class new file mode 100644 index 00000000..65f2b9ad Binary files /dev/null and b/jse/src/main/java/org/luaj/vm2/parser/LuaParser$JJCalls.class differ diff --git a/jse/src/main/java/org/luaj/vm2/parser/LuaParser$LookaheadSuccess.class b/jse/src/main/java/org/luaj/vm2/parser/LuaParser$LookaheadSuccess.class new file mode 100644 index 00000000..4548f7ed Binary files /dev/null and b/jse/src/main/java/org/luaj/vm2/parser/LuaParser$LookaheadSuccess.class differ diff --git a/jse/src/main/java/org/luaj/vm2/parser/LuaParser.class b/jse/src/main/java/org/luaj/vm2/parser/LuaParser.class new file mode 100644 index 00000000..10de69a6 Binary files /dev/null and b/jse/src/main/java/org/luaj/vm2/parser/LuaParser.class differ diff --git a/jse/src/main/java/org/luaj/vm2/parser/LuaParser.java b/jse/src/main/java/org/luaj/vm2/parser/LuaParser.java index ffa31cca..7e8d01c2 100644 --- a/jse/src/main/java/org/luaj/vm2/parser/LuaParser.java +++ b/jse/src/main/java/org/luaj/vm2/parser/LuaParser.java @@ -76,6 +76,7 @@ public class LuaParser implements LuaParserConstants { while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case BREAK: + case CONTINUE: case DO: case FOR: case FUNCTION: @@ -133,6 +134,10 @@ public class LuaParser implements LuaParserConstants { jj_consume_token(BREAK); s=Stat.breakstat(); L(s,i); {if (true) return s;} break; + case CONTINUE: + jj_consume_token(CONTINUE); + s=Stat.gotostat("continue"); L(s,i); {if (true) return s;} + break; case GOTO: jj_consume_token(GOTO); n = jj_consume_token(NAME); diff --git a/jse/src/main/java/org/luaj/vm2/parser/LuaParserConstants.class b/jse/src/main/java/org/luaj/vm2/parser/LuaParserConstants.class new file mode 100644 index 00000000..99850d45 Binary files /dev/null and b/jse/src/main/java/org/luaj/vm2/parser/LuaParserConstants.class differ diff --git a/jse/src/main/java/org/luaj/vm2/parser/LuaParserConstants.java b/jse/src/main/java/org/luaj/vm2/parser/LuaParserConstants.java index e0da5472..945f9f3e 100644 --- a/jse/src/main/java/org/luaj/vm2/parser/LuaParserConstants.java +++ b/jse/src/main/java/org/luaj/vm2/parser/LuaParserConstants.java @@ -124,6 +124,8 @@ public interface LuaParserConstants { int SHL = 98; /** RegularExpression Id. */ int SHR = 99; + /** Synthetic token for identifier keyword remapping. */ + int CONTINUE = 100; /** Lexical state. */ int DEFAULT = 0; @@ -252,6 +254,7 @@ public interface LuaParserConstants { "\"|\"", "\"<<\"", "\">>\"", + "\"continue\"", }; } diff --git a/jse/src/main/java/org/luaj/vm2/parser/LuaParserTokenManager.class b/jse/src/main/java/org/luaj/vm2/parser/LuaParserTokenManager.class new file mode 100644 index 00000000..ab21e933 Binary files /dev/null and b/jse/src/main/java/org/luaj/vm2/parser/LuaParserTokenManager.class differ diff --git a/jse/src/main/java/org/luaj/vm2/parser/LuaParserTokenManager.java b/jse/src/main/java/org/luaj/vm2/parser/LuaParserTokenManager.java index aed79893..a84b54f1 100644 --- a/jse/src/main/java/org/luaj/vm2/parser/LuaParserTokenManager.java +++ b/jse/src/main/java/org/luaj/vm2/parser/LuaParserTokenManager.java @@ -524,6 +524,8 @@ private int jjMoveStringLiteralDfa0_0() return jjMoveStringLiteralDfa1_0(0x4000000000000L, 0x0L); case 123: return jjStopAtPos(0, 80); + case 124: + return jjStopAtPos(0, 97); case 125: return jjStopAtPos(0, 81); case 126: @@ -1866,6 +1868,8 @@ protected Token jjFillToken() t.endLine = endLine; t.beginColumn = beginColumn; t.endColumn = endColumn; + if (t.kind == NAME && "continue".equals(t.image)) + t.kind = CONTINUE; return t; } @@ -2114,7 +2118,4 @@ private void jjCheckNAddStates(int start, int end) jjCheckNAdd(jjnextStates[start]); } while (start++ != end); } - } - case 124: - return jjStopAtPos(0, 97); diff --git a/jse/src/main/java/org/luaj/vm2/parser/ParseException.class b/jse/src/main/java/org/luaj/vm2/parser/ParseException.class new file mode 100644 index 00000000..1c8c6959 Binary files /dev/null and b/jse/src/main/java/org/luaj/vm2/parser/ParseException.class differ diff --git a/jse/src/main/java/org/luaj/vm2/parser/SimpleCharStream.class b/jse/src/main/java/org/luaj/vm2/parser/SimpleCharStream.class new file mode 100644 index 00000000..0e5bd25d Binary files /dev/null and b/jse/src/main/java/org/luaj/vm2/parser/SimpleCharStream.class differ diff --git a/jse/src/main/java/org/luaj/vm2/parser/Token.class b/jse/src/main/java/org/luaj/vm2/parser/Token.class new file mode 100644 index 00000000..dcd3a17c Binary files /dev/null and b/jse/src/main/java/org/luaj/vm2/parser/Token.class differ diff --git a/jse/src/main/java/org/luaj/vm2/parser/TokenMgrError.class b/jse/src/main/java/org/luaj/vm2/parser/TokenMgrError.class new file mode 100644 index 00000000..1bb9c649 Binary files /dev/null and b/jse/src/main/java/org/luaj/vm2/parser/TokenMgrError.class differ diff --git a/jse/src/test/java/org/luaj/vm2/FragmentsTest.java b/jse/src/test/java/org/luaj/vm2/FragmentsTest.java index be93e45f..202204e1 100644 --- a/jse/src/test/java/org/luaj/vm2/FragmentsTest.java +++ b/jse/src/test/java/org/luaj/vm2/FragmentsTest.java @@ -117,6 +117,29 @@ public class FragmentsTest extends TestSuite { runFragment(LuaValue.TRUE, "local x=5 local width=10 return x==width//2\n"); } + public void testContinueInLoops() { + runFragment( + LuaValue.valueOf(229), + "local sum = 0\n" + + "for i = 1, 5 do\n" + + " if i % 2 == 0 then continue end\n" + + " sum = sum + i\n" + + "end\n" + + "local j = 0\n" + + "while j < 4 do\n" + + " j = j + 1\n" + + " if j < 3 then continue end\n" + + " sum = sum + 10\n" + + "end\n" + + "local k = 0\n" + + "repeat\n" + + " k = k + 1\n" + + " if k < 3 then continue end\n" + + " sum = sum + 100\n" + + "until k >= 4\n" + + "return sum\n"); + } + public void testLongIntegerLiteralPrecision() { runFragment( LuaValue.varargsOf(new LuaValue[] { diff --git a/jse/src/test/java/org/luaj/vm2/compiler/LuaParserTests.java b/jse/src/test/java/org/luaj/vm2/compiler/LuaParserTests.java index 834e2674..e09483a9 100644 --- a/jse/src/test/java/org/luaj/vm2/compiler/LuaParserTests.java +++ b/jse/src/test/java/org/luaj/vm2/compiler/LuaParserTests.java @@ -7,6 +7,7 @@ import org.luaj.vm2.parser.LuaParser; import java.io.InputStream; import java.io.InputStreamReader; import java.io.Reader; +import java.io.StringReader; public class LuaParserTests extends CompilerUnitTests { @@ -26,4 +27,14 @@ public class LuaParserTests extends CompilerUnitTests { e.printStackTrace(); } } + + public void testContinueParses() { + try { + Reader r = new StringReader("while true do continue end"); + LuaParser parser = new LuaParser(r); + parser.Chunk(); + } catch (Exception e) { + fail(e.getMessage()); + } + } }