mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/jpexs-decompiler.git
synced 2026-09-26 02:50:43 +00:00
AS1/2 ActionTry fix
AS1/2 Infinity
This commit is contained in:
@@ -19,17 +19,18 @@ package com.jpexs.decompiler.flash.action.parser;
|
||||
import com.jpexs.decompiler.flash.action.Action;
|
||||
import com.jpexs.decompiler.flash.action.flashlite.ActionFSCommand2;
|
||||
import com.jpexs.decompiler.flash.action.flashlite.ActionStrictMode;
|
||||
import com.jpexs.decompiler.flash.graph.GraphSourceItemContainer;
|
||||
import com.jpexs.decompiler.flash.action.special.ActionNop;
|
||||
import com.jpexs.decompiler.flash.action.swf3.*;
|
||||
import com.jpexs.decompiler.flash.action.swf4.*;
|
||||
import com.jpexs.decompiler.flash.action.swf5.*;
|
||||
import com.jpexs.decompiler.flash.action.swf6.*;
|
||||
import com.jpexs.decompiler.flash.action.swf7.*;
|
||||
import com.jpexs.decompiler.flash.graph.GraphSourceItemContainer;
|
||||
import com.jpexs.decompiler.flash.helpers.Helper;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Stack;
|
||||
import java.util.logging.Level;
|
||||
@@ -39,7 +40,8 @@ public class ASMParser {
|
||||
|
||||
public static List<Action> parse(long containerSWFOffset, boolean ignoreNops, List<Label> labels, long address, FlasmLexer lexer, List<String> constantPool, int version) throws IOException, ParseException {
|
||||
List<Action> list = new ArrayList<Action>();
|
||||
Stack<GraphSourceItemContainer> containers=new Stack<GraphSourceItemContainer>();
|
||||
Stack<GraphSourceItemContainer> containers = new Stack<GraphSourceItemContainer>();
|
||||
HashMap<GraphSourceItemContainer, Integer> containerPos = new HashMap<GraphSourceItemContainer, Integer>();
|
||||
while (true) {
|
||||
ParsedSymbol symb = lexer.yylex();
|
||||
if (symb.type == ParsedSymbol.TYPE_LABEL) {
|
||||
@@ -54,248 +56,253 @@ public class ASMParser {
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if(symb.type == ParsedSymbol.TYPE_BLOCK_END){
|
||||
if(containers.isEmpty()){
|
||||
} else if (symb.type == ParsedSymbol.TYPE_BLOCK_END) {
|
||||
if (containers.isEmpty()) {
|
||||
throw new ParseException("Block end without start", lexer.yyline());
|
||||
}
|
||||
GraphSourceItemContainer a=containers.pop();
|
||||
a.setEndAddress(address);
|
||||
}else if (symb.type == ParsedSymbol.TYPE_INSTRUCTION_NAME) {
|
||||
GraphSourceItemContainer a = containers.peek();
|
||||
int pos = containerPos.get(a);
|
||||
containerPos.put(a, pos);
|
||||
if (!a.parseDivision(pos, address, lexer)) {
|
||||
containers.pop();
|
||||
}
|
||||
} else if (symb.type == ParsedSymbol.TYPE_INSTRUCTION_NAME) {
|
||||
String instructionName = ((String) symb.value).toLowerCase();
|
||||
Action a =null;
|
||||
Action a = null;
|
||||
if (instructionName.equals("GetURL".toLowerCase())) {
|
||||
a=new ActionGetURL(lexer);
|
||||
a = new ActionGetURL(lexer);
|
||||
} else if (instructionName.equals("GoToLabel".toLowerCase())) {
|
||||
a=(new ActionGoToLabel(lexer));
|
||||
a = (new ActionGoToLabel(lexer));
|
||||
} else if (instructionName.equals("GotoFrame".toLowerCase())) {
|
||||
a=(new ActionGotoFrame(lexer));
|
||||
a = (new ActionGotoFrame(lexer));
|
||||
} else if (instructionName.equals("NextFrame".toLowerCase())) {
|
||||
a=(new ActionNextFrame());
|
||||
a = (new ActionNextFrame());
|
||||
} else if (instructionName.equals("Play".toLowerCase())) {
|
||||
a=(new ActionPlay());
|
||||
a = (new ActionPlay());
|
||||
} else if (instructionName.equals("PrevFrame".toLowerCase())) {
|
||||
a=(new ActionPrevFrame());
|
||||
a = (new ActionPrevFrame());
|
||||
} else if (instructionName.equals("SetTarget".toLowerCase())) {
|
||||
a=(new ActionSetTarget(lexer));
|
||||
a = (new ActionSetTarget(lexer));
|
||||
} else if (instructionName.equals("Stop".toLowerCase())) {
|
||||
a=(new ActionStop());
|
||||
a = (new ActionStop());
|
||||
} else if (instructionName.equals("StopSounds".toLowerCase())) {
|
||||
a=(new ActionStopSounds());
|
||||
a = (new ActionStopSounds());
|
||||
} else if (instructionName.equals("ToggleQuality".toLowerCase())) {
|
||||
a=(new ActionToggleQuality());
|
||||
a = (new ActionToggleQuality());
|
||||
} else if (instructionName.equals("WaitForFrame".toLowerCase())) {
|
||||
a=(new ActionWaitForFrame(lexer));
|
||||
a = (new ActionWaitForFrame(lexer));
|
||||
} else if (instructionName.equals("Add".toLowerCase())) {
|
||||
a=(new ActionAdd());
|
||||
a = (new ActionAdd());
|
||||
} else if (instructionName.equals("And".toLowerCase())) {
|
||||
a=(new ActionAnd());
|
||||
a = (new ActionAnd());
|
||||
} else if (instructionName.equals("AsciiToChar".toLowerCase())) {
|
||||
a=(new ActionAsciiToChar());
|
||||
a = (new ActionAsciiToChar());
|
||||
} else if (instructionName.equals("Call".toLowerCase())) {
|
||||
a=(new ActionCall());
|
||||
a = (new ActionCall());
|
||||
} else if (instructionName.equals("CharToAscii".toLowerCase())) {
|
||||
a=(new ActionCharToAscii());
|
||||
a = (new ActionCharToAscii());
|
||||
} else if (instructionName.equals("CloneSprite".toLowerCase())) {
|
||||
a=(new ActionCloneSprite());
|
||||
a = (new ActionCloneSprite());
|
||||
} else if (instructionName.equals("Divide".toLowerCase())) {
|
||||
a=(new ActionDivide());
|
||||
a = (new ActionDivide());
|
||||
} else if (instructionName.equals("EndDrag".toLowerCase())) {
|
||||
a=(new ActionEndDrag());
|
||||
a = (new ActionEndDrag());
|
||||
} else if (instructionName.equals("Equals".toLowerCase())) {
|
||||
a=(new ActionEquals());
|
||||
a = (new ActionEquals());
|
||||
} else if (instructionName.equals("GetProperty".toLowerCase())) {
|
||||
a=(new ActionGetProperty());
|
||||
a = (new ActionGetProperty());
|
||||
} else if (instructionName.equals("GetTime".toLowerCase())) {
|
||||
a=(new ActionGetTime());
|
||||
a = (new ActionGetTime());
|
||||
} else if (instructionName.equals("GetURL2".toLowerCase())) {
|
||||
a=(new ActionGetURL2(lexer));
|
||||
a = (new ActionGetURL2(lexer));
|
||||
} else if (instructionName.equals("GetVariable".toLowerCase())) {
|
||||
a=(new ActionGetVariable());
|
||||
a = (new ActionGetVariable());
|
||||
} else if (instructionName.equals("GotoFrame2".toLowerCase())) {
|
||||
a=(new ActionGotoFrame2(lexer));
|
||||
a = (new ActionGotoFrame2(lexer));
|
||||
} else if (instructionName.equals("If".toLowerCase())) {
|
||||
a=(new ActionIf(lexer));
|
||||
a = (new ActionIf(lexer));
|
||||
} else if (instructionName.equals("Jump".toLowerCase())) {
|
||||
a=(new ActionJump(lexer));
|
||||
a = (new ActionJump(lexer));
|
||||
} else if (instructionName.equals("Less".toLowerCase())) {
|
||||
a=(new ActionLess());
|
||||
a = (new ActionLess());
|
||||
} else if (instructionName.equals("MBAsciiToChar".toLowerCase())) {
|
||||
a=(new ActionMBAsciiToChar());
|
||||
a = (new ActionMBAsciiToChar());
|
||||
} else if (instructionName.equals("MBCharToAscii".toLowerCase())) {
|
||||
a=(new ActionMBCharToAscii());
|
||||
a = (new ActionMBCharToAscii());
|
||||
} else if (instructionName.equals("MBStringExtract".toLowerCase())) {
|
||||
a=(new ActionMBStringExtract());
|
||||
a = (new ActionMBStringExtract());
|
||||
} else if (instructionName.equals("MBStringLength".toLowerCase())) {
|
||||
a=(new ActionMBStringLength());
|
||||
a = (new ActionMBStringLength());
|
||||
} else if (instructionName.equals("Multiply".toLowerCase())) {
|
||||
a=(new ActionMultiply());
|
||||
a = (new ActionMultiply());
|
||||
} else if (instructionName.equals("Not".toLowerCase())) {
|
||||
a=(new ActionNot());
|
||||
a = (new ActionNot());
|
||||
} else if (instructionName.equals("Or".toLowerCase())) {
|
||||
a=(new ActionOr());
|
||||
a = (new ActionOr());
|
||||
} else if (instructionName.equals("Pop".toLowerCase())) {
|
||||
a=(new ActionPop());
|
||||
a = (new ActionPop());
|
||||
} else if (instructionName.equals("Push".toLowerCase())) {
|
||||
a=(new ActionPush(lexer, constantPool));
|
||||
a = (new ActionPush(lexer, constantPool));
|
||||
} else if (instructionName.equals("RandomNumber".toLowerCase())) {
|
||||
a=(new ActionRandomNumber());
|
||||
a = (new ActionRandomNumber());
|
||||
} else if (instructionName.equals("RemoveSprite".toLowerCase())) {
|
||||
a=(new ActionRemoveSprite());
|
||||
a = (new ActionRemoveSprite());
|
||||
} else if (instructionName.equals("SetProperty".toLowerCase())) {
|
||||
a=(new ActionSetProperty());
|
||||
a = (new ActionSetProperty());
|
||||
} else if (instructionName.equals("SetTarget2".toLowerCase())) {
|
||||
a=(new ActionSetTarget2());
|
||||
a = (new ActionSetTarget2());
|
||||
} else if (instructionName.equals("SetVariable".toLowerCase())) {
|
||||
a=(new ActionSetVariable());
|
||||
a = (new ActionSetVariable());
|
||||
} else if (instructionName.equals("StartDrag".toLowerCase())) {
|
||||
a=(new ActionStartDrag());
|
||||
a = (new ActionStartDrag());
|
||||
} else if (instructionName.equals("StringAdd".toLowerCase())) {
|
||||
a=(new ActionStringAdd());
|
||||
a = (new ActionStringAdd());
|
||||
} else if (instructionName.equals("StringEquals".toLowerCase())) {
|
||||
a=(new ActionStringEquals());
|
||||
a = (new ActionStringEquals());
|
||||
} else if (instructionName.equals("StringExtract".toLowerCase())) {
|
||||
a=(new ActionStringExtract());
|
||||
a = (new ActionStringExtract());
|
||||
} else if (instructionName.equals("StringLength".toLowerCase())) {
|
||||
a=(new ActionStringLength());
|
||||
a = (new ActionStringLength());
|
||||
} else if (instructionName.equals("StringLess".toLowerCase())) {
|
||||
a=(new ActionStringLess());
|
||||
a = (new ActionStringLess());
|
||||
} else if (instructionName.equals("Subtract".toLowerCase())) {
|
||||
a=(new ActionSubtract());
|
||||
a = (new ActionSubtract());
|
||||
} else if (instructionName.equals("ToInteger".toLowerCase())) {
|
||||
a=(new ActionToInteger());
|
||||
a = (new ActionToInteger());
|
||||
} else if (instructionName.equals("Trace".toLowerCase())) {
|
||||
a=(new ActionTrace());
|
||||
a = (new ActionTrace());
|
||||
} else if (instructionName.equals("WaitForFrame2".toLowerCase())) {
|
||||
a=(new ActionWaitForFrame2(lexer));
|
||||
a = (new ActionWaitForFrame2(lexer));
|
||||
} else if (instructionName.equals("Add2".toLowerCase())) {
|
||||
a=(new ActionAdd2());
|
||||
a = (new ActionAdd2());
|
||||
} else if (instructionName.equals("BitAnd".toLowerCase())) {
|
||||
a=(new ActionBitAnd());
|
||||
a = (new ActionBitAnd());
|
||||
} else if (instructionName.equals("BitLShift".toLowerCase())) {
|
||||
a=(new ActionBitLShift());
|
||||
a = (new ActionBitLShift());
|
||||
} else if (instructionName.equals("BitOr".toLowerCase())) {
|
||||
a=(new ActionBitOr());
|
||||
a = (new ActionBitOr());
|
||||
} else if (instructionName.equals("BitRShift".toLowerCase())) {
|
||||
a=(new ActionBitRShift());
|
||||
a = (new ActionBitRShift());
|
||||
} else if (instructionName.equals("BitURShift".toLowerCase())) {
|
||||
a=(new ActionBitURShift());
|
||||
a = (new ActionBitURShift());
|
||||
} else if (instructionName.equals("BitXor".toLowerCase())) {
|
||||
a=(new ActionBitXor());
|
||||
a = (new ActionBitXor());
|
||||
} else if (instructionName.equals("CallFunction".toLowerCase())) {
|
||||
a=(new ActionCallFunction());
|
||||
a = (new ActionCallFunction());
|
||||
} else if (instructionName.equals("CallMethod".toLowerCase())) {
|
||||
a=(new ActionCallMethod());
|
||||
a = (new ActionCallMethod());
|
||||
} else if (instructionName.equals("ConstantPool".toLowerCase())) {
|
||||
ActionConstantPool acp = new ActionConstantPool(lexer);
|
||||
constantPool = acp.constantPool;
|
||||
a=(acp);
|
||||
a = (acp);
|
||||
} else if (instructionName.equals("Decrement".toLowerCase())) {
|
||||
a=(new ActionDecrement());
|
||||
a = (new ActionDecrement());
|
||||
} else if (instructionName.equals("DefineFunction".toLowerCase())) {
|
||||
a=(new ActionDefineFunction(containerSWFOffset + address, ignoreNops, labels, address, lexer, constantPool, version));
|
||||
a = (new ActionDefineFunction(containerSWFOffset + address, ignoreNops, labels, address, lexer, constantPool, version));
|
||||
} else if (instructionName.equals("DefineLocal".toLowerCase())) {
|
||||
a=(new ActionDefineLocal());
|
||||
a = (new ActionDefineLocal());
|
||||
} else if (instructionName.equals("DefineLocal2".toLowerCase())) {
|
||||
a=(new ActionDefineLocal2());
|
||||
a = (new ActionDefineLocal2());
|
||||
} else if (instructionName.equals("Delete".toLowerCase())) {
|
||||
a=(new ActionDelete());
|
||||
a = (new ActionDelete());
|
||||
} else if (instructionName.equals("Delete2".toLowerCase())) {
|
||||
a=(new ActionDelete2());
|
||||
a = (new ActionDelete2());
|
||||
} else if (instructionName.equals("Enumerate".toLowerCase())) {
|
||||
a=(new ActionEnumerate());
|
||||
a = (new ActionEnumerate());
|
||||
} else if (instructionName.equals("Equals2".toLowerCase())) {
|
||||
a=(new ActionEquals2());
|
||||
a = (new ActionEquals2());
|
||||
} else if (instructionName.equals("GetMember".toLowerCase())) {
|
||||
a=(new ActionGetMember());
|
||||
a = (new ActionGetMember());
|
||||
} else if (instructionName.equals("Increment".toLowerCase())) {
|
||||
a=(new ActionIncrement());
|
||||
a = (new ActionIncrement());
|
||||
} else if (instructionName.equals("InitArray".toLowerCase())) {
|
||||
a=(new ActionInitArray());
|
||||
a = (new ActionInitArray());
|
||||
} else if (instructionName.equals("InitObject".toLowerCase())) {
|
||||
a=(new ActionInitObject());
|
||||
a = (new ActionInitObject());
|
||||
} else if (instructionName.equals("Less2".toLowerCase())) {
|
||||
a=(new ActionLess2());
|
||||
a = (new ActionLess2());
|
||||
} else if (instructionName.equals("Modulo".toLowerCase())) {
|
||||
a=(new ActionModulo());
|
||||
a = (new ActionModulo());
|
||||
} else if (instructionName.equals("NewMethod".toLowerCase())) {
|
||||
a=(new ActionNewMethod());
|
||||
a = (new ActionNewMethod());
|
||||
} else if (instructionName.equals("NewObject".toLowerCase())) {
|
||||
a=(new ActionNewObject());
|
||||
a = (new ActionNewObject());
|
||||
} else if (instructionName.equals("PushDuplicate".toLowerCase())) {
|
||||
a=(new ActionPushDuplicate());
|
||||
a = (new ActionPushDuplicate());
|
||||
} else if (instructionName.equals("Return".toLowerCase())) {
|
||||
a=(new ActionReturn());
|
||||
a = (new ActionReturn());
|
||||
} else if (instructionName.equals("SetMember".toLowerCase())) {
|
||||
a=(new ActionSetMember());
|
||||
a = (new ActionSetMember());
|
||||
} else if (instructionName.equals("StackSwap".toLowerCase())) {
|
||||
a=(new ActionStackSwap());
|
||||
a = (new ActionStackSwap());
|
||||
} else if (instructionName.equals("StoreRegister".toLowerCase())) {
|
||||
a=(new ActionStoreRegister(lexer));
|
||||
a = (new ActionStoreRegister(lexer));
|
||||
} else if (instructionName.equals("TargetPath".toLowerCase())) {
|
||||
a=(new ActionTargetPath());
|
||||
a = (new ActionTargetPath());
|
||||
} else if (instructionName.equals("ToNumber".toLowerCase())) {
|
||||
a=(new ActionToNumber());
|
||||
a = (new ActionToNumber());
|
||||
} else if (instructionName.equals("ToString".toLowerCase())) {
|
||||
a=(new ActionToString());
|
||||
a = (new ActionToString());
|
||||
} else if (instructionName.equals("TypeOf".toLowerCase())) {
|
||||
a=(new ActionTypeOf());
|
||||
a = (new ActionTypeOf());
|
||||
} else if (instructionName.equals("With".toLowerCase())) {
|
||||
a=(new ActionWith(containerSWFOffset + address, ignoreNops, labels, address, lexer, constantPool, version));
|
||||
a = (new ActionWith(containerSWFOffset + address, ignoreNops, labels, address, lexer, constantPool, version));
|
||||
} else if (instructionName.equals("Enumerate2".toLowerCase())) {
|
||||
a=(new ActionEnumerate2());
|
||||
a = (new ActionEnumerate2());
|
||||
} else if (instructionName.equals("Greater".toLowerCase())) {
|
||||
a=(new ActionGreater());
|
||||
a = (new ActionGreater());
|
||||
} else if (instructionName.equals("InstanceOf".toLowerCase())) {
|
||||
a=(new ActionInstanceOf());
|
||||
a = (new ActionInstanceOf());
|
||||
} else if (instructionName.equals("StrictEquals".toLowerCase())) {
|
||||
a=(new ActionStrictEquals());
|
||||
a = (new ActionStrictEquals());
|
||||
} else if (instructionName.equals("StringGreater".toLowerCase())) {
|
||||
a=(new ActionStringGreater());
|
||||
a = (new ActionStringGreater());
|
||||
} else if (instructionName.equals("CastOp".toLowerCase())) {
|
||||
a=(new ActionCastOp());
|
||||
a = (new ActionCastOp());
|
||||
} else if (instructionName.equals("DefineFunction2".toLowerCase())) {
|
||||
a=(new ActionDefineFunction2(containerSWFOffset + address, ignoreNops, labels, address, lexer, constantPool, version));
|
||||
a = (new ActionDefineFunction2(containerSWFOffset + address, ignoreNops, labels, address, lexer, constantPool, version));
|
||||
} else if (instructionName.equals("Extends".toLowerCase())) {
|
||||
a=(new ActionExtends());
|
||||
a = (new ActionExtends());
|
||||
} else if (instructionName.equals("ImplementsOp".toLowerCase())) {
|
||||
a=(new ActionImplementsOp());
|
||||
a = (new ActionImplementsOp());
|
||||
} else if (instructionName.equals("Throw".toLowerCase())) {
|
||||
a=(new ActionThrow());
|
||||
a = (new ActionThrow());
|
||||
} else if (instructionName.equals("Try".toLowerCase())) {
|
||||
a=(new ActionTry(containerSWFOffset + address, ignoreNops, labels, address, lexer, constantPool, version));
|
||||
a = (new ActionTry(containerSWFOffset + address, ignoreNops, labels, address, lexer, constantPool, version));
|
||||
} else if (instructionName.equals("FSCommand2".toLowerCase())) {
|
||||
a=(new ActionFSCommand2());
|
||||
a = (new ActionFSCommand2());
|
||||
} else if (instructionName.equals("StrictMode".toLowerCase())) {
|
||||
a=(new ActionStrictMode(lexer));
|
||||
a = (new ActionStrictMode(lexer));
|
||||
} else if (instructionName.equals("Nop".toLowerCase())) {
|
||||
if (!ignoreNops) {
|
||||
a=(new ActionNop());
|
||||
a = (new ActionNop());
|
||||
}
|
||||
}/* else if(instructionName.startsWith("ofs")) {
|
||||
continue;
|
||||
}*/ else {
|
||||
throw new ParseException("Unknown instruction name :" + instructionName, lexer.yyline());
|
||||
}
|
||||
if (a instanceof ActionNop) {
|
||||
a.containerSWFOffset = containerSWFOffset;
|
||||
a.setAddress(address, version, false);
|
||||
address += 1;
|
||||
} else if(a!=null) {
|
||||
if (a instanceof ActionNop) {
|
||||
a.containerSWFOffset = containerSWFOffset;
|
||||
a.setAddress(address, version, false);
|
||||
address += 1;
|
||||
} else if (a != null) {
|
||||
a.containerSWFOffset = containerSWFOffset;
|
||||
a.setAddress(address, version, false);
|
||||
address += a.getBytes(version).length;
|
||||
}
|
||||
if(a instanceof GraphSourceItemContainer){
|
||||
containers.push((GraphSourceItemContainer)a);
|
||||
if (a instanceof GraphSourceItemContainer) {
|
||||
containers.push((GraphSourceItemContainer) a);
|
||||
containerPos.put((GraphSourceItemContainer) a, 0);
|
||||
}
|
||||
if(a!=null){
|
||||
if (a != null) {
|
||||
list.add(a);
|
||||
}
|
||||
} else if (symb.type == ParsedSymbol.TYPE_EOL) {
|
||||
} else if ((symb.type == ParsedSymbol.TYPE_BLOCK_END) || (symb.type == ParsedSymbol.TYPE_EOF)) {
|
||||
return list;
|
||||
} else {
|
||||
throw new ParseException("Label or Instruction name expected, found:" + symb.type, lexer.yyline());
|
||||
throw new ParseException("Label or Instruction name expected, found:" + symb.type + " " + symb.value, lexer.yyline());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* The following code was generated by JFlex 1.4.3 on 9.3.13 17:48 */
|
||||
/* The following code was generated by JFlex 1.4.3 on 3.4.13 22:09 */
|
||||
|
||||
/* Flash assembler language lexer specification */
|
||||
package com.jpexs.decompiler.flash.action.parser;
|
||||
@@ -9,8 +9,9 @@ import com.jpexs.decompiler.flash.action.swf4.RegisterNumber;
|
||||
import com.jpexs.decompiler.flash.action.swf4.Undefined;
|
||||
|
||||
/**
|
||||
* This class is a scanner generated by <a href="http://www.jflex.de/">JFlex</a>
|
||||
* 1.4.3 on 9.3.13 17:48 from the specification file
|
||||
* This class is a scanner generated by
|
||||
* <a href="http://www.jflex.de/">JFlex</a> 1.4.3 on 3.4.13 22:09 from the
|
||||
* specification file
|
||||
* <tt>D:/Dokumenty/Programovani/JavaSE/FFDec/trunk/src/com/jpexs/decompiler/flash/action/parser/flasm.flex</tt>
|
||||
*/
|
||||
public final class FlasmLexer {
|
||||
@@ -42,92 +43,116 @@ public final class FlasmLexer {
|
||||
*/
|
||||
private static final String ZZ_CMAP_PACKED =
|
||||
"\11\6\1\4\1\2\1\0\1\4\1\1\16\6\4\0\1\4\1\0"
|
||||
+ "\1\42\1\0\1\5\2\0\1\44\3\0\1\34\1\0\1\31\1\32"
|
||||
+ "\1\0\1\30\3\45\4\35\2\11\1\12\1\3\5\0\4\7\1\33"
|
||||
+ "\25\7\1\0\1\36\2\0\1\10\1\0\1\22\1\43\1\40\1\26"
|
||||
+ "\1\20\1\21\1\37\1\7\1\27\2\7\1\23\1\7\1\25\1\41"
|
||||
+ "\2\7\1\16\1\24\1\15\1\17\5\7\1\13\1\0\1\14\1\0"
|
||||
+ "\41\6\2\0\4\5\4\0\1\5\2\0\1\6\7\0\1\5\4\0"
|
||||
+ "\1\5\5\0\27\5\1\0\37\5\1\0\u013f\5\31\0\162\5\4\0"
|
||||
+ "\14\5\16\0\5\5\11\0\1\5\21\0\130\6\5\0\23\6\12\0"
|
||||
+ "\1\5\13\0\1\5\1\0\3\5\1\0\1\5\1\0\24\5\1\0"
|
||||
+ "\54\5\1\0\46\5\1\0\5\5\4\0\202\5\1\0\4\6\3\0"
|
||||
+ "\105\5\1\0\46\5\2\0\2\5\6\0\20\5\41\0\46\5\2\0"
|
||||
+ "\1\5\7\0\47\5\11\0\21\6\1\0\27\6\1\0\3\6\1\0"
|
||||
+ "\1\6\1\0\2\6\1\0\1\6\13\0\33\5\5\0\3\5\15\0"
|
||||
+ "\4\6\14\0\6\6\13\0\32\5\5\0\13\5\16\6\7\0\12\6"
|
||||
+ "\4\0\2\5\1\6\143\5\1\0\1\5\10\6\1\0\6\6\2\5"
|
||||
+ "\2\6\1\0\4\6\2\5\12\6\3\5\2\0\1\5\17\0\1\6"
|
||||
+ "\1\5\1\6\36\5\33\6\2\0\3\5\60\0\46\5\13\6\1\5"
|
||||
+ "\u014f\0\3\6\66\5\2\0\1\6\1\5\20\6\2\0\1\5\4\6"
|
||||
+ "\3\0\12\5\2\6\2\0\12\6\21\0\3\6\1\0\10\5\2\0"
|
||||
+ "\2\5\2\0\26\5\1\0\7\5\1\0\1\5\3\0\4\5\2\0"
|
||||
+ "\1\6\1\5\7\6\2\0\2\6\2\0\3\6\11\0\1\6\4\0"
|
||||
+ "\2\5\1\0\3\5\2\6\2\0\12\6\4\5\15\0\3\6\1\0"
|
||||
+ "\6\5\4\0\2\5\2\0\26\5\1\0\7\5\1\0\2\5\1\0"
|
||||
+ "\2\5\1\0\2\5\2\0\1\6\1\0\5\6\4\0\2\6\2\0"
|
||||
+ "\3\6\13\0\4\5\1\0\1\5\7\0\14\6\3\5\14\0\3\6"
|
||||
+ "\1\0\11\5\1\0\3\5\1\0\26\5\1\0\7\5\1\0\2\5"
|
||||
+ "\1\0\5\5\2\0\1\6\1\5\10\6\1\0\3\6\1\0\3\6"
|
||||
+ "\2\0\1\5\17\0\2\5\2\6\2\0\12\6\1\0\1\5\17\0"
|
||||
+ "\3\6\1\0\10\5\2\0\2\5\2\0\26\5\1\0\7\5\1\0"
|
||||
+ "\2\5\1\0\5\5\2\0\1\6\1\5\6\6\3\0\2\6\2\0"
|
||||
+ "\3\6\10\0\2\6\4\0\2\5\1\0\3\5\4\0\12\6\1\0"
|
||||
+ "\1\5\20\0\1\6\1\5\1\0\6\5\3\0\3\5\1\0\4\5"
|
||||
+ "\3\0\2\5\1\0\1\5\1\0\2\5\3\0\2\5\3\0\3\5"
|
||||
+ "\3\0\10\5\1\0\3\5\4\0\5\6\3\0\3\6\1\0\4\6"
|
||||
+ "\11\0\1\6\17\0\11\6\11\0\1\5\7\0\3\6\1\0\10\5"
|
||||
+ "\1\0\3\5\1\0\27\5\1\0\12\5\1\0\5\5\4\0\7\6"
|
||||
+ "\1\0\3\6\1\0\4\6\7\0\2\6\11\0\2\5\4\0\12\6"
|
||||
+ "\1\44\1\0\1\5\2\0\1\46\3\0\1\36\1\0\1\30\1\34"
|
||||
+ "\1\0\1\33\3\47\4\37\2\11\1\12\1\3\5\0\4\7\1\35"
|
||||
+ "\3\7\1\31\21\7\1\0\1\40\2\0\1\10\1\0\1\22\1\45"
|
||||
+ "\1\42\1\26\1\20\1\21\1\41\1\7\1\27\2\7\1\23\1\7"
|
||||
+ "\1\25\1\43\2\7\1\16\1\24\1\15\1\17\3\7\1\32\1\7"
|
||||
+ "\1\13\1\0\1\14\1\0\41\6\2\0\4\5\4\0\1\5\2\0"
|
||||
+ "\1\6\7\0\1\5\4\0\1\5\5\0\27\5\1\0\37\5\1\0"
|
||||
+ "\u01ca\5\4\0\14\5\16\0\5\5\7\0\1\5\1\0\1\5\21\0"
|
||||
+ "\160\6\5\5\1\0\2\5\2\0\4\5\10\0\1\5\1\0\3\5"
|
||||
+ "\1\0\1\5\1\0\24\5\1\0\123\5\1\0\213\5\1\0\5\6"
|
||||
+ "\2\0\236\5\11\0\46\5\2\0\1\5\7\0\47\5\11\0\55\6"
|
||||
+ "\1\0\1\6\1\0\2\6\1\0\2\6\1\0\1\6\10\0\33\5"
|
||||
+ "\5\0\3\5\15\0\4\6\7\0\1\5\4\0\13\6\5\0\53\5"
|
||||
+ "\37\6\4\0\2\5\1\6\143\5\1\0\1\5\10\6\1\0\6\6"
|
||||
+ "\2\5\2\6\1\0\4\6\2\5\12\6\3\5\2\0\1\5\17\0"
|
||||
+ "\1\6\1\5\1\6\36\5\33\6\2\0\131\5\13\6\1\5\16\0"
|
||||
+ "\12\6\41\5\11\6\2\5\4\0\1\5\5\0\26\5\4\6\1\5"
|
||||
+ "\11\6\1\5\3\6\1\5\5\6\22\0\31\5\3\6\244\0\4\6"
|
||||
+ "\66\5\3\6\1\5\22\6\1\5\7\6\12\5\2\6\2\0\12\6"
|
||||
+ "\1\0\7\5\1\0\7\5\1\0\3\6\1\0\10\5\2\0\2\5"
|
||||
+ "\2\0\26\5\1\0\7\5\1\0\1\5\3\0\4\5\2\0\1\6"
|
||||
+ "\1\5\7\6\2\0\2\6\2\0\3\6\1\5\10\0\1\6\4\0"
|
||||
+ "\2\5\1\0\3\5\2\6\2\0\12\6\4\5\7\0\1\5\5\0"
|
||||
+ "\3\6\1\0\6\5\4\0\2\5\2\0\26\5\1\0\7\5\1\0"
|
||||
+ "\2\5\1\0\2\5\1\0\2\5\2\0\1\6\1\0\5\6\4\0"
|
||||
+ "\2\6\2\0\3\6\3\0\1\6\7\0\4\5\1\0\1\5\7\0"
|
||||
+ "\14\6\3\5\1\6\13\0\3\6\1\0\11\5\1\0\3\5\1\0"
|
||||
+ "\26\5\1\0\7\5\1\0\2\5\1\0\5\5\2\0\1\6\1\5"
|
||||
+ "\10\6\1\0\3\6\1\0\3\6\2\0\1\5\17\0\2\5\2\6"
|
||||
+ "\2\0\12\6\1\0\1\5\17\0\3\6\1\0\10\5\2\0\2\5"
|
||||
+ "\2\0\26\5\1\0\7\5\1\0\2\5\1\0\5\5\2\0\1\6"
|
||||
+ "\1\5\7\6\2\0\2\6\2\0\3\6\10\0\2\6\4\0\2\5"
|
||||
+ "\1\0\3\5\2\6\2\0\12\6\1\0\1\5\20\0\1\6\1\5"
|
||||
+ "\1\0\6\5\3\0\3\5\1\0\4\5\3\0\2\5\1\0\1\5"
|
||||
+ "\1\0\2\5\3\0\2\5\3\0\3\5\3\0\14\5\4\0\5\6"
|
||||
+ "\3\0\3\6\1\0\4\6\2\0\1\5\6\0\1\6\16\0\12\6"
|
||||
+ "\11\0\1\5\7\0\3\6\1\0\10\5\1\0\3\5\1\0\27\5"
|
||||
+ "\1\0\12\5\1\0\5\5\3\0\1\5\7\6\1\0\3\6\1\0"
|
||||
+ "\4\6\7\0\2\6\1\0\2\5\6\0\2\5\2\6\2\0\12\6"
|
||||
+ "\22\0\2\6\1\0\10\5\1\0\3\5\1\0\27\5\1\0\12\5"
|
||||
+ "\1\0\5\5\2\0\1\6\1\5\7\6\1\0\3\6\1\0\4\6"
|
||||
+ "\7\0\2\6\7\0\1\5\1\0\2\5\4\0\12\6\22\0\2\6"
|
||||
+ "\1\0\10\5\1\0\3\5\1\0\27\5\1\0\20\5\4\0\6\6"
|
||||
+ "\2\0\3\6\1\0\4\6\11\0\1\6\10\0\2\5\4\0\12\6"
|
||||
+ "\22\0\2\6\1\0\22\5\3\0\30\5\1\0\11\5\1\0\1\5"
|
||||
+ "\2\0\7\5\3\0\1\6\4\0\6\6\1\0\1\6\1\0\10\6"
|
||||
+ "\22\0\2\6\15\0\60\5\1\6\2\5\7\6\4\0\10\5\10\6"
|
||||
+ "\1\0\12\6\47\0\2\5\1\0\1\5\2\0\2\5\1\0\1\5"
|
||||
+ "\2\0\1\5\6\0\4\5\1\0\7\5\1\0\3\5\1\0\1\5"
|
||||
+ "\1\0\1\5\2\0\2\5\1\0\4\5\1\6\2\5\6\6\1\0"
|
||||
+ "\2\6\1\5\2\0\5\5\1\0\1\5\1\0\6\6\2\0\12\6"
|
||||
+ "\2\0\2\5\42\0\1\5\27\0\2\6\6\0\12\6\13\0\1\6"
|
||||
+ "\1\0\1\6\1\0\1\6\4\0\2\6\10\5\1\0\42\5\6\0"
|
||||
+ "\24\6\1\0\2\6\4\5\4\0\10\6\1\0\44\6\11\0\1\6"
|
||||
+ "\71\0\42\5\1\0\5\5\1\0\2\5\1\0\7\6\3\0\4\6"
|
||||
+ "\6\0\12\6\6\0\6\5\4\6\106\0\46\5\12\0\51\5\7\0"
|
||||
+ "\132\5\5\0\104\5\5\0\122\5\6\0\7\5\1\0\77\5\1\0"
|
||||
+ "\1\5\1\0\4\5\2\0\7\5\1\0\1\5\1\0\4\5\2\0"
|
||||
+ "\47\5\1\0\1\5\1\0\4\5\2\0\37\5\1\0\1\5\1\0"
|
||||
+ "\4\5\2\0\7\5\1\0\1\5\1\0\4\5\2\0\7\5\1\0"
|
||||
+ "\7\5\1\0\27\5\1\0\37\5\1\0\1\5\1\0\4\5\2\0"
|
||||
+ "\7\5\1\0\47\5\1\0\23\5\16\0\11\6\56\0\125\5\14\0"
|
||||
+ "\u026c\5\2\0\10\5\12\0\32\5\5\0\113\5\3\0\3\5\17\0"
|
||||
+ "\7\0\2\6\7\0\1\5\1\0\2\5\2\6\2\0\12\6\1\0"
|
||||
+ "\2\5\17\0\2\6\1\0\10\5\1\0\3\5\1\0\51\5\2\0"
|
||||
+ "\1\5\7\6\1\0\3\6\1\0\4\6\1\5\10\0\1\6\10\0"
|
||||
+ "\2\5\2\6\2\0\12\6\12\0\6\5\2\0\2\6\1\0\22\5"
|
||||
+ "\3\0\30\5\1\0\11\5\1\0\1\5\2\0\7\5\3\0\1\6"
|
||||
+ "\4\0\6\6\1\0\1\6\1\0\10\6\22\0\2\6\15\0\60\5"
|
||||
+ "\1\6\2\5\7\6\4\0\10\5\10\6\1\0\12\6\47\0\2\5"
|
||||
+ "\1\0\1\5\2\0\2\5\1\0\1\5\2\0\1\5\6\0\4\5"
|
||||
+ "\1\0\7\5\1\0\3\5\1\0\1\5\1\0\1\5\2\0\2\5"
|
||||
+ "\1\0\4\5\1\6\2\5\6\6\1\0\2\6\1\5\2\0\5\5"
|
||||
+ "\1\0\1\5\1\0\6\6\2\0\12\6\2\0\2\5\42\0\1\5"
|
||||
+ "\27\0\2\6\6\0\12\6\13\0\1\6\1\0\1\6\1\0\1\6"
|
||||
+ "\4\0\2\6\10\5\1\0\44\5\4\0\24\6\1\0\2\6\5\5"
|
||||
+ "\13\6\1\0\44\6\11\0\1\6\71\0\53\5\24\6\1\5\12\6"
|
||||
+ "\6\0\6\5\4\6\4\5\3\6\1\5\3\6\2\5\7\6\3\5"
|
||||
+ "\4\6\15\5\14\6\1\5\17\6\2\0\46\5\12\0\53\5\1\0"
|
||||
+ "\1\5\3\0\u0149\5\1\0\4\5\2\0\7\5\1\0\1\5\1\0"
|
||||
+ "\4\5\2\0\51\5\1\0\4\5\2\0\41\5\1\0\4\5\2\0"
|
||||
+ "\7\5\1\0\1\5\1\0\4\5\2\0\17\5\1\0\71\5\1\0"
|
||||
+ "\4\5\2\0\103\5\2\0\3\6\40\0\20\5\20\0\125\5\14\0"
|
||||
+ "\u026c\5\2\0\21\5\1\0\32\5\5\0\113\5\3\0\3\5\17\0"
|
||||
+ "\15\5\1\0\4\5\3\6\13\0\22\5\3\6\13\0\22\5\2\6"
|
||||
+ "\14\0\15\5\1\0\3\5\1\0\2\6\14\0\64\5\40\6\3\0"
|
||||
+ "\1\5\3\0\2\5\1\6\2\0\12\6\41\0\3\6\2\0\12\6"
|
||||
+ "\6\0\130\5\10\0\51\5\1\6\126\0\35\5\3\0\14\6\4\0"
|
||||
+ "\14\6\12\0\12\6\36\5\2\0\5\5\u038b\0\154\5\224\0\234\5"
|
||||
+ "\4\0\132\5\6\0\26\5\2\0\6\5\2\0\46\5\2\0\6\5"
|
||||
+ "\2\0\10\5\1\0\1\5\1\0\1\5\1\0\1\5\1\0\37\5"
|
||||
+ "\2\0\65\5\1\0\7\5\1\0\1\5\3\0\3\5\1\0\7\5"
|
||||
+ "\3\0\4\5\2\0\6\5\4\0\15\5\5\0\3\5\1\0\7\5"
|
||||
+ "\17\0\4\6\32\0\5\6\20\0\2\5\23\0\1\5\13\0\4\6"
|
||||
+ "\6\0\6\6\1\0\1\5\15\0\1\5\40\0\22\5\36\0\15\6"
|
||||
+ "\4\0\1\6\3\0\6\6\27\0\1\5\4\0\1\5\2\0\12\5"
|
||||
+ "\1\0\1\5\3\0\5\5\6\0\1\5\1\0\1\5\1\0\1\5"
|
||||
+ "\1\0\4\5\1\0\3\5\1\0\7\5\3\0\3\5\5\0\5\5"
|
||||
+ "\26\0\44\5\u0e81\0\3\5\31\0\11\5\6\6\1\0\5\5\2\0"
|
||||
+ "\5\5\4\0\126\5\2\0\2\6\2\0\3\5\1\0\137\5\5\0"
|
||||
+ "\50\5\4\0\136\5\21\0\30\5\70\0\20\5\u0200\0\u19b6\5\112\0"
|
||||
+ "\u51a6\5\132\0\u048d\5\u0773\0\u2ba4\5\u215c\0\u012e\5\2\0\73\5\225\0"
|
||||
+ "\7\5\14\0\5\5\5\0\1\5\1\6\12\5\1\0\15\5\1\0"
|
||||
+ "\5\5\1\0\1\5\1\0\2\5\1\0\2\5\1\0\154\5\41\0"
|
||||
+ "\u016b\5\22\0\100\5\2\0\66\5\50\0\15\5\3\0\20\6\20\0"
|
||||
+ "\4\6\17\0\2\5\30\0\3\5\31\0\1\5\6\0\5\5\1\0"
|
||||
+ "\207\5\2\0\1\6\4\0\1\5\13\0\12\6\7\0\32\5\4\0"
|
||||
+ "\1\5\1\0\32\5\12\0\132\5\3\0\6\5\2\0\6\5\2\0"
|
||||
+ "\6\5\2\0\3\5\3\0\2\5\3\0\2\5\22\0\3\6\4\0";
|
||||
+ "\6\0\130\5\10\0\51\5\1\6\1\5\5\0\106\5\12\0\35\5"
|
||||
+ "\3\0\14\6\4\0\14\6\12\0\12\6\36\5\2\0\5\5\13\0"
|
||||
+ "\54\5\4\0\21\6\7\5\2\6\6\0\12\6\46\0\27\5\5\6"
|
||||
+ "\4\0\65\5\12\6\1\0\35\6\2\0\13\6\6\0\12\6\15\0"
|
||||
+ "\1\5\130\0\5\6\57\5\21\6\7\5\4\0\12\6\21\0\11\6"
|
||||
+ "\14\0\3\6\36\5\12\6\3\0\2\5\12\6\6\0\46\5\16\6"
|
||||
+ "\14\0\44\5\24\6\10\0\12\6\3\0\3\5\12\6\44\5\122\0"
|
||||
+ "\3\6\1\0\25\6\4\5\1\6\4\5\1\6\15\0\300\5\47\6"
|
||||
+ "\25\0\4\6\u0116\5\2\0\6\5\2\0\46\5\2\0\6\5\2\0"
|
||||
+ "\10\5\1\0\1\5\1\0\1\5\1\0\1\5\1\0\37\5\2\0"
|
||||
+ "\65\5\1\0\7\5\1\0\1\5\3\0\3\5\1\0\7\5\3\0"
|
||||
+ "\4\5\2\0\6\5\4\0\15\5\5\0\3\5\1\0\7\5\16\0"
|
||||
+ "\5\6\32\0\5\6\20\0\2\5\23\0\1\5\13\0\5\6\5\0"
|
||||
+ "\6\6\1\0\1\5\15\0\1\5\20\0\15\5\3\0\32\5\26\0"
|
||||
+ "\15\6\4\0\1\6\3\0\14\6\21\0\1\5\4\0\1\5\2\0"
|
||||
+ "\12\5\1\0\1\5\3\0\5\5\6\0\1\5\1\0\1\5\1\0"
|
||||
+ "\1\5\1\0\4\5\1\0\13\5\2\0\4\5\5\0\5\5\4\0"
|
||||
+ "\1\5\21\0\51\5\u0a77\0\57\5\1\0\57\5\1\0\205\5\6\0"
|
||||
+ "\4\5\3\6\16\0\46\5\12\0\66\5\11\0\1\5\17\0\1\6"
|
||||
+ "\27\5\11\0\7\5\1\0\7\5\1\0\7\5\1\0\7\5\1\0"
|
||||
+ "\7\5\1\0\7\5\1\0\7\5\1\0\7\5\1\0\40\6\57\0"
|
||||
+ "\1\5\u01d5\0\3\5\31\0\11\5\6\6\1\0\5\5\2\0\5\5"
|
||||
+ "\4\0\126\5\2\0\2\6\2\0\3\5\1\0\132\5\1\0\4\5"
|
||||
+ "\5\0\51\5\3\0\136\5\21\0\33\5\65\0\20\5\u0200\0\u19b6\5"
|
||||
+ "\112\0\u51cc\5\64\0\u048d\5\103\0\56\5\2\0\u010d\5\3\0\20\5"
|
||||
+ "\12\6\2\5\24\0\57\5\1\6\14\0\2\6\1\0\31\5\10\0"
|
||||
+ "\120\5\2\6\45\0\11\5\2\0\147\5\2\0\4\5\1\0\2\5"
|
||||
+ "\16\0\12\5\120\0\10\5\1\6\3\5\1\6\4\5\1\6\27\5"
|
||||
+ "\5\6\20\0\1\5\7\0\64\5\14\0\2\6\62\5\21\6\13\0"
|
||||
+ "\12\6\6\0\22\6\6\5\3\0\1\5\4\0\12\6\34\5\10\6"
|
||||
+ "\2\0\27\5\15\6\14\0\35\5\3\0\4\6\57\5\16\6\16\0"
|
||||
+ "\1\5\12\6\46\0\51\5\16\6\11\0\3\5\1\6\10\5\2\6"
|
||||
+ "\2\0\12\6\6\0\27\5\3\0\1\5\1\6\4\0\60\5\1\6"
|
||||
+ "\1\5\3\6\2\5\2\6\5\5\2\6\1\5\1\6\1\5\30\0"
|
||||
+ "\3\5\43\0\6\5\2\0\6\5\2\0\6\5\11\0\7\5\1\0"
|
||||
+ "\7\5\221\0\43\5\10\6\1\0\2\6\2\0\12\6\6\0\u2ba4\5"
|
||||
+ "\14\0\27\5\4\0\61\5\u2104\0\u012e\5\2\0\76\5\2\0\152\5"
|
||||
+ "\46\0\7\5\14\0\5\5\5\0\1\5\1\6\12\5\1\0\15\5"
|
||||
+ "\1\0\5\5\1\0\1\5\1\0\2\5\1\0\2\5\1\0\154\5"
|
||||
+ "\41\0\u016b\5\22\0\100\5\2\0\66\5\50\0\15\5\3\0\20\6"
|
||||
+ "\20\0\7\6\14\0\2\5\30\0\3\5\31\0\1\5\6\0\5\5"
|
||||
+ "\1\0\207\5\2\0\1\6\4\0\1\5\13\0\12\6\7\0\32\5"
|
||||
+ "\4\0\1\5\1\0\32\5\13\0\131\5\3\0\6\5\2\0\6\5"
|
||||
+ "\2\0\6\5\2\0\3\5\3\0\2\5\3\0\2\5\22\0\3\6"
|
||||
+ "\4\0";
|
||||
/**
|
||||
* Translates characters to character classes
|
||||
*/
|
||||
@@ -138,15 +163,17 @@ public final class FlasmLexer {
|
||||
private static final int[] ZZ_ACTION = zzUnpackAction();
|
||||
private static final String ZZ_ACTION_PACKED_0 =
|
||||
"\3\0\3\1\1\2\1\3\1\4\2\5\1\1\1\6"
|
||||
+ "\2\7\1\10\1\11\1\12\1\13\5\11\1\12\2\1"
|
||||
+ "\1\11\1\14\1\0\1\15\1\16\1\17\1\20\1\21"
|
||||
+ "\1\22\2\23\1\24\1\25\1\26\1\27\1\0\1\30"
|
||||
+ "\5\11\1\30\2\12\1\11\1\23\1\30\1\0\6\11"
|
||||
+ "\1\31\3\11\1\32\3\11\1\33\12\11\2\34\1\35"
|
||||
+ "\2\36";
|
||||
+ "\2\7\1\10\1\11\1\12\1\13\5\11\1\1\1\11"
|
||||
+ "\1\12\1\1\1\11\1\14\1\0\1\15\1\16\1\17"
|
||||
+ "\1\20\1\21\1\22\2\23\1\24\1\25\1\26\1\27"
|
||||
+ "\1\0\1\30\5\11\1\12\1\0\1\12\1\11\1\30"
|
||||
+ "\1\11\1\23\1\30\1\0\5\11\1\0\2\11\1\31"
|
||||
+ "\3\11\1\32\1\0\4\11\1\33\1\0\4\11\1\0"
|
||||
+ "\4\11\1\0\4\11\1\0\1\30\1\11\2\34\1\35"
|
||||
+ "\1\30\2\36";
|
||||
|
||||
private static int[] zzUnpackAction() {
|
||||
int[] result = new int[86];
|
||||
int[] result = new int[102];
|
||||
int offset = 0;
|
||||
offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result);
|
||||
return result;
|
||||
@@ -170,20 +197,22 @@ public final class FlasmLexer {
|
||||
*/
|
||||
private static final int[] ZZ_ROWMAP = zzUnpackRowMap();
|
||||
private static final String ZZ_ROWMAP_PACKED_0 =
|
||||
"\0\0\0\46\0\114\0\162\0\230\0\276\0\344\0\162"
|
||||
+ "\0\u010a\0\u0130\0\162\0\u0156\0\162\0\u017c\0\162\0\u01a2"
|
||||
+ "\0\u01c8\0\u01ee\0\162\0\u0214\0\u023a\0\u0260\0\u0286\0\u02ac"
|
||||
+ "\0\u02d2\0\u02f8\0\u031e\0\u0344\0\162\0\276\0\162\0\162"
|
||||
+ "\0\162\0\162\0\162\0\162\0\u036a\0\u0390\0\162\0\162"
|
||||
+ "\0\162\0\162\0\u03b6\0\u03dc\0\u0402\0\u0428\0\u044e\0\u0474"
|
||||
+ "\0\u049a\0\u02d2\0\u04c0\0\162\0\u04e6\0\162\0\u050c\0\u050c"
|
||||
+ "\0\u0532\0\u0558\0\u057e\0\u05a4\0\u05ca\0\u05f0\0\u01c8\0\u0616"
|
||||
+ "\0\u063c\0\u0662\0\u01c8\0\u0688\0\u06ae\0\u06d4\0\u01c8\0\u06fa"
|
||||
+ "\0\u0720\0\u0746\0\u076c\0\u0792\0\u07b8\0\u07de\0\u0804\0\u082a"
|
||||
+ "\0\u0850\0\u0876\0\u01c8\0\u01c8\0\u089c\0\u01c8";
|
||||
"\0\0\0\50\0\120\0\170\0\240\0\310\0\360\0\170"
|
||||
+ "\0\u0118\0\u0140\0\170\0\u0168\0\170\0\u0190\0\170\0\u01b8"
|
||||
+ "\0\u01e0\0\u0208\0\170\0\u0230\0\u0258\0\u0280\0\u02a8\0\u02d0"
|
||||
+ "\0\u02f8\0\u0320\0\u0348\0\u0370\0\u0398\0\170\0\310\0\170"
|
||||
+ "\0\170\0\170\0\170\0\170\0\170\0\u03c0\0\u03e8\0\170"
|
||||
+ "\0\170\0\170\0\170\0\u0410\0\u0438\0\u0460\0\u0488\0\u04b0"
|
||||
+ "\0\u04d8\0\u0500\0\u0528\0\u0550\0\170\0\u0578\0\u0348\0\u05a0"
|
||||
+ "\0\170\0\u05c8\0\u05c8\0\u05f0\0\u0618\0\u0640\0\u0668\0\u0690"
|
||||
+ "\0\u06b8\0\u06e0\0\u0708\0\u01e0\0\u0730\0\u0758\0\u0780\0\u01e0"
|
||||
+ "\0\u07a8\0\u07d0\0\u07f8\0\u0820\0\u0848\0\u01e0\0\u0870\0\u0898"
|
||||
+ "\0\u08c0\0\u08e8\0\u0910\0\u0938\0\u0960\0\u0988\0\u09b0\0\u09d8"
|
||||
+ "\0\u0a00\0\u0a28\0\u0a50\0\u0a78\0\u0aa0\0\u0ac8\0\u01e0\0\u0af0"
|
||||
+ "\0\u0b18\0\u01e0\0\u01e0\0\170\0\u0b40\0\u01e0";
|
||||
|
||||
private static int[] zzUnpackRowMap() {
|
||||
int[] result = new int[86];
|
||||
int[] result = new int[102];
|
||||
int offset = 0;
|
||||
offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result);
|
||||
return result;
|
||||
@@ -205,109 +234,136 @@ public final class FlasmLexer {
|
||||
private static final int[] ZZ_TRANS = zzUnpackTrans();
|
||||
private static final String ZZ_TRANS_PACKED_0 =
|
||||
"\4\4\1\5\1\6\1\4\1\7\1\6\3\4\1\10"
|
||||
+ "\13\7\3\4\1\7\3\4\3\7\1\4\1\7\2\4"
|
||||
+ "\1\11\1\12\1\13\33\11\1\14\3\11\1\15\3\11"
|
||||
+ "\1\4\1\16\1\17\1\20\1\4\1\21\1\4\2\21"
|
||||
+ "\1\22\1\4\1\23\1\4\1\24\1\25\1\26\1\21"
|
||||
+ "\1\27\3\21\1\30\2\21\1\31\1\32\1\33\1\21"
|
||||
+ "\1\4\1\22\1\4\1\21\1\34\1\21\1\35\1\21"
|
||||
+ "\1\4\1\22\52\0\1\5\46\0\5\36\1\37\2\0"
|
||||
+ "\14\36\2\0\1\36\1\0\1\36\1\0\3\36\1\0"
|
||||
+ "\1\36\1\0\1\36\5\0\2\36\3\7\1\37\2\0"
|
||||
+ "\14\7\2\0\1\7\1\0\1\7\1\0\3\7\1\0"
|
||||
+ "\1\7\1\0\1\7\1\11\2\0\33\11\1\0\3\11"
|
||||
+ "\1\0\3\11\2\0\1\13\43\0\2\40\1\0\12\40"
|
||||
+ "\1\41\1\42\2\40\1\43\3\40\1\44\2\40\1\45"
|
||||
+ "\4\40\1\46\1\47\3\40\1\50\1\51\1\52\1\45"
|
||||
+ "\2\0\1\17\43\0\1\20\2\0\43\20\5\0\5\21"
|
||||
+ "\3\0\14\21\2\0\1\21\1\0\1\21\1\0\3\21"
|
||||
+ "\1\0\1\21\1\0\1\21\11\0\1\22\6\0\1\53"
|
||||
+ "\7\0\1\22\1\0\1\54\1\53\1\0\1\22\7\0"
|
||||
+ "\1\22\5\0\5\21\3\0\1\21\1\55\12\21\2\0"
|
||||
+ "\1\21\1\0\1\21\1\0\3\21\1\0\1\21\1\0"
|
||||
+ "\1\21\5\0\5\21\3\0\3\21\1\56\10\21\2\0"
|
||||
+ "\1\21\1\0\1\21\1\0\3\21\1\0\1\21\1\0"
|
||||
+ "\1\21\5\0\5\21\3\0\10\21\1\57\3\21\2\0"
|
||||
+ "\1\21\1\0\1\21\1\0\3\21\1\0\1\21\1\0"
|
||||
+ "\1\21\5\0\5\21\3\0\5\21\1\60\6\21\2\0"
|
||||
+ "\1\21\1\0\1\21\1\0\3\21\1\0\1\21\1\0"
|
||||
+ "\1\21\5\0\5\21\3\0\2\21\1\61\11\21\2\0"
|
||||
+ "\1\21\1\0\1\21\1\0\3\21\1\0\1\21\1\0"
|
||||
+ "\1\21\11\0\1\62\6\0\1\53\7\0\1\62\1\0"
|
||||
+ "\1\54\1\53\1\0\1\62\7\0\1\62\11\0\1\63"
|
||||
+ "\16\0\1\64\4\0\1\63\7\0\1\63\11\0\1\54"
|
||||
+ "\16\0\1\54\4\0\1\54\7\0\1\54\5\0\5\21"
|
||||
+ "\3\0\14\21\2\0\1\21\1\0\1\21\1\0\2\21"
|
||||
+ "\1\65\1\0\1\21\1\0\1\21\30\0\1\46\4\0"
|
||||
+ "\1\46\7\0\1\46\30\0\1\66\4\0\1\66\7\0"
|
||||
+ "\1\66\11\0\1\67\16\0\1\67\1\70\2\0\1\70"
|
||||
+ "\1\67\7\0\1\67\11\0\1\54\6\0\1\53\7\0"
|
||||
+ "\1\54\2\0\1\53\1\0\1\54\7\0\1\54\5\0"
|
||||
+ "\5\21\3\0\2\21\1\71\11\21\2\0\1\21\1\0"
|
||||
+ "\1\21\1\0\3\21\1\0\1\21\1\0\1\21\5\0"
|
||||
+ "\5\21\3\0\14\21\2\0\1\21\1\0\1\21\1\0"
|
||||
+ "\1\72\2\21\1\0\1\21\1\0\1\21\5\0\5\21"
|
||||
+ "\3\0\11\21\1\73\2\21\2\0\1\21\1\0\1\21"
|
||||
+ "\13\7\1\4\2\7\2\4\1\7\3\4\3\7\1\4"
|
||||
+ "\1\7\2\4\1\11\1\12\1\13\35\11\1\14\3\11"
|
||||
+ "\1\15\3\11\1\4\1\16\1\17\1\20\1\4\1\21"
|
||||
+ "\1\4\2\21\1\22\1\4\1\23\1\4\1\24\1\25"
|
||||
+ "\1\26\1\21\1\27\3\21\1\30\2\21\1\31\1\32"
|
||||
+ "\1\21\1\33\1\34\1\21\1\4\1\22\1\4\1\21"
|
||||
+ "\1\35\1\21\1\36\1\21\1\4\1\22\54\0\1\5"
|
||||
+ "\50\0\5\37\1\40\2\0\13\37\1\0\3\37\1\0"
|
||||
+ "\1\37\1\0\1\37\1\0\3\37\1\0\1\37\1\0"
|
||||
+ "\1\37\5\0\2\37\3\7\1\40\2\0\13\7\1\0"
|
||||
+ "\3\7\1\0\1\7\1\0\1\7\1\0\3\7\1\0"
|
||||
+ "\1\7\1\0\1\7\1\11\2\0\35\11\1\0\3\11"
|
||||
+ "\1\0\3\11\2\0\1\13\45\0\2\41\1\0\12\41"
|
||||
+ "\1\42\1\43\2\41\1\44\3\41\1\45\5\41\1\46"
|
||||
+ "\3\41\1\47\1\50\3\41\1\51\1\52\1\53\1\46"
|
||||
+ "\2\0\1\17\45\0\1\20\2\0\45\20\5\0\5\21"
|
||||
+ "\3\0\13\21\1\0\3\21\1\0\1\21\1\0\1\21"
|
||||
+ "\1\0\3\21\1\0\1\21\1\0\1\21\11\0\1\22"
|
||||
+ "\6\0\1\54\12\0\1\22\1\55\1\54\1\0\1\22"
|
||||
+ "\7\0\1\22\5\0\5\21\3\0\1\21\1\56\11\21"
|
||||
+ "\1\0\3\21\1\0\1\21\1\0\1\21\1\0\3\21"
|
||||
+ "\1\0\1\21\1\0\1\21\5\0\5\21\3\0\3\21"
|
||||
+ "\1\57\7\21\1\0\3\21\1\0\1\21\1\0\1\21"
|
||||
+ "\1\0\3\21\1\0\1\21\1\0\1\21\5\0\5\21"
|
||||
+ "\3\0\6\21\1\74\5\21\2\0\1\21\1\0\1\21"
|
||||
+ "\1\0\3\21\1\0\1\21\1\0\1\21\5\0\5\21"
|
||||
+ "\3\0\6\21\1\75\5\21\2\0\1\21\1\0\1\21"
|
||||
+ "\1\0\3\21\1\0\1\21\1\0\1\21\11\0\1\63"
|
||||
+ "\16\0\1\63\4\0\1\63\7\0\1\63\5\0\5\21"
|
||||
+ "\3\0\10\21\1\76\3\21\2\0\1\21\1\0\1\21"
|
||||
+ "\1\0\3\21\1\0\1\21\1\0\1\21\11\0\1\67"
|
||||
+ "\16\0\1\67\4\0\1\67\7\0\1\67\5\0\5\21"
|
||||
+ "\3\0\3\21\1\77\10\21\2\0\1\21\1\0\1\21"
|
||||
+ "\1\0\3\21\1\0\1\21\1\0\1\21\5\0\5\21"
|
||||
+ "\3\0\12\21\1\100\1\21\2\0\1\21\1\0\1\21"
|
||||
+ "\1\0\3\21\1\0\1\21\1\0\1\21\5\0\5\21"
|
||||
+ "\3\0\3\21\1\101\10\21\2\0\1\21\1\0\1\21"
|
||||
+ "\1\0\3\21\1\0\1\21\1\0\1\21\5\0\5\21"
|
||||
+ "\3\0\7\21\1\102\4\21\2\0\1\21\1\0\1\21"
|
||||
+ "\1\0\3\21\1\0\1\21\1\0\1\21\5\0\5\21"
|
||||
+ "\3\0\6\21\1\103\5\21\2\0\1\21\1\0\1\21"
|
||||
+ "\1\0\3\21\1\0\1\21\1\0\1\21\5\0\5\21"
|
||||
+ "\3\0\7\21\1\104\4\21\2\0\1\21\1\0\1\21"
|
||||
+ "\1\0\3\21\1\0\1\21\1\0\1\21\5\0\5\21"
|
||||
+ "\3\0\7\21\1\105\4\21\2\0\1\21\1\0\1\21"
|
||||
+ "\1\0\3\21\1\0\1\21\1\0\1\21\5\0\5\21"
|
||||
+ "\3\0\4\21\1\106\7\21\2\0\1\21\1\0\1\21"
|
||||
+ "\1\0\3\21\1\0\1\21\1\0\1\21\5\0\5\21"
|
||||
+ "\3\0\3\21\1\107\10\21\2\0\1\21\1\0\1\21"
|
||||
+ "\1\0\3\21\1\0\1\21\1\0\1\21\5\0\5\21"
|
||||
+ "\3\0\1\110\13\21\2\0\1\21\1\0\1\21\1\0"
|
||||
+ "\3\0\10\21\1\60\2\21\1\0\3\21\1\0\1\21"
|
||||
+ "\1\0\1\21\1\0\3\21\1\0\1\21\1\0\1\21"
|
||||
+ "\5\0\5\21\3\0\5\21\1\61\5\21\1\0\3\21"
|
||||
+ "\1\0\1\21\1\0\1\21\1\0\3\21\1\0\1\21"
|
||||
+ "\1\0\1\21\5\0\5\21\3\0\2\21\1\62\10\21"
|
||||
+ "\1\0\3\21\1\0\1\21\1\0\1\21\1\0\3\21"
|
||||
+ "\1\0\1\21\1\0\1\21\11\0\1\63\17\0\1\64"
|
||||
+ "\1\0\1\65\3\0\1\63\7\0\1\63\5\0\5\21"
|
||||
+ "\3\0\10\21\1\66\2\21\1\0\3\21\1\0\1\21"
|
||||
+ "\1\0\1\21\1\0\3\21\1\0\1\21\1\0\1\21"
|
||||
+ "\11\0\1\67\6\0\1\54\12\0\1\67\1\55\1\54"
|
||||
+ "\1\0\1\67\7\0\1\67\11\0\1\55\21\0\1\55"
|
||||
+ "\3\0\1\55\7\0\1\55\5\0\5\21\3\0\13\21"
|
||||
+ "\1\0\3\21\1\0\1\21\1\0\1\21\1\0\2\21"
|
||||
+ "\1\70\1\0\1\21\1\0\1\21\33\0\1\47\3\0"
|
||||
+ "\1\47\7\0\1\47\33\0\1\71\3\0\1\71\7\0"
|
||||
+ "\1\71\11\0\1\72\16\0\1\73\2\0\1\72\2\0"
|
||||
+ "\1\73\1\72\7\0\1\72\11\0\1\55\6\0\1\54"
|
||||
+ "\12\0\1\55\1\0\1\54\1\0\1\55\7\0\1\55"
|
||||
+ "\5\0\5\21\3\0\2\21\1\74\10\21\1\0\3\21"
|
||||
+ "\1\0\1\21\1\0\1\21\1\0\3\21\1\0\1\21"
|
||||
+ "\1\0\1\21\5\0\5\21\3\0\13\21\1\0\3\21"
|
||||
+ "\1\0\1\21\1\0\1\21\1\0\1\75\2\21\1\0"
|
||||
+ "\1\21\1\0\1\21\5\0\5\21\3\0\11\21\1\76"
|
||||
+ "\1\21\1\0\3\21\1\0\1\21\1\0\1\21\1\0"
|
||||
+ "\3\21\1\0\1\21\1\0\1\21\5\0\5\21\3\0"
|
||||
+ "\1\111\13\21\2\0\1\21\1\0\1\21\1\0\3\21"
|
||||
+ "\1\0\1\21\1\0\1\21\5\0\5\21\3\0\12\21"
|
||||
+ "\1\112\1\21\2\0\1\21\1\0\1\21\1\0\3\21"
|
||||
+ "\1\0\1\21\1\0\1\21\5\0\5\21\3\0\5\21"
|
||||
+ "\1\113\6\21\2\0\1\21\1\0\1\21\1\0\3\21"
|
||||
+ "\1\0\1\21\1\0\1\21\5\0\5\21\3\0\3\21"
|
||||
+ "\1\114\10\21\2\0\1\21\1\0\1\21\1\0\3\21"
|
||||
+ "\1\0\1\21\1\0\1\21\5\0\5\21\3\0\10\21"
|
||||
+ "\1\115\3\21\2\0\1\21\1\0\1\21\1\0\3\21"
|
||||
+ "\1\0\1\21\1\0\1\21\5\0\5\21\3\0\10\21"
|
||||
+ "\1\116\3\21\2\0\1\21\1\0\1\21\1\0\3\21"
|
||||
+ "\1\0\1\21\1\0\1\21\5\0\5\21\3\0\1\21"
|
||||
+ "\1\117\12\21\2\0\1\21\1\0\1\21\1\0\3\21"
|
||||
+ "\1\0\1\21\1\0\1\21\5\0\5\21\3\0\3\21"
|
||||
+ "\1\120\10\21\2\0\1\21\1\0\1\21\1\0\3\21"
|
||||
+ "\1\0\1\21\1\0\1\21\5\0\5\21\3\0\1\121"
|
||||
+ "\13\21\2\0\1\21\1\0\1\21\1\0\3\21\1\0"
|
||||
+ "\1\21\1\0\1\21\5\0\4\21\1\122\3\0\13\21"
|
||||
+ "\1\123\2\0\1\21\1\0\1\122\1\0\3\21\1\0"
|
||||
+ "\1\21\1\0\1\122\5\0\5\21\3\0\11\21\1\124"
|
||||
+ "\2\21\2\0\1\21\1\0\1\21\1\0\3\21\1\0"
|
||||
+ "\1\21\1\0\1\21\5\0\4\21\1\125\3\0\13\21"
|
||||
+ "\1\126\2\0\1\21\1\0\1\125\1\0\3\21\1\0"
|
||||
+ "\1\21\1\0\1\125\5\0\4\21\1\122\3\0\13\21"
|
||||
+ "\1\122\2\0\1\21\1\0\1\122\1\0\3\21\1\0"
|
||||
+ "\1\21\1\0\1\122\5\0\4\21\1\125\3\0\13\21"
|
||||
+ "\1\125\2\0\1\21\1\0\1\125\1\0\3\21\1\0"
|
||||
+ "\1\21\1\0\1\125";
|
||||
+ "\6\21\1\77\4\21\1\0\3\21\1\0\1\21\1\0"
|
||||
+ "\1\21\1\0\3\21\1\0\1\21\1\0\1\21\5\0"
|
||||
+ "\5\21\3\0\6\21\1\100\4\21\1\0\3\21\1\0"
|
||||
+ "\1\21\1\0\1\21\1\0\3\21\1\0\1\21\1\0"
|
||||
+ "\1\21\11\0\1\63\21\0\1\63\3\0\1\63\7\0"
|
||||
+ "\1\63\25\0\1\101\27\0\5\21\3\0\4\21\1\102"
|
||||
+ "\6\21\1\0\3\21\1\0\1\21\1\0\1\21\1\0"
|
||||
+ "\3\21\1\0\1\21\1\0\1\21\5\0\5\21\3\0"
|
||||
+ "\10\21\1\103\2\21\1\0\3\21\1\0\1\21\1\0"
|
||||
+ "\1\21\1\0\3\21\1\0\1\21\1\0\1\21\11\0"
|
||||
+ "\1\72\21\0\1\72\3\0\1\72\7\0\1\72\5\0"
|
||||
+ "\5\21\3\0\3\21\1\104\7\21\1\0\3\21\1\0"
|
||||
+ "\1\21\1\0\1\21\1\0\3\21\1\0\1\21\1\0"
|
||||
+ "\1\21\5\0\5\21\3\0\12\21\1\105\1\0\3\21"
|
||||
+ "\1\0\1\21\1\0\1\21\1\0\3\21\1\0\1\21"
|
||||
+ "\1\0\1\21\5\0\5\21\3\0\3\21\1\106\7\21"
|
||||
+ "\1\0\3\21\1\0\1\21\1\0\1\21\1\0\3\21"
|
||||
+ "\1\0\1\21\1\0\1\21\5\0\5\21\3\0\7\21"
|
||||
+ "\1\107\3\21\1\0\3\21\1\0\1\21\1\0\1\21"
|
||||
+ "\1\0\3\21\1\0\1\21\1\0\1\21\5\0\5\21"
|
||||
+ "\3\0\6\21\1\110\4\21\1\0\3\21\1\0\1\21"
|
||||
+ "\1\0\1\21\1\0\3\21\1\0\1\21\1\0\1\21"
|
||||
+ "\21\0\1\111\33\0\5\21\3\0\12\21\1\112\1\0"
|
||||
+ "\3\21\1\0\1\21\1\0\1\21\1\0\3\21\1\0"
|
||||
+ "\1\21\1\0\1\21\5\0\5\21\3\0\7\21\1\113"
|
||||
+ "\3\21\1\0\3\21\1\0\1\21\1\0\1\21\1\0"
|
||||
+ "\3\21\1\0\1\21\1\0\1\21\5\0\5\21\3\0"
|
||||
+ "\7\21\1\114\3\21\1\0\3\21\1\0\1\21\1\0"
|
||||
+ "\1\21\1\0\3\21\1\0\1\21\1\0\1\21\5\0"
|
||||
+ "\5\21\3\0\4\21\1\115\6\21\1\0\3\21\1\0"
|
||||
+ "\1\21\1\0\1\21\1\0\3\21\1\0\1\21\1\0"
|
||||
+ "\1\21\5\0\5\21\3\0\3\21\1\116\7\21\1\0"
|
||||
+ "\3\21\1\0\1\21\1\0\1\21\1\0\3\21\1\0"
|
||||
+ "\1\21\1\0\1\21\27\0\1\117\25\0\5\21\3\0"
|
||||
+ "\10\21\1\120\2\21\1\0\3\21\1\0\1\21\1\0"
|
||||
+ "\1\21\1\0\3\21\1\0\1\21\1\0\1\21\5\0"
|
||||
+ "\5\21\3\0\1\121\12\21\1\0\3\21\1\0\1\21"
|
||||
+ "\1\0\1\21\1\0\3\21\1\0\1\21\1\0\1\21"
|
||||
+ "\5\0\5\21\3\0\1\122\12\21\1\0\3\21\1\0"
|
||||
+ "\1\21\1\0\1\21\1\0\3\21\1\0\1\21\1\0"
|
||||
+ "\1\21\5\0\5\21\3\0\12\21\1\123\1\0\3\21"
|
||||
+ "\1\0\1\21\1\0\1\21\1\0\3\21\1\0\1\21"
|
||||
+ "\1\0\1\21\25\0\1\124\27\0\5\21\3\0\12\21"
|
||||
+ "\1\125\1\0\3\21\1\0\1\21\1\0\1\21\1\0"
|
||||
+ "\3\21\1\0\1\21\1\0\1\21\5\0\5\21\3\0"
|
||||
+ "\5\21\1\126\5\21\1\0\3\21\1\0\1\21\1\0"
|
||||
+ "\1\21\1\0\3\21\1\0\1\21\1\0\1\21\5\0"
|
||||
+ "\5\21\3\0\3\21\1\127\7\21\1\0\3\21\1\0"
|
||||
+ "\1\21\1\0\1\21\1\0\3\21\1\0\1\21\1\0"
|
||||
+ "\1\21\5\0\5\21\3\0\10\21\1\130\2\21\1\0"
|
||||
+ "\3\21\1\0\1\21\1\0\1\21\1\0\3\21\1\0"
|
||||
+ "\1\21\1\0\1\21\27\0\1\131\25\0\5\21\3\0"
|
||||
+ "\1\132\12\21\1\0\3\21\1\0\1\21\1\0\1\21"
|
||||
+ "\1\0\3\21\1\0\1\21\1\0\1\21\5\0\5\21"
|
||||
+ "\3\0\10\21\1\133\2\21\1\0\3\21\1\0\1\21"
|
||||
+ "\1\0\1\21\1\0\3\21\1\0\1\21\1\0\1\21"
|
||||
+ "\5\0\5\21\3\0\1\21\1\134\11\21\1\0\3\21"
|
||||
+ "\1\0\1\21\1\0\1\21\1\0\3\21\1\0\1\21"
|
||||
+ "\1\0\1\21\5\0\5\21\3\0\3\21\1\135\7\21"
|
||||
+ "\1\0\3\21\1\0\1\21\1\0\1\21\1\0\3\21"
|
||||
+ "\1\0\1\21\1\0\1\21\15\0\1\136\37\0\5\21"
|
||||
+ "\3\0\13\21\1\0\1\21\1\137\1\21\1\0\1\21"
|
||||
+ "\1\0\1\21\1\0\3\21\1\0\1\21\1\0\1\21"
|
||||
+ "\5\0\5\21\3\0\1\140\12\21\1\0\3\21\1\0"
|
||||
+ "\1\21\1\0\1\21\1\0\3\21\1\0\1\21\1\0"
|
||||
+ "\1\21\5\0\4\21\1\141\3\0\13\21\1\0\2\21"
|
||||
+ "\1\142\1\0\1\21\1\0\1\141\1\0\3\21\1\0"
|
||||
+ "\1\21\1\0\1\141\5\0\5\21\3\0\11\21\1\143"
|
||||
+ "\1\21\1\0\3\21\1\0\1\21\1\0\1\21\1\0"
|
||||
+ "\3\21\1\0\1\21\1\0\1\21\32\0\1\144\22\0"
|
||||
+ "\4\21\1\145\3\0\13\21\1\0\2\21\1\146\1\0"
|
||||
+ "\1\21\1\0\1\145\1\0\3\21\1\0\1\21\1\0"
|
||||
+ "\1\145\5\0\4\21\1\141\3\0\13\21\1\0\2\21"
|
||||
+ "\1\141\1\0\1\21\1\0\1\141\1\0\3\21\1\0"
|
||||
+ "\1\21\1\0\1\141\5\0\4\21\1\145\3\0\13\21"
|
||||
+ "\1\0\2\21\1\145\1\0\1\21\1\0\1\145\1\0"
|
||||
+ "\3\21\1\0\1\21\1\0\1\145";
|
||||
|
||||
private static int[] zzUnpackTrans() {
|
||||
int[] result = new int[2242];
|
||||
int[] result = new int[2920];
|
||||
int offset = 0;
|
||||
offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result);
|
||||
return result;
|
||||
@@ -345,12 +401,14 @@ public final class FlasmLexer {
|
||||
private static final int[] ZZ_ATTRIBUTE = zzUnpackAttribute();
|
||||
private static final String ZZ_ATTRIBUTE_PACKED_0 =
|
||||
"\3\0\1\11\3\1\1\11\2\1\1\11\1\1\1\11"
|
||||
+ "\1\1\1\11\3\1\1\11\11\1\1\11\1\0\6\11"
|
||||
+ "\2\1\4\11\1\0\10\1\1\11\1\1\1\11\1\1"
|
||||
+ "\1\0\36\1";
|
||||
+ "\1\1\1\11\3\1\1\11\12\1\1\11\1\0\6\11"
|
||||
+ "\2\1\4\11\1\0\7\1\1\0\1\11\3\1\1\11"
|
||||
+ "\1\1\1\0\5\1\1\0\7\1\1\0\5\1\1\0"
|
||||
+ "\4\1\1\0\4\1\1\0\4\1\1\0\5\1\1\11"
|
||||
+ "\2\1";
|
||||
|
||||
private static int[] zzUnpackAttribute() {
|
||||
int[] result = new int[86];
|
||||
int[] result = new int[102];
|
||||
int offset = 0;
|
||||
offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result);
|
||||
return result;
|
||||
@@ -477,7 +535,7 @@ public final class FlasmLexer {
|
||||
char[] map = new char[0x10000];
|
||||
int i = 0; /* index in packed string */
|
||||
int j = 0; /* index in unpacked array */
|
||||
while (i < 1740) {
|
||||
while (i < 2202) {
|
||||
int count = packed.charAt(i++);
|
||||
char value = packed.charAt(i++);
|
||||
do {
|
||||
@@ -556,9 +614,9 @@ public final class FlasmLexer {
|
||||
* Resets the scanner to read from a new input stream. Does not close the
|
||||
* old reader.
|
||||
*
|
||||
* All internal variables are reset, the old input stream <b>cannot</b> be
|
||||
* reused (internal buffer is discarded and lost). Lexical state is set to
|
||||
* <tt>ZZ_INITIAL</tt>.
|
||||
* All internal variables are reset, the old input stream
|
||||
* <b>cannot</b> be reused (internal buffer is discarded and lost). Lexical
|
||||
* state is set to <tt>ZZ_INITIAL</tt>.
|
||||
*
|
||||
* @param reader the new input stream
|
||||
*/
|
||||
@@ -880,29 +938,30 @@ public final class FlasmLexer {
|
||||
}
|
||||
case 46:
|
||||
break;
|
||||
case 11: {
|
||||
yybegin(YYINITIAL);
|
||||
return new ParsedSymbol(ParsedSymbol.TYPE_BLOCK_START);
|
||||
}
|
||||
case 47:
|
||||
break;
|
||||
case 15: {
|
||||
string.append('\t');
|
||||
}
|
||||
case 47:
|
||||
case 48:
|
||||
break;
|
||||
case 28: {
|
||||
return new ParsedSymbol(ParsedSymbol.TYPE_REGISTER, new RegisterNumber(Integer.parseInt(yytext().substring(8))));
|
||||
}
|
||||
case 48:
|
||||
case 49:
|
||||
break;
|
||||
case 24: {
|
||||
return new ParsedSymbol(ParsedSymbol.TYPE_FLOAT, new Double(Double.parseDouble((yytext()))));
|
||||
}
|
||||
case 49:
|
||||
case 50:
|
||||
break;
|
||||
case 25: {
|
||||
return new ParsedSymbol(ParsedSymbol.TYPE_BOOLEAN, Boolean.TRUE);
|
||||
}
|
||||
case 50:
|
||||
break;
|
||||
case 11: {
|
||||
return new ParsedSymbol(ParsedSymbol.TYPE_BLOCK_START);
|
||||
}
|
||||
case 51:
|
||||
break;
|
||||
case 26: {
|
||||
|
||||
@@ -68,6 +68,7 @@ False = "false"
|
||||
Null = "null"
|
||||
Undefined = "undefined"
|
||||
|
||||
Infinity = -? "Infinity"
|
||||
|
||||
/* integer literals */
|
||||
PositiveNumberLiteral = 0 | [1-9][0-9]*
|
||||
@@ -76,7 +77,7 @@ NegativeNumberLiteral = - {PositiveNumberLiteral}
|
||||
NumberLiteral = {PositiveNumberLiteral}|{NegativeNumberLiteral}
|
||||
|
||||
/* floating point literals */
|
||||
FloatLiteral = ({FLit1}|{FLit2}|{FLit3}) {Exponent}?
|
||||
FloatLiteral = {Infinity} | (({FLit1}|{FLit2}|{FLit3}) {Exponent}?)
|
||||
|
||||
FLit1 = [0-9]+ \. [0-9]*
|
||||
FLit2 = \. [0-9]+
|
||||
@@ -126,7 +127,7 @@ Constant= constant{PositiveNumberLiteral}
|
||||
{FloatLiteral} { return new ParsedSymbol(ParsedSymbol.TYPE_FLOAT,new Double(Double.parseDouble((yytext())))); }
|
||||
{LineTerminator} {yybegin(YYINITIAL); return new ParsedSymbol(ParsedSymbol.TYPE_EOL); }
|
||||
{Comment} {return new ParsedSymbol(ParsedSymbol.TYPE_COMMENT,yytext().substring(1));}
|
||||
{StartOfBlock} { return new ParsedSymbol(ParsedSymbol.TYPE_BLOCK_START); }
|
||||
{StartOfBlock} { yybegin(YYINITIAL); return new ParsedSymbol(ParsedSymbol.TYPE_BLOCK_START); }
|
||||
{True} {return new ParsedSymbol(ParsedSymbol.TYPE_BOOLEAN,Boolean.TRUE);}
|
||||
{False} {return new ParsedSymbol(ParsedSymbol.TYPE_BOOLEAN,Boolean.FALSE);}
|
||||
{Null} {return new ParsedSymbol(ParsedSymbol.TYPE_NULL,new Null());}
|
||||
|
||||
Reference in New Issue
Block a user