mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/jpexs-decompiler.git
synced 2026-05-31 19:54:37 +00:00
allow adding new font tags + code format
This commit is contained in:
@@ -299,6 +299,7 @@ public class IdentifiersDeobfuscation {
|
||||
/**
|
||||
* Ensures identifier is valid and if not, uses paragraph syntax
|
||||
*
|
||||
* @param as3 Is ActionScript3
|
||||
* @param s Identifier
|
||||
* @param validExceptions Exceptions which are valid (e.g. some reserved
|
||||
* words)
|
||||
|
||||
@@ -27,7 +27,6 @@ import com.jpexs.decompiler.flash.action.Action;
|
||||
import com.jpexs.decompiler.flash.action.ActionGraphSource;
|
||||
import com.jpexs.decompiler.flash.action.ActionList;
|
||||
import com.jpexs.decompiler.flash.action.ActionLocalData;
|
||||
import com.jpexs.decompiler.flash.IdentifiersDeobfuscation;
|
||||
import com.jpexs.decompiler.flash.action.model.ConstantPool;
|
||||
import com.jpexs.decompiler.flash.action.model.DirectValueActionItem;
|
||||
import com.jpexs.decompiler.flash.action.model.FunctionActionItem;
|
||||
@@ -276,6 +275,17 @@ public final class SWF implements SWFContainerItem, Timelined {
|
||||
parseCharacters(new ArrayList<ContainerItem>(tags));
|
||||
}
|
||||
|
||||
public int getNextCharacterId() {
|
||||
int max = -1;
|
||||
for (int characterId : characters.keySet()) {
|
||||
if (characterId > max) {
|
||||
max = characterId;
|
||||
}
|
||||
}
|
||||
|
||||
return max + 1;
|
||||
}
|
||||
|
||||
public void resetTimelines(Timelined timelined) {
|
||||
timelined.getTimeline().reset();
|
||||
for (Tag t : timelined.getTimeline().tags) {
|
||||
|
||||
@@ -214,7 +214,6 @@ import com.jpexs.decompiler.flash.abc.types.traits.TraitFunction;
|
||||
import com.jpexs.decompiler.flash.abc.types.traits.TraitMethodGetterSetter;
|
||||
import com.jpexs.decompiler.flash.abc.types.traits.TraitSlotConst;
|
||||
import com.jpexs.decompiler.flash.abc.types.traits.Traits;
|
||||
import com.jpexs.decompiler.flash.IdentifiersDeobfuscation;
|
||||
import com.jpexs.decompiler.flash.configuration.Configuration;
|
||||
import com.jpexs.decompiler.flash.dumpview.DumpInfo;
|
||||
import com.jpexs.decompiler.flash.ecma.EcmaScript;
|
||||
|
||||
@@ -16,12 +16,12 @@
|
||||
*/
|
||||
package com.jpexs.decompiler.flash.abc.avm2.model;
|
||||
|
||||
import com.jpexs.decompiler.flash.IdentifiersDeobfuscation;
|
||||
import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
|
||||
import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
|
||||
import com.jpexs.decompiler.flash.abc.avm2.instructions.InstructionDefinition;
|
||||
import com.jpexs.decompiler.flash.abc.avm2.instructions.stack.PopIns;
|
||||
import com.jpexs.decompiler.flash.abc.avm2.parser.script.AVM2SourceGenerator;
|
||||
import com.jpexs.decompiler.flash.IdentifiersDeobfuscation;
|
||||
import com.jpexs.decompiler.flash.configuration.Configuration;
|
||||
import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
|
||||
import com.jpexs.decompiler.graph.CompilationException;
|
||||
|
||||
@@ -19,8 +19,8 @@ import java.util.Stack;
|
||||
%{
|
||||
|
||||
StringBuffer string = new StringBuffer();
|
||||
boolean isMultiname=false;
|
||||
long multinameId=0;
|
||||
boolean isMultiname = false;
|
||||
long multinameId = 0;
|
||||
|
||||
|
||||
/**
|
||||
@@ -36,12 +36,12 @@ import java.util.Stack;
|
||||
}
|
||||
|
||||
public int yyline() {
|
||||
return yyline+1;
|
||||
return yyline + 1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
private Stack<ParsedSymbol> pushedBack=new Stack<>();
|
||||
private Stack<ParsedSymbol> pushedBack = new Stack<>();
|
||||
|
||||
|
||||
public void pushback(ParsedSymbol symb) {
|
||||
@@ -50,7 +50,7 @@ import java.util.Stack;
|
||||
}
|
||||
ParsedSymbol last;
|
||||
public ParsedSymbol lex() throws java.io.IOException, ParseException{
|
||||
ParsedSymbol ret=null;
|
||||
ParsedSymbol ret = null;
|
||||
if(!pushedBack.isEmpty()){
|
||||
ret = last = pushedBack.pop();
|
||||
}else{
|
||||
@@ -115,137 +115,137 @@ ExceptionTarget = "exceptiontarget "{PositiveNumberLiteral}":"
|
||||
|
||||
{ExceptionStart} {
|
||||
String s=yytext();
|
||||
return new ParsedSymbol(ParsedSymbol.TYPE_EXCEPTION_START,Integer.parseInt(s.substring(15,s.length()-1)));
|
||||
return new ParsedSymbol(ParsedSymbol.TYPE_EXCEPTION_START, Integer.parseInt(s.substring(15, s.length() - 1)));
|
||||
}
|
||||
{ExceptionEnd} {
|
||||
String s=yytext();
|
||||
return new ParsedSymbol(ParsedSymbol.TYPE_EXCEPTION_END,Integer.parseInt(s.substring(13,s.length()-1)));
|
||||
return new ParsedSymbol(ParsedSymbol.TYPE_EXCEPTION_END, Integer.parseInt(s.substring(13, s.length() - 1)));
|
||||
}
|
||||
{ExceptionTarget} {
|
||||
String s=yytext();
|
||||
return new ParsedSymbol(ParsedSymbol.TYPE_EXCEPTION_TARGET,Integer.parseInt(s.substring(16,s.length()-1)));
|
||||
return new ParsedSymbol(ParsedSymbol.TYPE_EXCEPTION_TARGET,Integer.parseInt(s.substring(16, s.length() - 1)));
|
||||
}
|
||||
{Label} {
|
||||
String s=yytext();
|
||||
return new ParsedSymbol(ParsedSymbol.TYPE_LABEL,s.substring(0,s.length()-1));
|
||||
String s = yytext();
|
||||
return new ParsedSymbol(ParsedSymbol.TYPE_LABEL, s.substring(0,s.length() - 1));
|
||||
}
|
||||
"name" { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_NAME,yytext());}
|
||||
"try" { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_TRY,yytext());}
|
||||
"flag" { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_FLAG,yytext());}
|
||||
"param" { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_PARAM,yytext());}
|
||||
"paramname" { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_PARAMNAME,yytext());}
|
||||
"optional" { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_OPTIONAL,yytext());}
|
||||
"returns" { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_RETURNS,yytext());}
|
||||
"body" { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_BODY,yytext());}
|
||||
"maxstack" { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_MAXSTACK,yytext());}
|
||||
"localcount" { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_LOCALCOUNT,yytext());}
|
||||
"initscopedepth" { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_INITSCOPEDEPTH,yytext());}
|
||||
"maxscopedepth" { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_MAXSCOPEDEPTH,yytext());}
|
||||
"code" { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_CODE,yytext());}
|
||||
"trait" { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_TRAIT,yytext());}
|
||||
"method" { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_METHOD,yytext());}
|
||||
"name" { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_NAME, yytext());}
|
||||
"try" { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_TRY, yytext());}
|
||||
"flag" { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_FLAG, yytext());}
|
||||
"param" { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_PARAM, yytext());}
|
||||
"paramname" { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_PARAMNAME, yytext());}
|
||||
"optional" { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_OPTIONAL, yytext());}
|
||||
"returns" { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_RETURNS, yytext());}
|
||||
"body" { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_BODY, yytext());}
|
||||
"maxstack" { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_MAXSTACK, yytext());}
|
||||
"localcount" { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_LOCALCOUNT, yytext());}
|
||||
"initscopedepth" { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_INITSCOPEDEPTH, yytext());}
|
||||
"maxscopedepth" { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_MAXSCOPEDEPTH, yytext());}
|
||||
"code" { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_CODE, yytext());}
|
||||
"trait" { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_TRAIT, yytext());}
|
||||
"method" { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_METHOD, yytext());}
|
||||
|
||||
|
||||
/* identifiers */
|
||||
{InstructionName} { yybegin(PARAMETERS);
|
||||
return new ParsedSymbol(ParsedSymbol.TYPE_INSTRUCTION_NAME,yytext());
|
||||
return new ParsedSymbol(ParsedSymbol.TYPE_INSTRUCTION_NAME, yytext());
|
||||
}
|
||||
}
|
||||
|
||||
<PARAMETERS> {
|
||||
/* string literal */
|
||||
\" {
|
||||
isMultiname=false;
|
||||
isMultiname = false;
|
||||
yybegin(STRING);
|
||||
string.setLength(0);
|
||||
}
|
||||
{Multiname}\" {
|
||||
isMultiname=true;
|
||||
String s=yytext();
|
||||
multinameId=Long.parseLong(s.substring(2,s.length()-2));
|
||||
isMultiname = true;
|
||||
String s = yytext();
|
||||
multinameId = Long.parseLong(s.substring(2, s.length() - 2));
|
||||
yybegin(STRING);
|
||||
string.setLength(0);
|
||||
}
|
||||
/* multinames */
|
||||
"QName" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_QNAME,yytext());}
|
||||
"QNameA" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_QNAMEA,yytext());}
|
||||
"RTQName" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_RTQNAME,yytext());}
|
||||
"RTQNameA" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_RTQNAMEA,yytext());}
|
||||
"RTQNameL" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_RTQNAMEL,yytext());}
|
||||
"RTQNameLA" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_RTQNAMELA,yytext());}
|
||||
"Multiname" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_MULTINAME,yytext());}
|
||||
"MultinameA" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_MULTINAMEA,yytext());}
|
||||
"MultinameL" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_MULTINAMEL,yytext());}
|
||||
"MultinameLA" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_MULTINAMELA,yytext());}
|
||||
"TypeName" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_TYPENAME,yytext());}
|
||||
"null" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_NULL,yytext());}
|
||||
"(" { return new ParsedSymbol(ParsedSymbol.TYPE_PARENT_OPEN,yytext());}
|
||||
")" { return new ParsedSymbol(ParsedSymbol.TYPE_PARENT_CLOSE,yytext());}
|
||||
"[" { return new ParsedSymbol(ParsedSymbol.TYPE_BRACKET_OPEN,yytext());}
|
||||
"]" { return new ParsedSymbol(ParsedSymbol.TYPE_BRACKET_CLOSE,yytext());}
|
||||
"<" { return new ParsedSymbol(ParsedSymbol.TYPE_LOWERTHAN,yytext());}
|
||||
">" { return new ParsedSymbol(ParsedSymbol.TYPE_GREATERTHAN,yytext());}
|
||||
"Namespace" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_NAMESPACE,yytext());}
|
||||
"PrivateNamespace" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_PRIVATENAMESPACE,yytext());}
|
||||
"PackageNamespace" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_PACKAGENAMESPACE,yytext());}
|
||||
"PackageInternalNs" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_PACKAGEINTERNALNS,yytext());}
|
||||
"ProtectedNamespace" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_PROTECTEDNAMESPACE,yytext());}
|
||||
"ExplicitNamespace" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_EXPLICITNAMESPACE,yytext());}
|
||||
"StaticProtectedNs" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_STATICPROTECTEDNS,yytext());}
|
||||
"," { return new ParsedSymbol(ParsedSymbol.TYPE_COMMA,yytext());}
|
||||
"QName" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_QNAME, yytext());}
|
||||
"QNameA" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_QNAMEA, yytext());}
|
||||
"RTQName" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_RTQNAME, yytext());}
|
||||
"RTQNameA" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_RTQNAMEA, yytext());}
|
||||
"RTQNameL" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_RTQNAMEL, yytext());}
|
||||
"RTQNameLA" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_RTQNAMELA, yytext());}
|
||||
"Multiname" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_MULTINAME, yytext());}
|
||||
"MultinameA" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_MULTINAMEA, yytext());}
|
||||
"MultinameL" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_MULTINAMEL, yytext());}
|
||||
"MultinameLA" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_MULTINAMELA, yytext());}
|
||||
"TypeName" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_TYPENAME, yytext());}
|
||||
"null" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_NULL, yytext());}
|
||||
"(" { return new ParsedSymbol(ParsedSymbol.TYPE_PARENT_OPEN, yytext());}
|
||||
")" { return new ParsedSymbol(ParsedSymbol.TYPE_PARENT_CLOSE, yytext());}
|
||||
"[" { return new ParsedSymbol(ParsedSymbol.TYPE_BRACKET_OPEN, yytext());}
|
||||
"]" { return new ParsedSymbol(ParsedSymbol.TYPE_BRACKET_CLOSE, yytext());}
|
||||
"<" { return new ParsedSymbol(ParsedSymbol.TYPE_LOWERTHAN, yytext());}
|
||||
">" { return new ParsedSymbol(ParsedSymbol.TYPE_GREATERTHAN, yytext());}
|
||||
"Namespace" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_NAMESPACE, yytext());}
|
||||
"PrivateNamespace" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_PRIVATENAMESPACE, yytext());}
|
||||
"PackageNamespace" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_PACKAGENAMESPACE, yytext());}
|
||||
"PackageInternalNs" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_PACKAGEINTERNALNS, yytext());}
|
||||
"ProtectedNamespace" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_PROTECTEDNAMESPACE, yytext());}
|
||||
"ExplicitNamespace" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_EXPLICITNAMESPACE, yytext());}
|
||||
"StaticProtectedNs" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_STATICPROTECTEDNS, yytext());}
|
||||
"," { return new ParsedSymbol(ParsedSymbol.TYPE_COMMA, yytext());}
|
||||
|
||||
/*Try*/
|
||||
"from" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_FROM,yytext());}
|
||||
"to" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_TO,yytext());}
|
||||
"target" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_TARGET,yytext());}
|
||||
"name" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_NAME,yytext());}
|
||||
"type" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_TYPE,yytext());}
|
||||
"from" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_FROM, yytext());}
|
||||
"to" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_TO, yytext());}
|
||||
"target" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_TARGET, yytext());}
|
||||
"name" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_NAME, yytext());}
|
||||
"type" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_TYPE, yytext());}
|
||||
|
||||
"slot" { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_SLOT,yytext());}
|
||||
"const" { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_CONST,yytext());}
|
||||
"method" { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_METHOD,yytext());}
|
||||
"getter" { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_GETTER,yytext());}
|
||||
"setter" { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_SETTER,yytext());}
|
||||
"class" { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_CLASS,yytext());}
|
||||
"function" { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_FUNCTION,yytext());}
|
||||
"dispid" { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_DISPID,yytext());}
|
||||
"slotid" { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_SLOTID,yytext());}
|
||||
"value" { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_VALUE,yytext());}
|
||||
"slot" { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_SLOT, yytext());}
|
||||
"const" { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_CONST, yytext());}
|
||||
"method" { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_METHOD, yytext());}
|
||||
"getter" { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_GETTER, yytext());}
|
||||
"setter" { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_SETTER, yytext());}
|
||||
"class" { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_CLASS, yytext());}
|
||||
"function" { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_FUNCTION, yytext());}
|
||||
"dispid" { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_DISPID, yytext());}
|
||||
"slotid" { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_SLOTID, yytext());}
|
||||
"value" { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_VALUE, yytext());}
|
||||
|
||||
|
||||
|
||||
/*Flags*/
|
||||
"EXPLICIT" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_EXPLICIT,yytext());}
|
||||
"HAS_OPTIONAL" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_HAS_OPTIONAL,yytext());}
|
||||
"HAS_PARAM_NAMES" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_HAS_PARAM_NAMES,yytext());}
|
||||
"IGNORE_REST" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_IGNORE_REST,yytext());}
|
||||
"NEED_ACTIVATION" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_NEED_ACTIVATION,yytext());}
|
||||
"NEED_ARGUMENTS" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_NEED_ARGUMENTS,yytext());}
|
||||
"NEED_REST" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_NEED_REST,yytext());}
|
||||
"SET_DXNS" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_SET_DXNS,yytext());}
|
||||
"EXPLICIT" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_EXPLICIT, yytext());}
|
||||
"HAS_OPTIONAL" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_HAS_OPTIONAL, yytext());}
|
||||
"HAS_PARAM_NAMES" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_HAS_PARAM_NAMES, yytext());}
|
||||
"IGNORE_REST" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_IGNORE_REST, yytext());}
|
||||
"NEED_ACTIVATION" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_NEED_ACTIVATION, yytext());}
|
||||
"NEED_ARGUMENTS" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_NEED_ARGUMENTS, yytext());}
|
||||
"NEED_REST" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_NEED_REST, yytext());}
|
||||
"SET_DXNS" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_SET_DXNS, yytext());}
|
||||
|
||||
/* Value types*/
|
||||
"Integer" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_INTEGER,yytext());}
|
||||
"UInteger" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_UINTEGER,yytext());}
|
||||
"Double" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_DOUBLE,yytext());}
|
||||
"Decimal" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_DECIMAL,yytext());}
|
||||
"Utf8" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_UTF8,yytext());}
|
||||
"True" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_TRUE,yytext());}
|
||||
"False" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_FALSE,yytext());}
|
||||
"Undefined" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_UNDEFINED,yytext());}
|
||||
"Integer" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_INTEGER, yytext());}
|
||||
"UInteger" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_UINTEGER, yytext());}
|
||||
"Double" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_DOUBLE, yytext());}
|
||||
"Decimal" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_DECIMAL, yytext());}
|
||||
"Utf8" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_UTF8, yytext());}
|
||||
"True" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_TRUE, yytext());}
|
||||
"False" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_FALSE, yytext());}
|
||||
"Undefined" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_UNDEFINED, yytext());}
|
||||
|
||||
|
||||
"FINAL" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_FINAL,yytext());}
|
||||
"OVERRIDE" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_OVERRIDE,yytext());}
|
||||
"METADATA" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_METADATA,yytext());}
|
||||
"FINAL" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_FINAL, yytext());}
|
||||
"OVERRIDE" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_OVERRIDE, yytext());}
|
||||
"METADATA" { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_METADATA, yytext());}
|
||||
|
||||
/* numeric literals */
|
||||
|
||||
{NumberLiteral} { return new ParsedSymbol(ParsedSymbol.TYPE_INTEGER,new Long(Long.parseLong((yytext())))); }
|
||||
{FloatLiteral} { return new ParsedSymbol(ParsedSymbol.TYPE_FLOAT,new Double(Double.parseDouble((yytext())))); }
|
||||
{Identifier} { return new ParsedSymbol(ParsedSymbol.TYPE_IDENTIFIER,yytext()); }
|
||||
{Identifier} { return new ParsedSymbol(ParsedSymbol.TYPE_IDENTIFIER, yytext()); }
|
||||
{LineTerminator} {yybegin(YYINITIAL);}
|
||||
{Comment} {return new ParsedSymbol(ParsedSymbol.TYPE_COMMENT,yytext().substring(1));}
|
||||
{Comment} {return new ParsedSymbol(ParsedSymbol.TYPE_COMMENT, yytext().substring(1));}
|
||||
}
|
||||
|
||||
<STRING> {
|
||||
@@ -253,9 +253,9 @@ ExceptionTarget = "exceptiontarget "{PositiveNumberLiteral}":"
|
||||
yybegin(PARAMETERS);
|
||||
// length also includes the trailing quote
|
||||
if(isMultiname){
|
||||
return new ParsedSymbol(ParsedSymbol.TYPE_MULTINAME,new Long(multinameId));
|
||||
return new ParsedSymbol(ParsedSymbol.TYPE_MULTINAME, new Long(multinameId));
|
||||
}else{
|
||||
return new ParsedSymbol(ParsedSymbol.TYPE_STRING,string.toString());
|
||||
return new ParsedSymbol(ParsedSymbol.TYPE_STRING, string.toString());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -274,8 +274,8 @@ ExceptionTarget = "exceptiontarget "{PositiveNumberLiteral}":"
|
||||
string.append( val ); }
|
||||
|
||||
/* error cases */
|
||||
\\. { throw new ParseException("Illegal escape sequence \""+yytext()+"\"",yyline+1); }
|
||||
{LineTerminator} { throw new ParseException("Unterminated string at end of line",yyline+1); }
|
||||
\\. { throw new ParseException("Illegal escape sequence \"" + yytext() + "\"", yyline + 1); }
|
||||
{LineTerminator} { throw new ParseException("Unterminated string at end of line", yyline + 1); }
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -18,10 +18,10 @@
|
||||
*/
|
||||
package com.jpexs.decompiler.flash.abc.avm2.parser.script;
|
||||
import com.jpexs.decompiler.flash.abc.avm2.parser.AVM2ParseException;
|
||||
import java.util.Stack;
|
||||
import java.util.List;
|
||||
import java.util.ArrayList;
|
||||
import java.io.StringReader;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Stack;
|
||||
|
||||
|
||||
/**
|
||||
@@ -970,7 +970,7 @@ public final class ActionScriptLexer {
|
||||
return yychar;
|
||||
}
|
||||
|
||||
private Stack<ParsedSymbol> pushedBack=new Stack<ParsedSymbol>();
|
||||
private Stack<ParsedSymbol> pushedBack=new Stack<>();
|
||||
|
||||
public int yyline() {
|
||||
return yyline+1;
|
||||
@@ -1108,6 +1108,7 @@ public final class ActionScriptLexer {
|
||||
|
||||
/**
|
||||
* Closes the input stream.
|
||||
* @throws java.io.IOException
|
||||
*/
|
||||
public final void yyclose() throws java.io.IOException {
|
||||
zzAtEOF = true; /* indicate end of file */
|
||||
@@ -1147,6 +1148,7 @@ public final class ActionScriptLexer {
|
||||
|
||||
/**
|
||||
* Returns the current lexical state.
|
||||
* @return
|
||||
*/
|
||||
public final int yystate() {
|
||||
return zzLexicalState;
|
||||
@@ -1165,6 +1167,7 @@ public final class ActionScriptLexer {
|
||||
|
||||
/**
|
||||
* Returns the text matched by the current regular expression.
|
||||
* @return
|
||||
*/
|
||||
public final String yytext() {
|
||||
return new String( zzBuffer, zzStartRead, zzMarkedPos-zzStartRead );
|
||||
@@ -1189,6 +1192,7 @@ public final class ActionScriptLexer {
|
||||
|
||||
/**
|
||||
* Returns the length of the matched text region.
|
||||
* @return
|
||||
*/
|
||||
public final int yylength() {
|
||||
return zzMarkedPos-zzStartRead;
|
||||
@@ -1244,6 +1248,7 @@ public final class ActionScriptLexer {
|
||||
*
|
||||
* @return the next token
|
||||
* @exception java.io.IOException if any I/O-Error occurs
|
||||
* @throws com.jpexs.decompiler.flash.abc.avm2.parser.AVM2ParseException
|
||||
*/
|
||||
public ParsedSymbol yylex() throws java.io.IOException, AVM2ParseException {
|
||||
int zzInput;
|
||||
@@ -1339,11 +1344,11 @@ public final class ActionScriptLexer {
|
||||
}
|
||||
case 164: break;
|
||||
case 4:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.DIVIDE,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.DIVIDE, yytext());
|
||||
}
|
||||
case 165: break;
|
||||
case 5:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.MULTIPLY,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.MULTIPLY, yytext());
|
||||
}
|
||||
case 166: break;
|
||||
case 6:
|
||||
@@ -1351,47 +1356,47 @@ public final class ActionScriptLexer {
|
||||
}
|
||||
case 167: break;
|
||||
case 7:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.DOT,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.DOT, yytext());
|
||||
}
|
||||
case 168: break;
|
||||
case 8:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.LOWER_THAN,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.LOWER_THAN, yytext());
|
||||
}
|
||||
case 169: break;
|
||||
case 9:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.NOT,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.NOT, yytext());
|
||||
}
|
||||
case 170: break;
|
||||
case 10:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.MINUS,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.MINUS, yytext());
|
||||
}
|
||||
case 171: break;
|
||||
case 11:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.GREATER_THAN,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.GREATER_THAN, yytext());
|
||||
}
|
||||
case 172: break;
|
||||
case 12:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.COLON,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.COLON, yytext());
|
||||
}
|
||||
case 173: break;
|
||||
case 13:
|
||||
{ return new ParsedSymbol(SymbolGroup.INTEGER,SymbolType.INTEGER,new Long(Long.parseLong((yytext()))));
|
||||
{ return new ParsedSymbol(SymbolGroup.INTEGER,SymbolType.INTEGER,Long.parseLong((yytext())));
|
||||
}
|
||||
case 174: break;
|
||||
case 14:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.TERNAR,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.TERNAR, yytext());
|
||||
}
|
||||
case 175: break;
|
||||
case 15:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.BRACKET_OPEN,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.BRACKET_OPEN, yytext());
|
||||
}
|
||||
case 176: break;
|
||||
case 16:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.BRACKET_CLOSE,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.BRACKET_CLOSE, yytext());
|
||||
}
|
||||
case 177: break;
|
||||
case 17:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN, yytext());
|
||||
}
|
||||
case 178: break;
|
||||
case 18:
|
||||
@@ -1405,7 +1410,7 @@ public final class ActionScriptLexer {
|
||||
}
|
||||
case 180: break;
|
||||
case 20:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.PLUS,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.PLUS, yytext());
|
||||
}
|
||||
case 181: break;
|
||||
case 21:
|
||||
@@ -1414,51 +1419,51 @@ public final class ActionScriptLexer {
|
||||
}
|
||||
case 182: break;
|
||||
case 22:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.PARENT_OPEN,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.PARENT_OPEN, yytext());
|
||||
}
|
||||
case 183: break;
|
||||
case 23:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.PARENT_CLOSE,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.PARENT_CLOSE, yytext());
|
||||
}
|
||||
case 184: break;
|
||||
case 24:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.CURLY_OPEN,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.CURLY_OPEN, yytext());
|
||||
}
|
||||
case 185: break;
|
||||
case 25:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.CURLY_CLOSE,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.CURLY_CLOSE, yytext());
|
||||
}
|
||||
case 186: break;
|
||||
case 26:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.SEMICOLON,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.SEMICOLON, yytext());
|
||||
}
|
||||
case 187: break;
|
||||
case 27:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.COMMA,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.COMMA, yytext());
|
||||
}
|
||||
case 188: break;
|
||||
case 28:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.NEGATE,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.NEGATE, yytext());
|
||||
}
|
||||
case 189: break;
|
||||
case 29:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.BITAND,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.BITAND, yytext());
|
||||
}
|
||||
case 190: break;
|
||||
case 30:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.BITOR,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.BITOR, yytext());
|
||||
}
|
||||
case 191: break;
|
||||
case 31:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.XOR,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.XOR, yytext());
|
||||
}
|
||||
case 192: break;
|
||||
case 32:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.MODULO,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.MODULO, yytext());
|
||||
}
|
||||
case 193: break;
|
||||
case 33:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ATTRIBUTE,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ATTRIBUTE, yytext());
|
||||
}
|
||||
case 194: break;
|
||||
case 34:
|
||||
@@ -1540,31 +1545,31 @@ public final class ActionScriptLexer {
|
||||
}
|
||||
case 206: break;
|
||||
case 46:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_DIVIDE,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_DIVIDE, yytext());
|
||||
}
|
||||
case 207: break;
|
||||
case 47:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_MULTIPLY,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_MULTIPLY, yytext());
|
||||
}
|
||||
case 208: break;
|
||||
case 48:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.DESCENDANTS,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.DESCENDANTS, yytext());
|
||||
}
|
||||
case 209: break;
|
||||
case 49:
|
||||
{ return new ParsedSymbol(SymbolGroup.TYPENAME,SymbolType.TYPENAME,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.TYPENAME,SymbolType.TYPENAME, yytext());
|
||||
}
|
||||
case 210: break;
|
||||
case 50:
|
||||
{ return new ParsedSymbol(SymbolGroup.DOUBLE,SymbolType.DOUBLE,new Double(Double.parseDouble((yytext()))));
|
||||
{ return new ParsedSymbol(SymbolGroup.DOUBLE,SymbolType.DOUBLE,Double.parseDouble((yytext())));
|
||||
}
|
||||
case 211: break;
|
||||
case 51:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.FILTER,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.FILTER, yytext());
|
||||
}
|
||||
case 212: break;
|
||||
case 52:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.SHIFT_LEFT,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.SHIFT_LEFT, yytext());
|
||||
}
|
||||
case 213: break;
|
||||
case 53:
|
||||
@@ -1574,7 +1579,7 @@ public final class ActionScriptLexer {
|
||||
}
|
||||
case 214: break;
|
||||
case 54:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.LOWER_EQUAL,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.LOWER_EQUAL, yytext());
|
||||
}
|
||||
case 215: break;
|
||||
case 55:
|
||||
@@ -1582,87 +1587,87 @@ public final class ActionScriptLexer {
|
||||
}
|
||||
case 216: break;
|
||||
case 56:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.NOT_EQUAL,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.NOT_EQUAL, yytext());
|
||||
}
|
||||
case 217: break;
|
||||
case 57:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.DECREMENT,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.DECREMENT, yytext());
|
||||
}
|
||||
case 218: break;
|
||||
case 58:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_MINUS,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_MINUS, yytext());
|
||||
}
|
||||
case 219: break;
|
||||
case 59:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.SHIFT_RIGHT,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.SHIFT_RIGHT, yytext());
|
||||
}
|
||||
case 220: break;
|
||||
case 60:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.GREATER_EQUAL,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.GREATER_EQUAL, yytext());
|
||||
}
|
||||
case 221: break;
|
||||
case 61:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.NAMESPACE_OP,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.NAMESPACE_OP, yytext());
|
||||
}
|
||||
case 222: break;
|
||||
case 62:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.EQUALS,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.EQUALS, yytext());
|
||||
}
|
||||
case 223: break;
|
||||
case 63:
|
||||
{ return new ParsedSymbol(SymbolGroup.INTEGER,SymbolType.INTEGER,new Long(Long.parseLong(yytext(),8)));
|
||||
{ return new ParsedSymbol(SymbolGroup.INTEGER,SymbolType.INTEGER,Long.parseLong(yytext(),8));
|
||||
}
|
||||
case 224: break;
|
||||
case 64:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_PLUS,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_PLUS, yytext());
|
||||
}
|
||||
case 225: break;
|
||||
case 65:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.INCREMENT,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.INCREMENT, yytext());
|
||||
}
|
||||
case 226: break;
|
||||
case 66:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.AS,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.AS, yytext());
|
||||
}
|
||||
case 227: break;
|
||||
case 67:
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.IF,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.IF, yytext());
|
||||
}
|
||||
case 228: break;
|
||||
case 68:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.IS,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.IS, yytext());
|
||||
}
|
||||
case 229: break;
|
||||
case 69:
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.IN,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.IN, yytext());
|
||||
}
|
||||
case 230: break;
|
||||
case 70:
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.DO,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.DO, yytext());
|
||||
}
|
||||
case 231: break;
|
||||
case 71:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_BITAND,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_BITAND, yytext());
|
||||
}
|
||||
case 232: break;
|
||||
case 72:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.AND,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.AND, yytext());
|
||||
}
|
||||
case 233: break;
|
||||
case 73:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_BITOR,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_BITOR, yytext());
|
||||
}
|
||||
case 234: break;
|
||||
case 74:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.OR,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.OR, yytext());
|
||||
}
|
||||
case 235: break;
|
||||
case 75:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_XOR,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_XOR, yytext());
|
||||
}
|
||||
case 236: break;
|
||||
case 76:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_MODULO,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_MODULO, yytext());
|
||||
}
|
||||
case 237: break;
|
||||
case 77:
|
||||
@@ -1777,63 +1782,63 @@ public final class ActionScriptLexer {
|
||||
}
|
||||
case 255: break;
|
||||
case 95:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.REST,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.REST, yytext());
|
||||
}
|
||||
case 256: break;
|
||||
case 96:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_SHIFT_LEFT,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_SHIFT_LEFT, yytext());
|
||||
}
|
||||
case 257: break;
|
||||
case 97:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.STRICT_NOT_EQUAL,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.STRICT_NOT_EQUAL, yytext());
|
||||
}
|
||||
case 258: break;
|
||||
case 98:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.USHIFT_RIGHT,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.USHIFT_RIGHT, yytext());
|
||||
}
|
||||
case 259: break;
|
||||
case 99:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_SHIFT_RIGHT,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_SHIFT_RIGHT, yytext());
|
||||
}
|
||||
case 260: break;
|
||||
case 100:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.STRICT_EQUALS,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.STRICT_EQUALS, yytext());
|
||||
}
|
||||
case 261: break;
|
||||
case 101:
|
||||
{ return new ParsedSymbol(SymbolGroup.INTEGER,SymbolType.INTEGER,new Long(Long.parseLong(yytext().substring(2),16)));
|
||||
{ return new ParsedSymbol(SymbolGroup.INTEGER,SymbolType.INTEGER,Long.parseLong(yytext().substring(2),16));
|
||||
}
|
||||
case 262: break;
|
||||
case 102:
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.FOR,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.FOR, yytext());
|
||||
}
|
||||
case 263: break;
|
||||
case 103:
|
||||
{ return new ParsedSymbol(SymbolGroup.IDENTIFIER,SymbolType.SET,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.IDENTIFIER,SymbolType.SET, yytext());
|
||||
}
|
||||
case 264: break;
|
||||
case 104:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.NEW,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.NEW, yytext());
|
||||
}
|
||||
case 265: break;
|
||||
case 105:
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.TRY,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.TRY, yytext());
|
||||
}
|
||||
case 266: break;
|
||||
case 106:
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.USE,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.USE, yytext());
|
||||
}
|
||||
case 267: break;
|
||||
case 107:
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.VAR,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.VAR, yytext());
|
||||
}
|
||||
case 268: break;
|
||||
case 108:
|
||||
{ return new ParsedSymbol(SymbolGroup.IDENTIFIER,SymbolType.GET,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.IDENTIFIER,SymbolType.GET, yytext());
|
||||
}
|
||||
case 269: break;
|
||||
case 109:
|
||||
{ return new ParsedSymbol(SymbolGroup.GLOBALCONST,SymbolType.NAN,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.GLOBALCONST,SymbolType.NAN, yytext());
|
||||
}
|
||||
case 270: break;
|
||||
case 110:
|
||||
@@ -1887,39 +1892,39 @@ public final class ActionScriptLexer {
|
||||
}
|
||||
case 276: break;
|
||||
case 116:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_USHIFT_RIGHT,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_USHIFT_RIGHT, yytext());
|
||||
}
|
||||
case 277: break;
|
||||
case 117:
|
||||
{ return new ParsedSymbol(SymbolGroup.IDENTIFIER,SymbolType.EACH,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.IDENTIFIER,SymbolType.EACH, yytext());
|
||||
}
|
||||
case 278: break;
|
||||
case 118:
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.ELSE,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.ELSE, yytext());
|
||||
}
|
||||
case 279: break;
|
||||
case 119:
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.CASE,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.CASE, yytext());
|
||||
}
|
||||
case 280: break;
|
||||
case 120:
|
||||
{ return new ParsedSymbol(SymbolGroup.GLOBALCONST,SymbolType.NULL,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.GLOBALCONST,SymbolType.NULL, yytext());
|
||||
}
|
||||
case 281: break;
|
||||
case 121:
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.TRUE,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.TRUE, yytext());
|
||||
}
|
||||
case 282: break;
|
||||
case 122:
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.THIS,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.THIS, yytext());
|
||||
}
|
||||
case 283: break;
|
||||
case 123:
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.WITH,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.WITH, yytext());
|
||||
}
|
||||
case 284: break;
|
||||
case 124:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.VOID,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.VOID, yytext());
|
||||
}
|
||||
case 285: break;
|
||||
case 125:
|
||||
@@ -1937,131 +1942,131 @@ public final class ActionScriptLexer {
|
||||
}
|
||||
case 287: break;
|
||||
case 127:
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.FALSE,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.FALSE, yytext());
|
||||
}
|
||||
case 288: break;
|
||||
case 128:
|
||||
{ return new ParsedSymbol(SymbolGroup.IDENTIFIER,SymbolType.FINAL,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.IDENTIFIER,SymbolType.FINAL, yytext());
|
||||
}
|
||||
case 289: break;
|
||||
case 129:
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.BREAK,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.BREAK, yytext());
|
||||
}
|
||||
case 290: break;
|
||||
case 130:
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.CATCH,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.CATCH, yytext());
|
||||
}
|
||||
case 291: break;
|
||||
case 131:
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.CONST,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.CONST, yytext());
|
||||
}
|
||||
case 292: break;
|
||||
case 132:
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.CLASS,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.CLASS, yytext());
|
||||
}
|
||||
case 293: break;
|
||||
case 133:
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.SUPER,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.SUPER, yytext());
|
||||
}
|
||||
case 294: break;
|
||||
case 134:
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.THROW,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.THROW, yytext());
|
||||
}
|
||||
case 295: break;
|
||||
case 135:
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.WHILE,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.WHILE, yytext());
|
||||
}
|
||||
case 296: break;
|
||||
case 136:
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.RETURN,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.RETURN, yytext());
|
||||
}
|
||||
case 297: break;
|
||||
case 137:
|
||||
{ return new ParsedSymbol(SymbolGroup.IDENTIFIER,SymbolType.STATIC,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.IDENTIFIER,SymbolType.STATIC, yytext());
|
||||
}
|
||||
case 298: break;
|
||||
case 138:
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.SWITCH,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.SWITCH, yytext());
|
||||
}
|
||||
case 299: break;
|
||||
case 139:
|
||||
{ return new ParsedSymbol(SymbolGroup.IDENTIFIER,SymbolType.NATIVE,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.IDENTIFIER,SymbolType.NATIVE, yytext());
|
||||
}
|
||||
case 300: break;
|
||||
case 140:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.TYPEOF,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.TYPEOF, yytext());
|
||||
}
|
||||
case 301: break;
|
||||
case 141:
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.IMPORT,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.IMPORT, yytext());
|
||||
}
|
||||
case 302: break;
|
||||
case 142:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.DELETE,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.DELETE, yytext());
|
||||
}
|
||||
case 303: break;
|
||||
case 143:
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.PUBLIC,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.PUBLIC, yytext());
|
||||
}
|
||||
case 304: break;
|
||||
case 144:
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.FINALLY,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.FINALLY, yytext());
|
||||
}
|
||||
case 305: break;
|
||||
case 145:
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.EXTENDS,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.EXTENDS, yytext());
|
||||
}
|
||||
case 306: break;
|
||||
case 146:
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.DEFAULT,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.DEFAULT, yytext());
|
||||
}
|
||||
case 307: break;
|
||||
case 147:
|
||||
{ return new ParsedSymbol(SymbolGroup.IDENTIFIER,SymbolType.DYNAMIC,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.IDENTIFIER,SymbolType.DYNAMIC, yytext());
|
||||
}
|
||||
case 308: break;
|
||||
case 148:
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.PRIVATE,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.PRIVATE, yytext());
|
||||
}
|
||||
case 309: break;
|
||||
case 149:
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.PACKAGE,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.PACKAGE, yytext());
|
||||
}
|
||||
case 310: break;
|
||||
case 150:
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.FUNCTION,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.FUNCTION, yytext());
|
||||
}
|
||||
case 311: break;
|
||||
case 151:
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.CONTINUE,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.CONTINUE, yytext());
|
||||
}
|
||||
case 312: break;
|
||||
case 152:
|
||||
{ return new ParsedSymbol(SymbolGroup.IDENTIFIER,SymbolType.OVERRIDE,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.IDENTIFIER,SymbolType.OVERRIDE, yytext());
|
||||
}
|
||||
case 313: break;
|
||||
case 153:
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.INTERNAL,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.INTERNAL, yytext());
|
||||
}
|
||||
case 314: break;
|
||||
case 154:
|
||||
{ return new ParsedSymbol(SymbolGroup.GLOBALCONST,SymbolType.INFINITY,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.GLOBALCONST,SymbolType.INFINITY, yytext());
|
||||
}
|
||||
case 315: break;
|
||||
case 155:
|
||||
{ return new ParsedSymbol(SymbolGroup.IDENTIFIER,SymbolType.NAMESPACE,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.IDENTIFIER,SymbolType.NAMESPACE, yytext());
|
||||
}
|
||||
case 316: break;
|
||||
case 156:
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.INTERFACE,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.INTERFACE, yytext());
|
||||
}
|
||||
case 317: break;
|
||||
case 157:
|
||||
{ return new ParsedSymbol(SymbolGroup.GLOBALCONST,SymbolType.UNDEFINED,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.GLOBALCONST,SymbolType.UNDEFINED, yytext());
|
||||
}
|
||||
case 318: break;
|
||||
case 158:
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.PROTECTED,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.PROTECTED, yytext());
|
||||
}
|
||||
case 319: break;
|
||||
case 159:
|
||||
@@ -2070,11 +2075,11 @@ public final class ActionScriptLexer {
|
||||
}
|
||||
case 320: break;
|
||||
case 160:
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.INSTANCEOF,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.INSTANCEOF, yytext());
|
||||
}
|
||||
case 321: break;
|
||||
case 161:
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.IMPLEMENTS,yytext());
|
||||
{ return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.IMPLEMENTS, yytext());
|
||||
}
|
||||
case 322: break;
|
||||
default:
|
||||
|
||||
@@ -42,7 +42,7 @@ import java.io.StringReader;
|
||||
|
||||
public void yypushbackstr(String s, int state)
|
||||
{
|
||||
sourceCode=s+sourceCode.substring(yychar+yylength());
|
||||
sourceCode = s + sourceCode.substring(yychar+yylength());
|
||||
yyreset(new StringReader(sourceCode));
|
||||
yybegin(state);
|
||||
}
|
||||
@@ -54,16 +54,16 @@ import java.io.StringReader;
|
||||
|
||||
StringBuffer string = new StringBuffer();
|
||||
|
||||
private static String xmlTagName="";
|
||||
private static String xmlTagName = "";
|
||||
|
||||
public int yychar() {
|
||||
return yychar;
|
||||
}
|
||||
|
||||
private Stack<ParsedSymbol> pushedBack=new Stack<ParsedSymbol>();
|
||||
private Stack<ParsedSymbol> pushedBack = new Stack<ParsedSymbol>();
|
||||
|
||||
public int yyline() {
|
||||
return yyline+1;
|
||||
return yyline + 1;
|
||||
}
|
||||
private List<LexListener> listeners=new ArrayList<>();
|
||||
|
||||
@@ -204,118 +204,118 @@ OIdentifierCharacter = [^\r\n\u00A7\\]
|
||||
<YYINITIAL> {
|
||||
|
||||
/* keywords */
|
||||
"break" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.BREAK,yytext()); }
|
||||
"case" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.CASE,yytext()); }
|
||||
"continue" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.CONTINUE,yytext()); }
|
||||
"default" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.DEFAULT,yytext()); }
|
||||
"do" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.DO,yytext()); }
|
||||
"while" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.WHILE,yytext()); }
|
||||
"else" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.ELSE,yytext()); }
|
||||
"for" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.FOR,yytext()); }
|
||||
"each" { return new ParsedSymbol(SymbolGroup.IDENTIFIER,SymbolType.EACH,yytext()); }
|
||||
"in" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.IN,yytext()); }
|
||||
"if" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.IF,yytext()); }
|
||||
"return" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.RETURN,yytext()); }
|
||||
"super" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.SUPER,yytext()); }
|
||||
"switch" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.SWITCH,yytext()); }
|
||||
"throw" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.THROW,yytext()); }
|
||||
"try" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.TRY,yytext()); }
|
||||
"catch" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.CATCH,yytext()); }
|
||||
"finally" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.FINALLY,yytext()); }
|
||||
"while" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.WHILE,yytext()); }
|
||||
"with" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.WITH,yytext()); }
|
||||
"dynamic" { return new ParsedSymbol(SymbolGroup.IDENTIFIER,SymbolType.DYNAMIC,yytext()); }
|
||||
"internal" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.INTERNAL,yytext()); }
|
||||
"override" { return new ParsedSymbol(SymbolGroup.IDENTIFIER,SymbolType.OVERRIDE,yytext()); }
|
||||
"private" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.PRIVATE,yytext()); }
|
||||
"protected" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.PROTECTED,yytext()); }
|
||||
"public" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.PUBLIC,yytext()); }
|
||||
"static" { return new ParsedSymbol(SymbolGroup.IDENTIFIER,SymbolType.STATIC,yytext()); }
|
||||
"class" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.CLASS,yytext()); }
|
||||
"const" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.CONST,yytext()); }
|
||||
"extends" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.EXTENDS,yytext()); }
|
||||
"function" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.FUNCTION,yytext()); }
|
||||
"get" { return new ParsedSymbol(SymbolGroup.IDENTIFIER,SymbolType.GET,yytext()); }
|
||||
"implements" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.IMPLEMENTS,yytext()); }
|
||||
"interface" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.INTERFACE,yytext()); }
|
||||
"namespace" { return new ParsedSymbol(SymbolGroup.IDENTIFIER,SymbolType.NAMESPACE,yytext()); }
|
||||
"package" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.PACKAGE,yytext()); }
|
||||
"set" { return new ParsedSymbol(SymbolGroup.IDENTIFIER,SymbolType.SET,yytext()); }
|
||||
"var" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.VAR,yytext()); }
|
||||
"import" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.IMPORT,yytext()); }
|
||||
"use" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.USE,yytext()); }
|
||||
"false" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.FALSE,yytext()); }
|
||||
"null" { return new ParsedSymbol(SymbolGroup.GLOBALCONST,SymbolType.NULL,yytext()); }
|
||||
"this" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.THIS,yytext()); }
|
||||
"true" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.TRUE,yytext()); }
|
||||
"undefined" { return new ParsedSymbol(SymbolGroup.GLOBALCONST,SymbolType.UNDEFINED,yytext()); }
|
||||
"Infinity" { return new ParsedSymbol(SymbolGroup.GLOBALCONST,SymbolType.INFINITY,yytext()); }
|
||||
"NaN" { return new ParsedSymbol(SymbolGroup.GLOBALCONST,SymbolType.NAN,yytext()); }
|
||||
"final" { return new ParsedSymbol(SymbolGroup.IDENTIFIER,SymbolType.FINAL,yytext()); }
|
||||
"native" { return new ParsedSymbol(SymbolGroup.IDENTIFIER,SymbolType.NATIVE,yytext()); }
|
||||
"break" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.BREAK, yytext()); }
|
||||
"case" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.CASE, yytext()); }
|
||||
"continue" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.CONTINUE, yytext()); }
|
||||
"default" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.DEFAULT, yytext()); }
|
||||
"do" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.DO, yytext()); }
|
||||
"while" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.WHILE, yytext()); }
|
||||
"else" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.ELSE, yytext()); }
|
||||
"for" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.FOR, yytext()); }
|
||||
"each" { return new ParsedSymbol(SymbolGroup.IDENTIFIER,SymbolType.EACH, yytext()); }
|
||||
"in" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.IN, yytext()); }
|
||||
"if" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.IF, yytext()); }
|
||||
"return" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.RETURN, yytext()); }
|
||||
"super" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.SUPER, yytext()); }
|
||||
"switch" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.SWITCH, yytext()); }
|
||||
"throw" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.THROW, yytext()); }
|
||||
"try" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.TRY, yytext()); }
|
||||
"catch" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.CATCH, yytext()); }
|
||||
"finally" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.FINALLY, yytext()); }
|
||||
"while" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.WHILE, yytext()); }
|
||||
"with" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.WITH, yytext()); }
|
||||
"dynamic" { return new ParsedSymbol(SymbolGroup.IDENTIFIER,SymbolType.DYNAMIC, yytext()); }
|
||||
"internal" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.INTERNAL, yytext()); }
|
||||
"override" { return new ParsedSymbol(SymbolGroup.IDENTIFIER,SymbolType.OVERRIDE, yytext()); }
|
||||
"private" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.PRIVATE, yytext()); }
|
||||
"protected" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.PROTECTED, yytext()); }
|
||||
"public" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.PUBLIC, yytext()); }
|
||||
"static" { return new ParsedSymbol(SymbolGroup.IDENTIFIER,SymbolType.STATIC, yytext()); }
|
||||
"class" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.CLASS, yytext()); }
|
||||
"const" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.CONST, yytext()); }
|
||||
"extends" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.EXTENDS, yytext()); }
|
||||
"function" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.FUNCTION, yytext()); }
|
||||
"get" { return new ParsedSymbol(SymbolGroup.IDENTIFIER,SymbolType.GET, yytext()); }
|
||||
"implements" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.IMPLEMENTS, yytext()); }
|
||||
"interface" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.INTERFACE, yytext()); }
|
||||
"namespace" { return new ParsedSymbol(SymbolGroup.IDENTIFIER,SymbolType.NAMESPACE, yytext()); }
|
||||
"package" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.PACKAGE, yytext()); }
|
||||
"set" { return new ParsedSymbol(SymbolGroup.IDENTIFIER,SymbolType.SET, yytext()); }
|
||||
"var" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.VAR, yytext()); }
|
||||
"import" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.IMPORT, yytext()); }
|
||||
"use" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.USE, yytext()); }
|
||||
"false" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.FALSE, yytext()); }
|
||||
"null" { return new ParsedSymbol(SymbolGroup.GLOBALCONST,SymbolType.NULL, yytext()); }
|
||||
"this" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.THIS, yytext()); }
|
||||
"true" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.TRUE, yytext()); }
|
||||
"undefined" { return new ParsedSymbol(SymbolGroup.GLOBALCONST,SymbolType.UNDEFINED, yytext()); }
|
||||
"Infinity" { return new ParsedSymbol(SymbolGroup.GLOBALCONST,SymbolType.INFINITY, yytext()); }
|
||||
"NaN" { return new ParsedSymbol(SymbolGroup.GLOBALCONST,SymbolType.NAN, yytext()); }
|
||||
"final" { return new ParsedSymbol(SymbolGroup.IDENTIFIER,SymbolType.FINAL, yytext()); }
|
||||
"native" { return new ParsedSymbol(SymbolGroup.IDENTIFIER,SymbolType.NATIVE, yytext()); }
|
||||
|
||||
/* operators */
|
||||
|
||||
"(" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.PARENT_OPEN,yytext()); }
|
||||
")" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.PARENT_CLOSE,yytext()); }
|
||||
"{" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.CURLY_OPEN,yytext()); }
|
||||
"}" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.CURLY_CLOSE,yytext()); }
|
||||
"[" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.BRACKET_OPEN,yytext()); }
|
||||
"]" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.BRACKET_CLOSE,yytext()); }
|
||||
";" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.SEMICOLON,yytext()); }
|
||||
"," { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.COMMA,yytext()); }
|
||||
"..." { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.REST,yytext()); }
|
||||
"." { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.DOT,yytext()); }
|
||||
"=" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN,yytext()); }
|
||||
">" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.GREATER_THAN,yytext()); }
|
||||
"<" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.LOWER_THAN,yytext()); }
|
||||
"!" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.NOT,yytext()); }
|
||||
"~" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.NEGATE,yytext()); }
|
||||
"?" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.TERNAR,yytext()); }
|
||||
":" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.COLON,yytext()); }
|
||||
"===" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.STRICT_EQUALS,yytext()); }
|
||||
"==" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.EQUALS,yytext()); }
|
||||
"<=" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.LOWER_EQUAL,yytext()); }
|
||||
">=" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.GREATER_EQUAL,yytext()); }
|
||||
"!==" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.STRICT_NOT_EQUAL,yytext()); }
|
||||
"!=" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.NOT_EQUAL,yytext()); }
|
||||
"&&" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.AND,yytext()); }
|
||||
"||" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.OR,yytext()); }
|
||||
"++" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.INCREMENT,yytext()); }
|
||||
"--" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.DECREMENT,yytext()); }
|
||||
"+" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.PLUS,yytext()); }
|
||||
"-" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.MINUS,yytext()); }
|
||||
"*" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.MULTIPLY,yytext()); }
|
||||
"/" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.DIVIDE,yytext()); }
|
||||
"&" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.BITAND,yytext()); }
|
||||
"|" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.BITOR,yytext()); }
|
||||
"^" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.XOR,yytext()); }
|
||||
"%" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.MODULO,yytext()); }
|
||||
"<<" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.SHIFT_LEFT,yytext()); }
|
||||
">>" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.SHIFT_RIGHT,yytext()); }
|
||||
">>>" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.USHIFT_RIGHT,yytext()); }
|
||||
"+=" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_PLUS,yytext()); }
|
||||
"-=" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_MINUS,yytext()); }
|
||||
"*=" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_MULTIPLY,yytext()); }
|
||||
"/=" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_DIVIDE,yytext()); }
|
||||
"&=" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_BITAND,yytext()); }
|
||||
"|=" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_BITOR,yytext()); }
|
||||
"^=" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_XOR,yytext()); }
|
||||
"%=" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_MODULO,yytext()); }
|
||||
"<<=" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_SHIFT_LEFT,yytext()); }
|
||||
">>=" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_SHIFT_RIGHT,yytext()); }
|
||||
">>>=" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_USHIFT_RIGHT,yytext()); }
|
||||
"as" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.AS,yytext()); }
|
||||
"delete" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.DELETE,yytext()); }
|
||||
"instanceof" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.INSTANCEOF,yytext()); }
|
||||
"is" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.IS,yytext()); }
|
||||
"::" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.NAMESPACE_OP,yytext()); }
|
||||
"new" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.NEW,yytext()); }
|
||||
"typeof" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.TYPEOF,yytext()); }
|
||||
"void" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.VOID,yytext()); }
|
||||
"@" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ATTRIBUTE,yytext()); }
|
||||
".(" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.FILTER,yytext()); }
|
||||
".." { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.DESCENDANTS,yytext()); }
|
||||
"(" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.PARENT_OPEN, yytext()); }
|
||||
")" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.PARENT_CLOSE, yytext()); }
|
||||
"{" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.CURLY_OPEN, yytext()); }
|
||||
"}" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.CURLY_CLOSE, yytext()); }
|
||||
"[" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.BRACKET_OPEN, yytext()); }
|
||||
"]" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.BRACKET_CLOSE, yytext()); }
|
||||
";" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.SEMICOLON, yytext()); }
|
||||
"," { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.COMMA, yytext()); }
|
||||
"..." { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.REST, yytext()); }
|
||||
"." { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.DOT, yytext()); }
|
||||
"=" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN, yytext()); }
|
||||
">" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.GREATER_THAN, yytext()); }
|
||||
"<" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.LOWER_THAN, yytext()); }
|
||||
"!" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.NOT, yytext()); }
|
||||
"~" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.NEGATE, yytext()); }
|
||||
"?" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.TERNAR, yytext()); }
|
||||
":" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.COLON, yytext()); }
|
||||
"===" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.STRICT_EQUALS, yytext()); }
|
||||
"==" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.EQUALS, yytext()); }
|
||||
"<=" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.LOWER_EQUAL, yytext()); }
|
||||
">=" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.GREATER_EQUAL, yytext()); }
|
||||
"!==" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.STRICT_NOT_EQUAL, yytext()); }
|
||||
"!=" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.NOT_EQUAL, yytext()); }
|
||||
"&&" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.AND, yytext()); }
|
||||
"||" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.OR, yytext()); }
|
||||
"++" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.INCREMENT, yytext()); }
|
||||
"--" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.DECREMENT, yytext()); }
|
||||
"+" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.PLUS, yytext()); }
|
||||
"-" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.MINUS, yytext()); }
|
||||
"*" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.MULTIPLY, yytext()); }
|
||||
"/" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.DIVIDE, yytext()); }
|
||||
"&" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.BITAND, yytext()); }
|
||||
"|" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.BITOR, yytext()); }
|
||||
"^" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.XOR, yytext()); }
|
||||
"%" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.MODULO, yytext()); }
|
||||
"<<" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.SHIFT_LEFT, yytext()); }
|
||||
">>" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.SHIFT_RIGHT, yytext()); }
|
||||
">>>" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.USHIFT_RIGHT, yytext()); }
|
||||
"+=" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_PLUS, yytext()); }
|
||||
"-=" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_MINUS, yytext()); }
|
||||
"*=" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_MULTIPLY, yytext()); }
|
||||
"/=" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_DIVIDE, yytext()); }
|
||||
"&=" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_BITAND, yytext()); }
|
||||
"|=" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_BITOR, yytext()); }
|
||||
"^=" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_XOR, yytext()); }
|
||||
"%=" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_MODULO, yytext()); }
|
||||
"<<=" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_SHIFT_LEFT, yytext()); }
|
||||
">>=" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_SHIFT_RIGHT, yytext()); }
|
||||
">>>=" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_USHIFT_RIGHT, yytext()); }
|
||||
"as" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.AS, yytext()); }
|
||||
"delete" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.DELETE, yytext()); }
|
||||
"instanceof" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.INSTANCEOF, yytext()); }
|
||||
"is" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.IS, yytext()); }
|
||||
"::" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.NAMESPACE_OP, yytext()); }
|
||||
"new" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.NEW, yytext()); }
|
||||
"typeof" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.TYPEOF, yytext()); }
|
||||
"void" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.VOID, yytext()); }
|
||||
"@" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ATTRIBUTE, yytext()); }
|
||||
".(" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.FILTER, yytext()); }
|
||||
".." { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.DESCENDANTS, yytext()); }
|
||||
|
||||
/* string literal */
|
||||
\" {
|
||||
@@ -349,7 +349,7 @@ OIdentifierCharacter = [^\r\n\u00A7\\]
|
||||
{LineTerminator} { yyline++;}
|
||||
/* whitespace */
|
||||
{WhiteSpace} { /*ignore*/ }
|
||||
{TypeNameSpec} { return new ParsedSymbol(SymbolGroup.TYPENAME,SymbolType.TYPENAME,yytext()); }
|
||||
{TypeNameSpec} { return new ParsedSymbol(SymbolGroup.TYPENAME,SymbolType.TYPENAME, yytext()); }
|
||||
{XmlOpenTagStart} {
|
||||
yybegin(XMLOPENTAG);
|
||||
string.setLength(0);
|
||||
|
||||
@@ -17,8 +17,8 @@ package com.jpexs.decompiler.flash.abc.methodinfo_parser;
|
||||
%{
|
||||
|
||||
StringBuffer string = new StringBuffer();
|
||||
boolean isMultiname=false;
|
||||
long multinameId=0;
|
||||
boolean isMultiname = false;
|
||||
long multinameId = 0;
|
||||
|
||||
|
||||
/**
|
||||
@@ -80,15 +80,15 @@ StringCharacter = [^\r\n\"\\]
|
||||
/* whitespace */
|
||||
{WhiteSpace} { }
|
||||
{Multiname}\" {
|
||||
isMultiname=true;
|
||||
String s=yytext();
|
||||
multinameId=Long.parseLong(s.substring(2,s.length()-2));
|
||||
isMultiname = true;
|
||||
String s = yytext();
|
||||
multinameId = Long.parseLong(s.substring(2,s.length()-2));
|
||||
yybegin(STRING);
|
||||
string.setLength(0);
|
||||
}
|
||||
/* string literal */
|
||||
\" {
|
||||
isMultiname=false;
|
||||
isMultiname = false;
|
||||
yybegin(STRING);
|
||||
string.setLength(0);
|
||||
}
|
||||
@@ -112,16 +112,16 @@ StringCharacter = [^\r\n\"\\]
|
||||
static {return new ParsedSymbol(ParsedSymbol.TYPE_STATIC);}
|
||||
explicit {return new ParsedSymbol(ParsedSymbol.TYPE_EXPLICIT);}
|
||||
{Namespace} {
|
||||
String s=yytext();
|
||||
long ns=Long.parseLong(s.substring(3,s.length()-2));
|
||||
return new ParsedSymbol(ParsedSymbol.TYPE_NAMESPACE,new Long(ns));
|
||||
String s = yytext();
|
||||
long ns = Long.parseLong(s.substring(3, s.length()-2));
|
||||
return new ParsedSymbol(ParsedSymbol.TYPE_NAMESPACE, new Long(ns));
|
||||
}
|
||||
true {return new ParsedSymbol(ParsedSymbol.TYPE_TRUE);}
|
||||
false {return new ParsedSymbol(ParsedSymbol.TYPE_FALSE);}
|
||||
null {return new ParsedSymbol(ParsedSymbol.TYPE_NULL);}
|
||||
undefined {return new ParsedSymbol(ParsedSymbol.TYPE_UNDEFINED);}
|
||||
{Identifier} {
|
||||
return new ParsedSymbol(ParsedSymbol.TYPE_IDENTIFIER,yytext()); }
|
||||
return new ParsedSymbol(ParsedSymbol.TYPE_IDENTIFIER, yytext()); }
|
||||
}
|
||||
|
||||
<STRING> {
|
||||
@@ -129,9 +129,9 @@ StringCharacter = [^\r\n\"\\]
|
||||
yybegin(YYINITIAL);
|
||||
// length also includes the trailing quote
|
||||
if(isMultiname){
|
||||
return new ParsedSymbol(ParsedSymbol.TYPE_MULTINAME,new Long(multinameId));
|
||||
return new ParsedSymbol(ParsedSymbol.TYPE_MULTINAME, new Long(multinameId));
|
||||
}else{
|
||||
return new ParsedSymbol(ParsedSymbol.TYPE_STRING,string.toString());
|
||||
return new ParsedSymbol(ParsedSymbol.TYPE_STRING, string.toString());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -150,8 +150,8 @@ StringCharacter = [^\r\n\"\\]
|
||||
string.append( val ); }
|
||||
|
||||
/* error cases */
|
||||
\\. { throw new ParseException("Illegal escape sequence \""+yytext()+"\"",yyline+1); }
|
||||
{LineTerminator} { throw new ParseException("Unterminated string at end of line",yyline+1); }
|
||||
\\. { throw new ParseException("Illegal escape sequence \"" + yytext() + "\"", yyline + 1); }
|
||||
{LineTerminator} { throw new ParseException("Unterminated string at end of line", yyline + 1); }
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -16,11 +16,11 @@
|
||||
*/
|
||||
package com.jpexs.decompiler.flash.abc.types;
|
||||
|
||||
import com.jpexs.decompiler.flash.IdentifiersDeobfuscation;
|
||||
import com.jpexs.decompiler.flash.abc.ABC;
|
||||
import com.jpexs.decompiler.flash.abc.avm2.AVM2ConstantPool;
|
||||
import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
|
||||
import com.jpexs.decompiler.flash.abc.avm2.instructions.construction.NewFunctionIns;
|
||||
import com.jpexs.decompiler.flash.IdentifiersDeobfuscation;
|
||||
import com.jpexs.decompiler.flash.configuration.Configuration;
|
||||
import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
|
||||
import com.jpexs.helpers.Helper;
|
||||
|
||||
@@ -16,8 +16,8 @@
|
||||
*/
|
||||
package com.jpexs.decompiler.flash.abc.types;
|
||||
|
||||
import com.jpexs.decompiler.flash.abc.avm2.AVM2ConstantPool;
|
||||
import com.jpexs.decompiler.flash.IdentifiersDeobfuscation;
|
||||
import com.jpexs.decompiler.flash.abc.avm2.AVM2ConstantPool;
|
||||
import com.jpexs.helpers.Helper;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@@ -16,9 +16,9 @@
|
||||
*/
|
||||
package com.jpexs.decompiler.flash.abc.types;
|
||||
|
||||
import com.jpexs.decompiler.flash.IdentifiersDeobfuscation;
|
||||
import com.jpexs.decompiler.flash.abc.ABC;
|
||||
import com.jpexs.decompiler.flash.abc.avm2.AVM2ConstantPool;
|
||||
import com.jpexs.decompiler.flash.IdentifiersDeobfuscation;
|
||||
|
||||
public class Namespace {
|
||||
|
||||
|
||||
@@ -16,8 +16,8 @@
|
||||
*/
|
||||
package com.jpexs.decompiler.flash.action.model;
|
||||
|
||||
import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
|
||||
import com.jpexs.decompiler.flash.IdentifiersDeobfuscation;
|
||||
import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
|
||||
import com.jpexs.decompiler.flash.action.swf5.ActionCallFunction;
|
||||
import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
|
||||
import com.jpexs.decompiler.graph.CompilationException;
|
||||
|
||||
@@ -16,8 +16,8 @@
|
||||
*/
|
||||
package com.jpexs.decompiler.flash.action.model;
|
||||
|
||||
import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
|
||||
import com.jpexs.decompiler.flash.IdentifiersDeobfuscation;
|
||||
import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
|
||||
import com.jpexs.decompiler.flash.action.swf5.ActionCallMethod;
|
||||
import com.jpexs.decompiler.flash.ecma.Undefined;
|
||||
import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
|
||||
|
||||
@@ -16,8 +16,8 @@
|
||||
*/
|
||||
package com.jpexs.decompiler.flash.action.model;
|
||||
|
||||
import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
|
||||
import com.jpexs.decompiler.flash.IdentifiersDeobfuscation;
|
||||
import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
|
||||
import com.jpexs.decompiler.flash.action.swf5.ActionDefineLocal;
|
||||
import com.jpexs.decompiler.flash.action.swf5.ActionDefineLocal2;
|
||||
import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
|
||||
|
||||
@@ -16,10 +16,10 @@
|
||||
*/
|
||||
package com.jpexs.decompiler.flash.action.model;
|
||||
|
||||
import com.jpexs.decompiler.flash.IdentifiersDeobfuscation;
|
||||
import com.jpexs.decompiler.flash.SWF;
|
||||
import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
|
||||
import com.jpexs.decompiler.flash.action.Action;
|
||||
import com.jpexs.decompiler.flash.IdentifiersDeobfuscation;
|
||||
import com.jpexs.decompiler.flash.action.parser.script.ActionSourceGenerator;
|
||||
import com.jpexs.decompiler.flash.action.parser.script.VariableActionItem;
|
||||
import com.jpexs.decompiler.flash.action.swf4.RegisterNumber;
|
||||
|
||||
@@ -16,8 +16,8 @@
|
||||
*/
|
||||
package com.jpexs.decompiler.flash.action.model;
|
||||
|
||||
import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
|
||||
import com.jpexs.decompiler.flash.IdentifiersDeobfuscation;
|
||||
import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
|
||||
import com.jpexs.decompiler.flash.action.swf5.ActionGetMember;
|
||||
import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
|
||||
import com.jpexs.decompiler.graph.CompilationException;
|
||||
|
||||
@@ -16,8 +16,8 @@
|
||||
*/
|
||||
package com.jpexs.decompiler.flash.action.model;
|
||||
|
||||
import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
|
||||
import com.jpexs.decompiler.flash.IdentifiersDeobfuscation;
|
||||
import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
|
||||
import com.jpexs.decompiler.flash.action.swf4.ActionGetVariable;
|
||||
import com.jpexs.decompiler.flash.ecma.Undefined;
|
||||
import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
|
||||
|
||||
@@ -16,8 +16,8 @@
|
||||
*/
|
||||
package com.jpexs.decompiler.flash.action.model;
|
||||
|
||||
import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
|
||||
import com.jpexs.decompiler.flash.IdentifiersDeobfuscation;
|
||||
import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
|
||||
import com.jpexs.decompiler.flash.action.parser.script.ActionSourceGenerator;
|
||||
import com.jpexs.decompiler.flash.action.swf4.ActionPush;
|
||||
import com.jpexs.decompiler.flash.action.swf4.RegisterNumber;
|
||||
|
||||
@@ -16,8 +16,8 @@
|
||||
*/
|
||||
package com.jpexs.decompiler.flash.action.model;
|
||||
|
||||
import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
|
||||
import com.jpexs.decompiler.flash.IdentifiersDeobfuscation;
|
||||
import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
|
||||
import com.jpexs.decompiler.flash.action.parser.script.ActionSourceGenerator;
|
||||
import com.jpexs.decompiler.flash.action.swf4.ActionPush;
|
||||
import com.jpexs.decompiler.flash.action.swf4.ActionSetVariable;
|
||||
|
||||
@@ -105,12 +105,12 @@ Constant= constant{PositiveNumberLiteral}
|
||||
|
||||
{Label} {
|
||||
String s=yytext();
|
||||
return new ASMParsedSymbol(ASMParsedSymbol.TYPE_LABEL,s.substring(0,s.length()-1));
|
||||
return new ASMParsedSymbol(ASMParsedSymbol.TYPE_LABEL, s.substring(0, s.length() - 1));
|
||||
}
|
||||
|
||||
/* identifiers */
|
||||
{InstructionName} { yybegin(PARAMETERS);
|
||||
return new ASMParsedSymbol(ASMParsedSymbol.TYPE_INSTRUCTION_NAME,yytext());
|
||||
return new ASMParsedSymbol(ASMParsedSymbol.TYPE_INSTRUCTION_NAME, yytext());
|
||||
}
|
||||
{EndOfBlock} { return new ASMParsedSymbol(ASMParsedSymbol.TYPE_BLOCK_END); }
|
||||
}
|
||||
@@ -127,7 +127,7 @@ Constant= constant{PositiveNumberLiteral}
|
||||
{NumberLiteral} { return new ASMParsedSymbol(ASMParsedSymbol.TYPE_INTEGER,new Long(Long.parseLong((yytext())))); }
|
||||
{FloatLiteral} { return new ASMParsedSymbol(ASMParsedSymbol.TYPE_FLOAT,new Double(Double.parseDouble((yytext())))); }
|
||||
{LineTerminator} {yybegin(YYINITIAL); return new ASMParsedSymbol(ASMParsedSymbol.TYPE_EOL); }
|
||||
{Comment} {return new ASMParsedSymbol(ASMParsedSymbol.TYPE_COMMENT,yytext().substring(1));}
|
||||
{Comment} {return new ASMParsedSymbol(ASMParsedSymbol.TYPE_COMMENT, yytext().substring(1));}
|
||||
{StartOfBlock} { yybegin(YYINITIAL); return new ASMParsedSymbol(ASMParsedSymbol.TYPE_BLOCK_START); }
|
||||
{True} {return new ASMParsedSymbol(ASMParsedSymbol.TYPE_BOOLEAN,Boolean.TRUE);}
|
||||
{False} {return new ASMParsedSymbol(ASMParsedSymbol.TYPE_BOOLEAN,Boolean.FALSE);}
|
||||
@@ -137,7 +137,7 @@ Constant= constant{PositiveNumberLiteral}
|
||||
{Register} { return new ASMParsedSymbol(ASMParsedSymbol.TYPE_REGISTER,new RegisterNumber(Integer.parseInt(yytext().substring(8)))); }
|
||||
{Constant} { return new ASMParsedSymbol(ASMParsedSymbol.TYPE_CONSTANT,new ConstantIndex(Integer.parseInt(yytext().substring(8)))); }
|
||||
|
||||
{Identifier} { return new ASMParsedSymbol(ASMParsedSymbol.TYPE_IDENTIFIER,yytext()); }
|
||||
{Identifier} { return new ASMParsedSymbol(ASMParsedSymbol.TYPE_IDENTIFIER, yytext()); }
|
||||
|
||||
}
|
||||
|
||||
@@ -145,7 +145,7 @@ Constant= constant{PositiveNumberLiteral}
|
||||
\" {
|
||||
yybegin(PARAMETERS);
|
||||
// length also includes the trailing quote
|
||||
return new ASMParsedSymbol(ASMParsedSymbol.TYPE_STRING,string.toString());
|
||||
return new ASMParsedSymbol(ASMParsedSymbol.TYPE_STRING, string.toString());
|
||||
}
|
||||
|
||||
{StringCharacter}+ { string.append( yytext() ); }
|
||||
@@ -163,8 +163,8 @@ Constant= constant{PositiveNumberLiteral}
|
||||
string.append( val ); }
|
||||
|
||||
/* error cases */
|
||||
\\. { throw new ParseException("Illegal escape sequence \""+yytext()+"\"",yyline+1); }
|
||||
{LineTerminator} { throw new ParseException("Unterminated string at end of line",yyline+1); }
|
||||
\\. { throw new ParseException("Illegal escape sequence \""+yytext()+"\"", yyline + 1); }
|
||||
{LineTerminator} { throw new ParseException("Unterminated string at end of line", yyline + 1); }
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -34,18 +34,18 @@ import java.util.ArrayList;
|
||||
|
||||
StringBuffer string = new StringBuffer();
|
||||
|
||||
private static String xmlTagName="";
|
||||
private static String xmlTagName = "";
|
||||
|
||||
public int yychar() {
|
||||
return yychar;
|
||||
}
|
||||
|
||||
private Stack<ParsedSymbol> pushedBack=new Stack<ParsedSymbol>();
|
||||
private Stack<ParsedSymbol> pushedBack = new Stack<ParsedSymbol>();
|
||||
|
||||
public int yyline() {
|
||||
return yyline+1;
|
||||
return yyline + 1;
|
||||
}
|
||||
private List<LexListener> listeners=new ArrayList<>();
|
||||
private List<LexListener> listeners = new ArrayList<>();
|
||||
|
||||
public void addListener(LexListener listener){
|
||||
listeners.add(listener);
|
||||
@@ -74,7 +74,7 @@ import java.util.ArrayList;
|
||||
}
|
||||
ParsedSymbol last;
|
||||
public ParsedSymbol lex() throws java.io.IOException, ParseException{
|
||||
ParsedSymbol ret=null;
|
||||
ParsedSymbol ret = null;
|
||||
if(!pushedBack.isEmpty()){
|
||||
ret = last = pushedBack.pop();
|
||||
}else{
|
||||
@@ -142,162 +142,162 @@ OIdentifierCharacter = [^\r\n\u00A7\\]
|
||||
<YYINITIAL> {
|
||||
|
||||
/* keywords */
|
||||
"break" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.BREAK,yytext()); }
|
||||
"case" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.CASE,yytext()); }
|
||||
"continue" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.CONTINUE,yytext()); }
|
||||
"default" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.DEFAULT,yytext()); }
|
||||
"do" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.DO,yytext()); }
|
||||
"while" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.WHILE,yytext()); }
|
||||
"else" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.ELSE,yytext()); }
|
||||
"for" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.FOR,yytext()); }
|
||||
"each" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.EACH,yytext()); }
|
||||
"in" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.IN,yytext()); }
|
||||
"if" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.IF,yytext()); }
|
||||
"return" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.RETURN,yytext()); }
|
||||
"super" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.SUPER,yytext()); }
|
||||
"switch" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.SWITCH,yytext()); }
|
||||
"throw" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.THROW,yytext()); }
|
||||
"try" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.TRY,yytext()); }
|
||||
"catch" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.CATCH,yytext()); }
|
||||
"finally" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.FINALLY,yytext()); }
|
||||
"while" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.WHILE,yytext()); }
|
||||
"with" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.WITH,yytext()); }
|
||||
"dynamic" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.DYNAMIC,yytext()); }
|
||||
"internal" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.INTERNAL,yytext()); }
|
||||
"override" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.OVERRIDE,yytext()); }
|
||||
"private" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.PRIVATE,yytext()); }
|
||||
"protected" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.PROTECTED,yytext()); }
|
||||
"public" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.PUBLIC,yytext()); }
|
||||
"static" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.STATIC,yytext()); }
|
||||
"class" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.CLASS,yytext()); }
|
||||
"const" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.CONST,yytext()); }
|
||||
"extends" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.EXTENDS,yytext()); }
|
||||
"function" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.FUNCTION,yytext()); }
|
||||
"get" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.GET,yytext()); }
|
||||
"implements" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.IMPLEMENTS,yytext()); }
|
||||
"interface" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.INTERFACE,yytext()); }
|
||||
"namespace" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.NAMESPACE,yytext()); }
|
||||
"package" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.PACKAGE,yytext()); }
|
||||
"set" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.SET,yytext()); }
|
||||
"var" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.VAR,yytext()); }
|
||||
"import" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.IMPORT,yytext()); }
|
||||
"use" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.USE,yytext()); }
|
||||
"false" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.FALSE,yytext()); }
|
||||
"null" { return new ParsedSymbol(SymbolGroup.GLOBALCONST,SymbolType.NULL,yytext()); }
|
||||
"this" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.THIS,yytext()); }
|
||||
"true" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.TRUE,yytext()); }
|
||||
"getUrl" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.GETURL,yytext()); }
|
||||
"trace" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.TRACE,yytext()); }
|
||||
"gotoAndStop" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.GOTOANDSTOP,yytext()); }
|
||||
"nextFrame" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.NEXTFRAME,yytext()); }
|
||||
"play" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.PLAY,yytext()); }
|
||||
"prevFrame" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.PREVFRAME,yytext()); }
|
||||
"tellTarget" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.TELLTARGET,yytext()); }
|
||||
"stop" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.STOP,yytext()); }
|
||||
"stopAllSounds" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.STOPALLSOUNDS,yytext()); }
|
||||
"toggleHighQuality" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.TOGGLEHIGHQUALITY,yytext()); }
|
||||
"ifFrameLoaded" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.IFFRAMELOADED,yytext()); }
|
||||
"ord" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.ORD,yytext()); }
|
||||
"chr" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.CHR,yytext()); }
|
||||
"duplicateMovieClip" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.DUPLICATEMOVIECLIP,yytext()); }
|
||||
"stopDrag" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.STOPDRAG,yytext()); }
|
||||
"getTimer" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.GETTIMER,yytext()); }
|
||||
"loadVariables" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.LOADVARIABLES,yytext()); }
|
||||
"loadMovie" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.LOADMOVIE,yytext()); }
|
||||
"gotoAndPlay" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.GOTOANDPLAY,yytext()); }
|
||||
"mbord" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.MBORD,yytext()); }
|
||||
"mbchr" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.MBCHR,yytext()); }
|
||||
"mblength" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.MBLENGTH,yytext()); }
|
||||
"mbsubstring" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.MBSUBSTRING,yytext()); }
|
||||
"random" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.RANDOM,yytext()); }
|
||||
"removeMovieClip" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.REMOVEMOVIECLIP,yytext()); }
|
||||
"startDrag" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.STARTDRAG,yytext()); }
|
||||
"substr" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.SUBSTR,yytext()); }
|
||||
"length" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.LENGTH,yytext()); }
|
||||
"int" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.INT,yytext()); }
|
||||
"targetPath" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.TARGETPATH,yytext()); }
|
||||
"Number" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.NUMBER_OP,yytext()); }
|
||||
"String" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.STRING_OP,yytext()); }
|
||||
"eval" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.EVAL,yytext()); }
|
||||
"undefined" { return new ParsedSymbol(SymbolGroup.GLOBALCONST,SymbolType.UNDEFINED,yytext()); }
|
||||
"newline" { return new ParsedSymbol(SymbolGroup.GLOBALCONST,SymbolType.NEWLINE,yytext()); }
|
||||
"Infinity" { return new ParsedSymbol(SymbolGroup.GLOBALCONST,SymbolType.INFINITY,yytext()); }
|
||||
"NaN" { return new ParsedSymbol(SymbolGroup.GLOBALCONST,SymbolType.NAN,yytext()); }
|
||||
"getVersion" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.GETVERSION,yytext()); }
|
||||
"call" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.CALL,yytext()); }
|
||||
"loadMovieNum" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.LOADMOVIENUM,yytext()); }
|
||||
"loadVariablesNum" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.LOADVARIABLESNUM,yytext()); }
|
||||
"printAsBitmapNum" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.PRINTASBITMAPNUM,yytext()); }
|
||||
"printNum" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.PRINTNUM,yytext()); }
|
||||
"printAsBitmap" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.PRINTASBITMAP,yytext()); }
|
||||
"print" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.PRINT,yytext()); }
|
||||
"unloadMovie" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.UNLOADMOVIE,yytext()); }
|
||||
"unloadMovieNum" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.UNLOADMOVIENUM,yytext()); }
|
||||
"fscommand" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.FSCOMMAND,yytext()); }
|
||||
"break" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.BREAK, yytext()); }
|
||||
"case" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.CASE, yytext()); }
|
||||
"continue" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.CONTINUE, yytext()); }
|
||||
"default" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.DEFAULT, yytext()); }
|
||||
"do" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.DO, yytext()); }
|
||||
"while" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.WHILE, yytext()); }
|
||||
"else" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.ELSE, yytext()); }
|
||||
"for" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.FOR, yytext()); }
|
||||
"each" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.EACH, yytext()); }
|
||||
"in" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.IN, yytext()); }
|
||||
"if" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.IF, yytext()); }
|
||||
"return" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.RETURN, yytext()); }
|
||||
"super" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.SUPER, yytext()); }
|
||||
"switch" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.SWITCH, yytext()); }
|
||||
"throw" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.THROW, yytext()); }
|
||||
"try" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.TRY, yytext()); }
|
||||
"catch" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.CATCH, yytext()); }
|
||||
"finally" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.FINALLY, yytext()); }
|
||||
"while" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.WHILE, yytext()); }
|
||||
"with" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.WITH, yytext()); }
|
||||
"dynamic" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.DYNAMIC, yytext()); }
|
||||
"internal" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.INTERNAL, yytext()); }
|
||||
"override" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.OVERRIDE, yytext()); }
|
||||
"private" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.PRIVATE, yytext()); }
|
||||
"protected" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.PROTECTED, yytext()); }
|
||||
"public" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.PUBLIC, yytext()); }
|
||||
"static" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.STATIC, yytext()); }
|
||||
"class" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.CLASS, yytext()); }
|
||||
"const" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.CONST, yytext()); }
|
||||
"extends" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.EXTENDS, yytext()); }
|
||||
"function" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.FUNCTION, yytext()); }
|
||||
"get" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.GET, yytext()); }
|
||||
"implements" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.IMPLEMENTS, yytext()); }
|
||||
"interface" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.INTERFACE, yytext()); }
|
||||
"namespace" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.NAMESPACE, yytext()); }
|
||||
"package" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.PACKAGE, yytext()); }
|
||||
"set" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.SET, yytext()); }
|
||||
"var" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.VAR, yytext()); }
|
||||
"import" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.IMPORT, yytext()); }
|
||||
"use" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.USE, yytext()); }
|
||||
"false" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.FALSE, yytext()); }
|
||||
"null" { return new ParsedSymbol(SymbolGroup.GLOBALCONST,SymbolType.NULL, yytext()); }
|
||||
"this" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.THIS, yytext()); }
|
||||
"true" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.TRUE, yytext()); }
|
||||
"getUrl" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.GETURL, yytext()); }
|
||||
"trace" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.TRACE, yytext()); }
|
||||
"gotoAndStop" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.GOTOANDSTOP, yytext()); }
|
||||
"nextFrame" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.NEXTFRAME, yytext()); }
|
||||
"play" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.PLAY, yytext()); }
|
||||
"prevFrame" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.PREVFRAME, yytext()); }
|
||||
"tellTarget" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.TELLTARGET, yytext()); }
|
||||
"stop" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.STOP, yytext()); }
|
||||
"stopAllSounds" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.STOPALLSOUNDS, yytext()); }
|
||||
"toggleHighQuality" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.TOGGLEHIGHQUALITY, yytext()); }
|
||||
"ifFrameLoaded" { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.IFFRAMELOADED, yytext()); }
|
||||
"ord" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.ORD, yytext()); }
|
||||
"chr" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.CHR, yytext()); }
|
||||
"duplicateMovieClip" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.DUPLICATEMOVIECLIP, yytext()); }
|
||||
"stopDrag" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.STOPDRAG, yytext()); }
|
||||
"getTimer" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.GETTIMER, yytext()); }
|
||||
"loadVariables" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.LOADVARIABLES, yytext()); }
|
||||
"loadMovie" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.LOADMOVIE, yytext()); }
|
||||
"gotoAndPlay" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.GOTOANDPLAY, yytext()); }
|
||||
"mbord" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.MBORD, yytext()); }
|
||||
"mbchr" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.MBCHR, yytext()); }
|
||||
"mblength" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.MBLENGTH, yytext()); }
|
||||
"mbsubstring" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.MBSUBSTRING, yytext()); }
|
||||
"random" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.RANDOM, yytext()); }
|
||||
"removeMovieClip" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.REMOVEMOVIECLIP, yytext()); }
|
||||
"startDrag" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.STARTDRAG, yytext()); }
|
||||
"substr" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.SUBSTR, yytext()); }
|
||||
"length" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.LENGTH, yytext()); }
|
||||
"int" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.INT, yytext()); }
|
||||
"targetPath" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.TARGETPATH, yytext()); }
|
||||
"Number" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.NUMBER_OP, yytext()); }
|
||||
"String" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.STRING_OP, yytext()); }
|
||||
"eval" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.EVAL, yytext()); }
|
||||
"undefined" { return new ParsedSymbol(SymbolGroup.GLOBALCONST,SymbolType.UNDEFINED, yytext()); }
|
||||
"newline" { return new ParsedSymbol(SymbolGroup.GLOBALCONST,SymbolType.NEWLINE, yytext()); }
|
||||
"Infinity" { return new ParsedSymbol(SymbolGroup.GLOBALCONST,SymbolType.INFINITY, yytext()); }
|
||||
"NaN" { return new ParsedSymbol(SymbolGroup.GLOBALCONST,SymbolType.NAN, yytext()); }
|
||||
"getVersion" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.GETVERSION, yytext()); }
|
||||
"call" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.CALL, yytext()); }
|
||||
"loadMovieNum" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.LOADMOVIENUM, yytext()); }
|
||||
"loadVariablesNum" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.LOADVARIABLESNUM, yytext()); }
|
||||
"printAsBitmapNum" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.PRINTASBITMAPNUM, yytext()); }
|
||||
"printNum" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.PRINTNUM, yytext()); }
|
||||
"printAsBitmap" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.PRINTASBITMAP, yytext()); }
|
||||
"print" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.PRINT, yytext()); }
|
||||
"unloadMovie" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.UNLOADMOVIE, yytext()); }
|
||||
"unloadMovieNum" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.UNLOADMOVIENUM, yytext()); }
|
||||
"fscommand" { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.FSCOMMAND, yytext()); }
|
||||
|
||||
|
||||
/* operators */
|
||||
|
||||
"(" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.PARENT_OPEN,yytext()); }
|
||||
")" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.PARENT_CLOSE,yytext()); }
|
||||
"{" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.CURLY_OPEN,yytext()); }
|
||||
"}" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.CURLY_CLOSE,yytext()); }
|
||||
"[" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.BRACKET_OPEN,yytext()); }
|
||||
"]" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.BRACKET_CLOSE,yytext()); }
|
||||
";" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.SEMICOLON,yytext()); }
|
||||
"," { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.COMMA,yytext()); }
|
||||
"..." { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.REST,yytext()); }
|
||||
"." { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.DOT,yytext()); }
|
||||
"=" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN,yytext()); }
|
||||
">" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.GREATER_THAN,yytext()); }
|
||||
"<" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.LOWER_THAN,yytext()); }
|
||||
"!" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.NOT,yytext()); }
|
||||
"~" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.NEGATE,yytext()); }
|
||||
"?" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.TERNAR,yytext()); }
|
||||
":" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.COLON,yytext()); }
|
||||
"===" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.STRICT_EQUALS,yytext()); }
|
||||
"==" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.EQUALS,yytext()); }
|
||||
"<=" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.LOWER_EQUAL,yytext()); }
|
||||
">=" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.GREATER_EQUAL,yytext()); }
|
||||
"!==" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.STRICT_NOT_EQUAL,yytext()); }
|
||||
"!=" | "<>" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.NOT_EQUAL,yytext()); }
|
||||
"&&" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.AND,yytext()); }
|
||||
"||" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.OR,yytext()); }
|
||||
"++" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.INCREMENT,yytext()); }
|
||||
"--" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.DECREMENT,yytext()); }
|
||||
"+" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.PLUS,yytext()); }
|
||||
"-" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.MINUS,yytext()); }
|
||||
"*" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.MULTIPLY,yytext()); }
|
||||
"/" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.DIVIDE,yytext()); }
|
||||
"&" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.BITAND,yytext()); }
|
||||
"|" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.BITOR,yytext()); }
|
||||
"^" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.XOR,yytext()); }
|
||||
"%" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.MODULO,yytext()); }
|
||||
"<<" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.SHIFT_LEFT,yytext()); }
|
||||
">>" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.SHIFT_RIGHT,yytext()); }
|
||||
">>>" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.USHIFT_RIGHT,yytext()); }
|
||||
"+=" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_PLUS,yytext()); }
|
||||
"-=" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_MINUS,yytext()); }
|
||||
"*=" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_MULTIPLY,yytext()); }
|
||||
"/=" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_DIVIDE,yytext()); }
|
||||
"&=" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_BITAND,yytext()); }
|
||||
"|=" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_BITOR,yytext()); }
|
||||
"^=" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_XOR,yytext()); }
|
||||
"%=" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_MODULO,yytext()); }
|
||||
"<<=" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_SHIFT_LEFT,yytext()); }
|
||||
">>=" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_SHIFT_RIGHT,yytext()); }
|
||||
">>>=" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_USHIFT_RIGHT,yytext()); }
|
||||
"as" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.AS,yytext()); }
|
||||
"delete" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.DELETE,yytext()); }
|
||||
"instanceof" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.INSTANCEOF,yytext()); }
|
||||
"is" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.IS,yytext()); }
|
||||
"::" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.NAMESPACE_OP,yytext()); }
|
||||
"new" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.NEW,yytext()); }
|
||||
"typeof" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.TYPEOF,yytext()); }
|
||||
"void" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.VOID,yytext()); }
|
||||
"@" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ATTRIBUTE,yytext()); }
|
||||
"and" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.FULLAND,yytext()); }
|
||||
"or" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.FULLOR,yytext()); }
|
||||
"(" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.PARENT_OPEN, yytext()); }
|
||||
")" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.PARENT_CLOSE, yytext()); }
|
||||
"{" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.CURLY_OPEN, yytext()); }
|
||||
"}" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.CURLY_CLOSE, yytext()); }
|
||||
"[" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.BRACKET_OPEN, yytext()); }
|
||||
"]" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.BRACKET_CLOSE, yytext()); }
|
||||
";" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.SEMICOLON, yytext()); }
|
||||
"," { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.COMMA, yytext()); }
|
||||
"..." { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.REST, yytext()); }
|
||||
"." { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.DOT, yytext()); }
|
||||
"=" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN, yytext()); }
|
||||
">" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.GREATER_THAN, yytext()); }
|
||||
"<" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.LOWER_THAN, yytext()); }
|
||||
"!" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.NOT, yytext()); }
|
||||
"~" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.NEGATE, yytext()); }
|
||||
"?" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.TERNAR, yytext()); }
|
||||
":" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.COLON, yytext()); }
|
||||
"===" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.STRICT_EQUALS, yytext()); }
|
||||
"==" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.EQUALS, yytext()); }
|
||||
"<=" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.LOWER_EQUAL, yytext()); }
|
||||
">=" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.GREATER_EQUAL, yytext()); }
|
||||
"!==" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.STRICT_NOT_EQUAL, yytext()); }
|
||||
"!=" | "<>" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.NOT_EQUAL, yytext()); }
|
||||
"&&" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.AND, yytext()); }
|
||||
"||" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.OR, yytext()); }
|
||||
"++" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.INCREMENT, yytext()); }
|
||||
"--" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.DECREMENT, yytext()); }
|
||||
"+" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.PLUS, yytext()); }
|
||||
"-" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.MINUS, yytext()); }
|
||||
"*" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.MULTIPLY, yytext()); }
|
||||
"/" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.DIVIDE, yytext()); }
|
||||
"&" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.BITAND, yytext()); }
|
||||
"|" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.BITOR, yytext()); }
|
||||
"^" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.XOR, yytext()); }
|
||||
"%" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.MODULO, yytext()); }
|
||||
"<<" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.SHIFT_LEFT, yytext()); }
|
||||
">>" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.SHIFT_RIGHT, yytext()); }
|
||||
">>>" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.USHIFT_RIGHT, yytext()); }
|
||||
"+=" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_PLUS, yytext()); }
|
||||
"-=" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_MINUS, yytext()); }
|
||||
"*=" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_MULTIPLY, yytext()); }
|
||||
"/=" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_DIVIDE, yytext()); }
|
||||
"&=" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_BITAND, yytext()); }
|
||||
"|=" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_BITOR, yytext()); }
|
||||
"^=" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_XOR, yytext()); }
|
||||
"%=" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_MODULO, yytext()); }
|
||||
"<<=" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_SHIFT_LEFT, yytext()); }
|
||||
">>=" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_SHIFT_RIGHT, yytext()); }
|
||||
">>>=" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_USHIFT_RIGHT, yytext()); }
|
||||
"as" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.AS, yytext()); }
|
||||
"delete" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.DELETE, yytext()); }
|
||||
"instanceof" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.INSTANCEOF, yytext()); }
|
||||
"is" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.IS, yytext()); }
|
||||
"::" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.NAMESPACE_OP, yytext()); }
|
||||
"new" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.NEW, yytext()); }
|
||||
"typeof" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.TYPEOF, yytext()); }
|
||||
"void" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.VOID, yytext()); }
|
||||
"@" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ATTRIBUTE, yytext()); }
|
||||
"and" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.FULLAND, yytext()); }
|
||||
"or" { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.FULLOR, yytext()); }
|
||||
|
||||
/* string literal */
|
||||
\" {
|
||||
|
||||
@@ -191,8 +191,16 @@ public class DefineFont2Tag extends FontTag {
|
||||
return baos.toByteArray();
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
* @param swf
|
||||
*/
|
||||
public DefineFont2Tag(SWF swf) {
|
||||
super(swf, ID, "DefineFont2", null);
|
||||
fontId = swf.getNextCharacterId();
|
||||
fontName = "New font";
|
||||
glyphShapeTable = new ArrayList<>();
|
||||
codeTable = new ArrayList<>();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
*/
|
||||
package com.jpexs.decompiler.flash.tags;
|
||||
|
||||
import com.jpexs.decompiler.flash.SWF;
|
||||
import com.jpexs.decompiler.flash.SWFInputStream;
|
||||
import com.jpexs.decompiler.flash.SWFOutputStream;
|
||||
import com.jpexs.decompiler.flash.abc.CopyOutputStream;
|
||||
@@ -110,6 +111,18 @@ public class DefineFont3Tag extends FontTag {
|
||||
return codeTable.indexOf((int) c);
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
* @param swf
|
||||
*/
|
||||
public DefineFont3Tag(SWF swf) {
|
||||
super(swf, ID, "DefineFont3", null);
|
||||
fontId = swf.getNextCharacterId();
|
||||
fontName = "New font";
|
||||
glyphShapeTable = new ArrayList<>();
|
||||
codeTable = new ArrayList<>();
|
||||
}
|
||||
|
||||
public DefineFont3Tag(SWFInputStream sis, ByteArrayRange data) throws IOException {
|
||||
super(sis.getSwf(), ID, "DefineFont3", data);
|
||||
fontId = sis.readUI16("fontId");
|
||||
|
||||
@@ -12,9 +12,11 @@
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library.
|
||||
* License along with this library.
|
||||
*/
|
||||
package com.jpexs.decompiler.flash.tags;
|
||||
|
||||
import com.jpexs.decompiler.flash.SWF;
|
||||
import com.jpexs.decompiler.flash.SWFInputStream;
|
||||
import com.jpexs.decompiler.flash.SWFOutputStream;
|
||||
import com.jpexs.decompiler.flash.tags.base.CharacterTag;
|
||||
@@ -46,6 +48,16 @@ public class DefineFont4Tag extends CharacterTag {
|
||||
return fontID;
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
* @param swf
|
||||
*/
|
||||
public DefineFont4Tag(SWF swf) {
|
||||
super(swf, ID, "DefineFont4", null);
|
||||
fontID = swf.getNextCharacterId();
|
||||
fontName = "New font";
|
||||
}
|
||||
|
||||
public DefineFont4Tag(SWFInputStream sis, ByteArrayRange data) throws IOException {
|
||||
super(sis.getSwf(), ID, "DefineFont4", data);
|
||||
fontID = sis.readUI16("fontID");
|
||||
|
||||
@@ -142,6 +142,8 @@ public class DefineFontTag extends FontTag {
|
||||
*/
|
||||
public DefineFontTag(SWF swf) {
|
||||
super(swf, ID, "DefineFont", null);
|
||||
fontId = swf.getNextCharacterId();
|
||||
glyphShapeTable = new ArrayList<>();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -154,15 +156,18 @@ public class DefineFontTag extends FontTag {
|
||||
public DefineFontTag(SWFInputStream sis, ByteArrayRange data) throws IOException {
|
||||
super(sis.getSwf(), ID, "DefineFont", data);
|
||||
fontId = sis.readUI16("fontId");
|
||||
int firstOffset = sis.readUI16("firstOffset");
|
||||
int nGlyphs = firstOffset / 2;
|
||||
glyphShapeTable = new ArrayList<>();
|
||||
|
||||
for (int i = 1; i < nGlyphs; i++) {
|
||||
sis.readUI16("offset"); //offset
|
||||
}
|
||||
for (int i = 0; i < nGlyphs; i++) {
|
||||
glyphShapeTable.add(sis.readSHAPE(1, false, "shape"));
|
||||
if (sis.available() > 0) {
|
||||
int firstOffset = sis.readUI16("firstOffset");
|
||||
int nGlyphs = firstOffset / 2;
|
||||
|
||||
for (int i = 1; i < nGlyphs; i++) {
|
||||
sis.readUI16("offset"); //offset
|
||||
}
|
||||
for (int i = 0; i < nGlyphs; i++) {
|
||||
glyphShapeTable.add(sis.readSHAPE(1, false, "shape"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -274,7 +274,7 @@ public abstract class FontTag extends CharacterTag implements AloneTag, Drawable
|
||||
if (installedFontsByName.containsKey(fontName)) {
|
||||
return fontName;
|
||||
}
|
||||
if (fontName.contains("_")) {
|
||||
if (fontName != null && fontName.contains("_")) {
|
||||
String beforeUnderscore = fontName.substring(0, fontName.indexOf('_'));
|
||||
if (installedFontsByName.containsKey(beforeUnderscore)) {
|
||||
return beforeUnderscore;
|
||||
|
||||
@@ -46,8 +46,6 @@ import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
import javax.swing.JPanel;
|
||||
|
||||
/**
|
||||
@@ -83,6 +81,16 @@ public final class DefineCompactedFont extends FontTag implements DrawableTag {
|
||||
return baos.toByteArray();
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
* @param swf
|
||||
*/
|
||||
public DefineCompactedFont(SWF swf) {
|
||||
super(swf, ID, "DefineCompactedFont", null);
|
||||
fontId = swf.getNextCharacterId();
|
||||
fonts = new ArrayList<>();
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
|
||||
@@ -31,9 +31,9 @@ package com.jpexs.decompiler.flash.tags.text;
|
||||
|
||||
%{
|
||||
|
||||
StringBuffer string = null;
|
||||
boolean finish=false;
|
||||
String parameterName=null;
|
||||
StringBuffer string = null;
|
||||
boolean finish = false;
|
||||
String parameterName = null;
|
||||
|
||||
|
||||
/**
|
||||
@@ -65,28 +65,28 @@ Divider = [ \r\n]+
|
||||
<YYINITIAL> {
|
||||
"[" {
|
||||
yybegin(PARAMETER);
|
||||
if(string!=null){
|
||||
String ret=string.toString();
|
||||
if(string != null){
|
||||
String ret = string.toString();
|
||||
string = null;
|
||||
return new ParsedSymbol(SymbolType.TEXT,ret.toString());
|
||||
}
|
||||
}
|
||||
/* escape sequences */
|
||||
"\\[" { if(string==null) string=new StringBuffer(); string.append( '[' ); }
|
||||
"\\]" { if(string==null) string=new StringBuffer(); string.append( ']' ); }
|
||||
"\\b" { if(string==null) string=new StringBuffer(); string.append( '\b' ); }
|
||||
"\\t" { if(string==null) string=new StringBuffer(); string.append( '\t' ); }
|
||||
"\\n" { if(string==null) string=new StringBuffer(); string.append( '\n' ); }
|
||||
"\\f" { if(string==null) string=new StringBuffer(); string.append( '\f' ); }
|
||||
"\\r" { if(string==null) string=new StringBuffer(); string.append( '\r' ); }
|
||||
"\\\"" { if(string==null) string=new StringBuffer(); string.append( '\"' ); }
|
||||
"\\'" { if(string==null) string=new StringBuffer(); string.append( '\'' ); }
|
||||
"\\\\" { if(string==null) string=new StringBuffer(); string.append( '\\' ); }
|
||||
"\\[" { if (string == null) string = new StringBuffer(); string.append( '[' ); }
|
||||
"\\]" { if (string == null) string = new StringBuffer(); string.append( ']' ); }
|
||||
"\\b" { if (string == null) string = new StringBuffer(); string.append( '\b' ); }
|
||||
"\\t" { if (string == null) string = new StringBuffer(); string.append( '\t' ); }
|
||||
"\\n" { if (string == null) string = new StringBuffer(); string.append( '\n' ); }
|
||||
"\\f" { if (string == null) string = new StringBuffer(); string.append( '\f' ); }
|
||||
"\\r" { if (string == null) string = new StringBuffer(); string.append( '\r' ); }
|
||||
"\\\"" { if (string == null) string = new StringBuffer(); string.append( '\"' ); }
|
||||
"\\'" { if (string == null) string = new StringBuffer(); string.append( '\'' ); }
|
||||
"\\\\" { if (string == null) string = new StringBuffer(); string.append( '\\' ); }
|
||||
|
||||
/* error cases */
|
||||
\\. { throw new ParseException("Illegal escape sequence \""+yytext()+"\"",yyline+1); }
|
||||
. { if(string==null) string=new StringBuffer(); string.append( yytext() ); }
|
||||
<<EOF>> { if(finish){return null;}else{finish=true; return new ParsedSymbol(SymbolType.TEXT,string==null?null:string.toString());}}
|
||||
. { if (string == null) string = new StringBuffer(); string.append( yytext() ); }
|
||||
<<EOF>> { if (finish) {return null;} else {finish=true; return new ParsedSymbol(SymbolType.TEXT, string == null ? null : string.toString());}}
|
||||
}
|
||||
|
||||
<PARAMETER> {
|
||||
@@ -104,7 +104,7 @@ Divider = [ \r\n]+
|
||||
{Divider} {}
|
||||
{Value} {
|
||||
yybegin(PARAMETER);
|
||||
return new ParsedSymbol(SymbolType.PARAMETER,new Object[]{parameterName,yytext()});
|
||||
return new ParsedSymbol(SymbolType.PARAMETER, new Object[] {parameterName, yytext()});
|
||||
}
|
||||
"]" {
|
||||
yybegin(YYINITIAL);
|
||||
|
||||
@@ -49,14 +49,14 @@ import java.util.Stack;
|
||||
return yyline+1;
|
||||
}
|
||||
|
||||
private Stack<ConditionToken> pushedBack=new Stack<ConditionToken>();
|
||||
private Stack<ConditionToken> pushedBack = new Stack<ConditionToken>();
|
||||
|
||||
public void pushback(ConditionToken symb) {
|
||||
pushedBack.push(symb);
|
||||
}
|
||||
|
||||
public ConditionToken lex() throws java.io.IOException, ParseException{
|
||||
ConditionToken ret=null;
|
||||
ConditionToken ret = null;
|
||||
if(!pushedBack.isEmpty()){
|
||||
ret = pushedBack.pop();
|
||||
}else{
|
||||
@@ -73,13 +73,13 @@ Field = [A-Za-z0-9_\.]+
|
||||
|
||||
<YYINITIAL> {
|
||||
{Field} {
|
||||
return new ConditionToken(ConditionTokenType.FIELD,yytext());
|
||||
return new ConditionToken(ConditionTokenType.FIELD, yytext());
|
||||
}
|
||||
"||" | "|" { return new ConditionToken(ConditionTokenType.OR,yytext()); }
|
||||
"&&" | "," | "&" { return new ConditionToken(ConditionTokenType.AND,yytext()); }
|
||||
"!" { return new ConditionToken(ConditionTokenType.NOT,yytext()); }
|
||||
"(" { return new ConditionToken(ConditionTokenType.PARENT_OPEN,yytext()); }
|
||||
")" { return new ConditionToken(ConditionTokenType.PARENT_CLOSE,yytext()); }
|
||||
"||" | "|" { return new ConditionToken(ConditionTokenType.OR, yytext()); }
|
||||
"&&" | "," | "&" { return new ConditionToken(ConditionTokenType.AND, yytext()); }
|
||||
"!" { return new ConditionToken(ConditionTokenType.NOT, yytext()); }
|
||||
"(" { return new ConditionToken(ConditionTokenType.PARENT_OPEN, yytext()); }
|
||||
")" { return new ConditionToken(ConditionTokenType.PARENT_CLOSE, yytext()); }
|
||||
. { }
|
||||
<<EOF>> {return null;}
|
||||
}
|
||||
Reference in New Issue
Block a user