mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/jpexs-decompiler.git
synced 2026-07-15 23:08:13 +00:00
Issue #734 \xAB escapes, \uABCD escapes
Lexers moved to separate directory, JFlex 1.6.0 library for ant included Issue #687 allowing comments on separate line
This commit is contained in:
@@ -656,5 +656,5 @@
|
||||
|
||||
<target name="upload-last" depends="all,-upload">
|
||||
|
||||
</target>
|
||||
</target>
|
||||
</project>
|
||||
@@ -37,6 +37,7 @@
|
||||
<property name="DISTLIBRARIESDIRNAME" value="lib"/>
|
||||
<property name="JAVADOCDIR" value="${basedir}/javadoc"/>
|
||||
<property name="REVFILE" value="${basedir}/revision.txt"/>
|
||||
<property name="LEXERSDIR" value="${basedir}/lexers"/>
|
||||
|
||||
<property name="RUNPARAMS" value=""/>
|
||||
|
||||
|
||||
@@ -41,8 +41,7 @@
|
||||
</copy>
|
||||
</target>
|
||||
|
||||
<target name="compile">
|
||||
<!--<delete dir="${COMPILEDIR}"/>-->
|
||||
<target name="compile" depends="lexers">
|
||||
<mkdir dir="${COMPILEDIR}"/>
|
||||
<mkdir dir="${LIBRARIESDIR}"/>
|
||||
<javac srcdir="${SOURCEDIR}" destdir="${COMPILEDIR}" includes="**/*.java" target="${TARGETJAVA}" source="${TARGETJAVA}" debug="true"
|
||||
@@ -226,4 +225,28 @@
|
||||
<target name="run">
|
||||
<ant antfile="../../build.xml" target="run" inheritall="false"/>
|
||||
</target>
|
||||
|
||||
<target name="-lexer" if="lexer">
|
||||
<taskdef classname="jflex.anttask.JFlexTask" classpath="${basedir}/jflex-1.6.0.jar" name="jflex" />
|
||||
<jflex file="${lexer}" destdir="${SOURCEDIR}" nobak="on"></jflex>
|
||||
</target>
|
||||
|
||||
<target name="lexers">
|
||||
<pathconvert pathsep="|" property="lexers">
|
||||
<fileset dir="${LEXERSDIR}" includes="**/*.flex"/>
|
||||
<chainedmapper>
|
||||
<flattenmapper/>
|
||||
<globmapper from="*" to="/*"/>
|
||||
</chainedmapper>
|
||||
</pathconvert>
|
||||
|
||||
<script language="javascript"><![CDATA[
|
||||
var classpath = project.getProperty("lexers");
|
||||
var parts = classpath.split("|");
|
||||
for each (var part in parts) {
|
||||
project.setProperty("lexer",project.getProperty("LEXERSDIR")+part);
|
||||
self.project.executeTarget("-lexer");
|
||||
}
|
||||
]]></script>
|
||||
</target>
|
||||
</project>
|
||||
|
||||
BIN
libsrc/ffdec_lib/jflex-1.6.0.jar
Normal file
BIN
libsrc/ffdec_lib/jflex-1.6.0.jar
Normal file
Binary file not shown.
@@ -82,7 +82,6 @@ FLit3 = [0-9]+
|
||||
Exponent = [eE] [+-]? [0-9]+
|
||||
|
||||
HexDigit = [0-9a-fA-F]
|
||||
OctDigit = [0-7]
|
||||
|
||||
/* string and character literals */
|
||||
StringCharacter = [^\r\n\"\\]
|
||||
@@ -161,9 +160,9 @@ StringCharacter = [^\r\n\"\\]
|
||||
"\\\"" { string.append('\"'); }
|
||||
"\\'" { string.append('\''); }
|
||||
"\\\\" { string.append('\\'); }
|
||||
\\x{HexDigit}{HexDigit} { char val = (char) Integer.parseInt(yytext().substring(2), 16);
|
||||
\\x{HexDigit}{2} { char val = (char) Integer.parseInt(yytext().substring(2), 16);
|
||||
string.append(val); }
|
||||
\\[0-3]?{OctDigit}?{OctDigit} { char val = (char) Integer.parseInt(yytext().substring(1), 8);
|
||||
\\u{HexDigit}{4} { char val = (char) Integer.parseInt(yytext().substring(2), 16);
|
||||
string.append(val); }
|
||||
|
||||
/* error cases */
|
||||
@@ -164,6 +164,7 @@ ExceptionTarget = "exceptiontarget "{PositiveNumberLiteral}":"
|
||||
{InstructionName} { yybegin(PARAMETERS);
|
||||
return new ParsedSymbol(ParsedSymbol.TYPE_INSTRUCTION_NAME, yytext());
|
||||
}
|
||||
{Comment} {return new ParsedSymbol(ParsedSymbol.TYPE_COMMENT, yytext().substring(1));}
|
||||
}
|
||||
|
||||
<PARAMETERS> {
|
||||
@@ -284,9 +285,9 @@ ExceptionTarget = "exceptiontarget "{PositiveNumberLiteral}":"
|
||||
"\\\"" { string.append('\"'); }
|
||||
"\\'" { string.append('\''); }
|
||||
"\\\\" { string.append('\\'); }
|
||||
\\x{HexDigit}{HexDigit} { char val = (char) Integer.parseInt(yytext().substring(2), 16);
|
||||
\\x{HexDigit}{2} { char val = (char) Integer.parseInt(yytext().substring(2), 16);
|
||||
string.append(val); }
|
||||
\\[0-3]?{OctDigit}?{OctDigit} { char val = (char) Integer.parseInt(yytext().substring(1), 8);
|
||||
\\u{HexDigit}{4} { char val = (char) Integer.parseInt(yytext().substring(2), 16);
|
||||
string.append(val); }
|
||||
|
||||
/* error cases */
|
||||
@@ -586,7 +586,9 @@ OIdentifierCharacter = [^\r\n\u00A7\\]
|
||||
"\\§" { string.append('\u00A7'); }
|
||||
"\\r" { string.append('\r'); }
|
||||
"\\\\" { string.append('\\'); }
|
||||
\\x{HexDigit}{HexDigit} { char val = (char) Integer.parseInt(yytext().substring(2), 16);
|
||||
\\x{HexDigit}{2} { char val = (char) Integer.parseInt(yytext().substring(2), 16);
|
||||
string.append(val); }
|
||||
\\u{HexDigit}{4} { char val = (char) Integer.parseInt(yytext().substring(2), 16);
|
||||
string.append(val); }
|
||||
|
||||
/* escape sequences */
|
||||
@@ -613,9 +615,9 @@ OIdentifierCharacter = [^\r\n\u00A7\\]
|
||||
"\\\"" { string.append('\"'); }
|
||||
"\\'" { string.append('\''); }
|
||||
"\\\\" { string.append('\\'); }
|
||||
\\x{HexDigit}{HexDigit} { char val = (char) Integer.parseInt(yytext().substring(2), 16);
|
||||
\\x{HexDigit}{2} { char val = (char) Integer.parseInt(yytext().substring(2), 16);
|
||||
string.append(val); }
|
||||
\\[0-3]?{OctDigit}?{OctDigit} { char val = (char) Integer.parseInt(yytext().substring(1), 8);
|
||||
\\u{HexDigit}{4} { char val = (char) Integer.parseInt(yytext().substring(2), 16);
|
||||
string.append(val); }
|
||||
|
||||
/* escape sequences */
|
||||
@@ -642,9 +644,9 @@ OIdentifierCharacter = [^\r\n\u00A7\\]
|
||||
"\\\"" { string.append('\"'); }
|
||||
"\\'" { string.append('\''); }
|
||||
"\\\\" { string.append('\\'); }
|
||||
\\x{HexDigit}{HexDigit} { char val = (char) Integer.parseInt(yytext().substring(2), 16);
|
||||
\\x{HexDigit}{2} { char val = (char) Integer.parseInt(yytext().substring(2), 16);
|
||||
string.append(val); }
|
||||
\\[0-3]?{OctDigit}?{OctDigit} { char val = (char) Integer.parseInt(yytext().substring(1), 8);
|
||||
\\u{HexDigit}{4} { char val = (char) Integer.parseInt(yytext().substring(2), 16);
|
||||
string.append(val); }
|
||||
|
||||
/* escape sequences */
|
||||
@@ -101,7 +101,6 @@ FLit3 = [0-9]+
|
||||
Exponent = [eE] [+-]? [0-9]+
|
||||
|
||||
HexDigit = [0-9a-fA-F]
|
||||
OctDigit = [0-7]
|
||||
|
||||
/* string and character literals */
|
||||
StringCharacter = [^\r\n\"\\]
|
||||
@@ -175,9 +174,9 @@ Constant= constant{PositiveNumberLiteral}
|
||||
"\\\"" { string.append('\"'); }
|
||||
"\\'" { string.append('\''); }
|
||||
"\\\\" { string.append('\\'); }
|
||||
\\x{HexDigit}{HexDigit} { char val = (char) Integer.parseInt(yytext().substring(2), 16);
|
||||
\\x{HexDigit}{2} { char val = (char) Integer.parseInt(yytext().substring(2), 16);
|
||||
string.append(val); }
|
||||
\\[0-3]?{OctDigit}?{OctDigit} { char val = (char) Integer.parseInt(yytext().substring(1), 8);
|
||||
\\u{HexDigit}{4} { char val = (char) Integer.parseInt(yytext().substring(2), 16);
|
||||
string.append(val); }
|
||||
|
||||
/* error cases */
|
||||
@@ -386,7 +386,9 @@ OIdentifierCharacter = [^\r\n\u00A7\\]
|
||||
"\\\u00A7" { string.append('\u00A7'); }
|
||||
"\\r" { string.append('\r'); }
|
||||
"\\\\" { string.append('\\'); }
|
||||
\\x{HexDigit}{HexDigit} { char val = (char) Integer.parseInt(yytext().substring(2), 16);
|
||||
\\x{HexDigit}{2} { char val = (char) Integer.parseInt(yytext().substring(2), 16);
|
||||
string.append(val); }
|
||||
\\u{HexDigit}{4} { char val = (char) Integer.parseInt(yytext().substring(2), 16);
|
||||
string.append(val); }
|
||||
|
||||
/* escape sequences */
|
||||
@@ -412,8 +414,10 @@ OIdentifierCharacter = [^\r\n\u00A7\\]
|
||||
"\\r" { string.append('\r'); }
|
||||
"\\\"" { string.append('\"'); }
|
||||
"\\'" { string.append('\''); }
|
||||
"\\\\" { string.append('\\'); }
|
||||
\\[0-3]?{OctDigit}?{OctDigit} { char val = (char) Integer.parseInt(yytext().substring(1), 8);
|
||||
"\\\\" { string.append('\\'); }
|
||||
\\x{HexDigit}{2} { char val = (char) Integer.parseInt(yytext().substring(2), 16);
|
||||
string.append(val); }
|
||||
\\u{HexDigit}{4} { char val = (char) Integer.parseInt(yytext().substring(2), 16);
|
||||
string.append(val); }
|
||||
|
||||
/* escape sequences */
|
||||
@@ -441,7 +445,9 @@ OIdentifierCharacter = [^\r\n\u00A7\\]
|
||||
"\\\"" { string.append('\"'); }
|
||||
"\\'" { string.append('\''); }
|
||||
"\\\\" { string.append('\\'); }
|
||||
\\[0-3]?{OctDigit}?{OctDigit} { char val = (char) Integer.parseInt(yytext().substring(1), 8);
|
||||
\\x{HexDigit}{2} { char val = (char) Integer.parseInt(yytext().substring(2), 16);
|
||||
string.append(val); }
|
||||
\\u{HexDigit}{4} { char val = (char) Integer.parseInt(yytext().substring(2), 16);
|
||||
string.append(val); }
|
||||
|
||||
/* escape sequences */
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user