diff --git a/README.md b/README.md
index 19e584f..b0ab434 100644
--- a/README.md
+++ b/README.md
@@ -72,7 +72,8 @@ make it work with JUnit 5. Feel free to use the code (in package ```de.platon42.
- Enhancement: Added Structure View filters.
- New: Added inspection to validate the correctness of a MC68000 instruction regarding operation size and address modes.
-- Bugfix: Added several missing assembler directives (`opt`, `machine`, etc.)
+- Bugfix: Added several missing assembler directives (`opt`, `machine`, etc.).
+- Bugfix: Uppercase hexadecimal literals were not parsed (JFlex bug?).
### V0.3 (28-Jul-21)
diff --git a/build.gradle b/build.gradle
index 8e84105..d73041e 100644
--- a/build.gradle
+++ b/build.gradle
@@ -61,7 +61,8 @@ patchPluginXml {
- Enhancement: Added Structure View filters.
- New: Added inspection to validate the correctness of a MC68000 instruction regarding operation size and address modes.
-
- Bugfix: Added several missing assembler directives (opt, machine, etc.)
+
- Bugfix: Added several missing assembler directives (opt, machine, etc.).
+
- Bugfix: Uppercase hexadecimal literals were not parsed (JFlex bug?).
V0.3 (28-Jul-21)
diff --git a/src/main/gen/de/platon42/intellij/plugins/m68k/lexer/_M68kLexer.java b/src/main/gen/de/platon42/intellij/plugins/m68k/lexer/_M68kLexer.java
index ffb3081..2aea6e4 100644
--- a/src/main/gen/de/platon42/intellij/plugins/m68k/lexer/_M68kLexer.java
+++ b/src/main/gen/de/platon42/intellij/plugins/m68k/lexer/_M68kLexer.java
@@ -137,12 +137,12 @@ public class _M68kLexer implements FlexLexer {
/* The ZZ_CMAP_A table has 3200 entries */
static final char ZZ_CMAP_A[] = zzUnpackCMap(
- "\11\0\1\4\1\2\2\1\1\3\22\0\1\4\1\63\1\53\1\57\1\24\1\40\1\70\1\52\1\61\1\62" +
- "\1\67\1\65\1\56\1\66\1\23\1\72\2\41\5\6\1\10\2\45\1\14\1\32\1\54\1\22\1\55" +
- "\1\0\1\50\1\5\1\75\1\26\1\7\1\15\6\11\1\37\1\25\1\31\1\30\1\73\1\16\1\27\1" +
- "\20\1\21\1\17\1\74\1\36\3\11\1\0\1\33\1\0\1\60\1\12\1\51\1\42\1\34\1\47\1" +
- "\43\1\46\1\44\5\11\1\37\1\25\1\31\1\30\1\73\1\16\1\27\1\35\1\21\1\17\1\74" +
- "\1\36\3\11\1\0\1\71\1\0\1\64\6\0\1\1\12\0\1\4\11\0\1\11\12\0\1\11\4\0\1\11" +
+ "\11\0\1\4\1\2\2\1\1\3\22\0\1\4\1\57\1\47\1\53\1\24\1\40\1\64\1\46\1\55\1\56" +
+ "\1\63\1\61\1\52\1\62\1\23\1\66\2\41\5\6\1\10\2\43\1\14\1\32\1\50\1\22\1\51" +
+ "\1\0\1\44\1\5\1\71\1\26\1\7\1\15\1\42\5\11\1\37\1\25\1\31\1\30\1\67\1\16\1" +
+ "\27\1\20\1\21\1\17\1\70\1\36\3\11\1\0\1\33\1\0\1\54\1\12\1\45\1\5\1\34\1\26" +
+ "\1\7\1\15\1\42\5\11\1\37\1\25\1\31\1\30\1\67\1\16\1\27\1\35\1\21\1\17\1\70" +
+ "\1\36\3\11\1\0\1\65\1\0\1\60\6\0\1\1\12\0\1\4\11\0\1\11\12\0\1\11\4\0\1\11" +
"\5\0\27\11\1\0\27\11\1\20\2\11\4\0\14\11\16\0\5\11\7\0\1\11\1\0\1\11\1\0\5" +
"\11\1\0\2\11\2\0\4\11\1\0\1\11\6\0\1\11\1\0\3\11\1\0\1\11\1\0\4\11\1\0\23" +
"\11\1\0\13\11\10\0\6\11\1\0\26\11\2\0\1\11\6\0\10\11\10\0\13\11\5\0\3\11\15" +
@@ -238,30 +238,30 @@ public class _M68kLexer implements FlexLexer {
private static final int[] ZZ_ROWMAP = zzUnpackRowMap();
private static final String ZZ_ROWMAP_PACKED_0 =
- "\0\0\0\76\0\174\0\272\0\370\0\u0136\0\u0174\0\u01b2" +
- "\0\u01f0\0\u022e\0\u026c\0\u02aa\0\u02e8\0\u0326\0\u0364\0\u03a2" +
- "\0\u03a2\0\u03e0\0\u041e\0\u045c\0\u049a\0\u04d8\0\u0516\0\u0554" +
- "\0\u0592\0\u05d0\0\u060e\0\u03a2\0\u064c\0\u068a\0\u06c8\0\u03a2" +
- "\0\u0706\0\u0744\0\u0782\0\u07c0\0\u07fe\0\u083c\0\u087a\0\u08b8" +
- "\0\u08f6\0\u0934\0\u0972\0\u09b0\0\u09ee\0\u0a2c\0\u0a6a\0\u0aa8" +
- "\0\u0ae6\0\u03a2\0\u03a2\0\u03a2\0\u03a2\0\u03a2\0\u03a2\0\u03a2" +
- "\0\u03a2\0\u03a2\0\u03a2\0\u0b24\0\u0b62\0\u0ba0\0\u03a2\0\u0bde" +
- "\0\u0c1c\0\u03a2\0\u03a2\0\u03a2\0\u03a2\0\u0c5a\0\u03a2\0\u03a2" +
- "\0\u03a2\0\u03a2\0\u0c98\0\u0cd6\0\u0d14\0\u0d52\0\u0d90\0\u03a2" +
- "\0\u0dce\0\u0e0c\0\u0e0c\0\u0e4a\0\u0e88\0\u0ec6\0\u0f04\0\u0f42" +
- "\0\u0f42\0\u03a2\0\u0f80\0\u0fbe\0\u0ffc\0\u103a\0\u1078\0\u1078" +
- "\0\u03a2\0\u10b6\0\u10f4\0\u0f42\0\u1132\0\u1170\0\u11ae\0\u11ec" +
- "\0\u122a\0\u1268\0\u12a6\0\u12e4\0\u1322\0\u1360\0\u03a2\0\u03a2" +
- "\0\u03a2\0\u08b8\0\u08b8\0\u08b8\0\u139e\0\u08b8\0\u0972\0\u13dc" +
- "\0\u09ee\0\u0a2c\0\u0a6a\0\u141a\0\u03a2\0\u0aa8\0\u1458\0\u0ae6" +
- "\0\u1496\0\u08b8\0\u14d4\0\u03a2\0\u03a2\0\u03a2\0\u03a2\0\u03a2" +
- "\0\u03a2\0\u03a2\0\u03a2\0\u1512\0\u1550\0\u158e\0\u15cc\0\u160a" +
- "\0\u1648\0\u1686\0\u16c4\0\u1702\0\u1740\0\u177e\0\u17bc\0\u17fa" +
- "\0\u1838\0\u1876\0\u18b4\0\u03a2\0\u03a2\0\u03a2\0\u03a2\0\u03a2" +
- "\0\u18f2\0\u08b8\0\u08b8\0\u08b8\0\u03a2\0\u1930\0\u03a2\0\u196e" +
- "\0\u19ac\0\u19ea\0\u1a28\0\u1a66\0\u1aa4\0\u1ae2\0\u1b20\0\u1b5e" +
- "\0\u1b9c\0\u1bda\0\u11ae\0\u1c18\0\u0554\0\u0fbe\0\u1c56\0\u1c94" +
- "\0\u1cd2";
+ "\0\0\0\72\0\164\0\256\0\350\0\u0122\0\u015c\0\u0196" +
+ "\0\u01d0\0\u020a\0\u0244\0\u027e\0\u02b8\0\u02f2\0\u032c\0\u0366" +
+ "\0\u0366\0\u03a0\0\u03da\0\u0414\0\u044e\0\u0488\0\u04c2\0\u04fc" +
+ "\0\u0536\0\u0570\0\u05aa\0\u0366\0\u05e4\0\u061e\0\u0658\0\u0366" +
+ "\0\u0692\0\u06cc\0\u0706\0\u0740\0\u077a\0\u07b4\0\u07ee\0\u0828" +
+ "\0\u0862\0\u089c\0\u08d6\0\u0910\0\u094a\0\u0984\0\u09be\0\u09f8" +
+ "\0\u0a32\0\u0366\0\u0366\0\u0366\0\u0366\0\u0366\0\u0366\0\u0366" +
+ "\0\u0366\0\u0366\0\u0366\0\u0a6c\0\u0aa6\0\u0ae0\0\u0366\0\u0b1a" +
+ "\0\u0b54\0\u0366\0\u0366\0\u0366\0\u0366\0\u0b8e\0\u0366\0\u0366" +
+ "\0\u0366\0\u0366\0\u0bc8\0\u0c02\0\u0c3c\0\u0c76\0\u0cb0\0\u0366" +
+ "\0\u0cea\0\u0d24\0\u0d24\0\u0d5e\0\u0d98\0\u0dd2\0\u0e0c\0\u0e46" +
+ "\0\u0e46\0\u0366\0\u0e80\0\u0eba\0\u0ef4\0\u0f2e\0\u0f68\0\u0f68" +
+ "\0\u0366\0\u0fa2\0\u0fdc\0\u0e46\0\u1016\0\u1050\0\u108a\0\u10c4" +
+ "\0\u10fe\0\u1138\0\u1172\0\u11ac\0\u11e6\0\u1220\0\u0366\0\u0366" +
+ "\0\u0366\0\u0828\0\u0828\0\u0828\0\u125a\0\u0828\0\u08d6\0\u1294" +
+ "\0\u094a\0\u0984\0\u09be\0\u12ce\0\u0366\0\u09f8\0\u1308\0\u0a32" +
+ "\0\u1342\0\u0828\0\u137c\0\u0366\0\u0366\0\u0366\0\u0366\0\u0366" +
+ "\0\u0366\0\u0366\0\u0366\0\u13b6\0\u13f0\0\u142a\0\u1464\0\u149e" +
+ "\0\u14d8\0\u1512\0\u154c\0\u1586\0\u15c0\0\u15fa\0\u1634\0\u166e" +
+ "\0\u16a8\0\u16e2\0\u171c\0\u0366\0\u0366\0\u0366\0\u0366\0\u0366" +
+ "\0\u1756\0\u0828\0\u0828\0\u0828\0\u0366\0\u1790\0\u0366\0\u17ca" +
+ "\0\u1804\0\u183e\0\u1878\0\u18b2\0\u18ec\0\u1926\0\u1960\0\u199a" +
+ "\0\u19d4\0\u1a0e\0\u108a\0\u1a48\0\u04fc\0\u0eba\0\u1a82\0\u1abc" +
+ "\0\u1af6";
private static int[] zzUnpackRowMap() {
int[] result = new int[185];
@@ -289,152 +289,146 @@ public class _M68kLexer implements FlexLexer {
private static final String ZZ_TRANS_PACKED_0 =
"\1\20\2\21\1\22\1\23\1\24\1\20\1\24\1\20" +
"\2\24\2\20\5\24\1\20\1\25\1\20\5\24\1\26" +
- "\1\20\4\24\2\20\3\24\1\20\2\24\7\20\1\26" +
- "\7\20\1\26\3\20\3\24\1\20\2\21\1\22\1\27" +
- "\1\30\1\20\1\30\1\20\1\30\1\31\2\20\5\30" +
- "\1\20\1\32\1\20\1\33\4\30\1\26\1\20\4\30" +
- "\2\20\3\30\1\20\2\30\7\20\1\26\7\20\1\26" +
- "\3\20\3\30\1\20\2\34\1\35\1\27\1\36\1\20" +
- "\1\36\1\20\1\36\1\37\1\20\1\40\5\36\3\20" +
- "\5\36\1\41\1\20\4\36\2\20\3\36\1\20\2\36" +
- "\23\20\3\36\1\20\2\34\1\35\1\42\16\20\1\43" +
- "\6\20\1\41\44\20\2\34\1\35\1\44\1\45\1\46" +
- "\1\47\1\46\2\50\2\20\2\50\1\51\1\52\1\50" +
- "\1\20\1\50\1\53\1\50\1\54\3\50\1\41\1\20" +
- "\1\50\1\52\2\50\1\55\1\46\1\45\1\47\1\50" +
- "\1\46\1\50\1\54\1\56\1\57\1\60\1\61\2\20" +
- "\1\62\1\63\1\64\1\65\1\66\1\67\1\70\1\71" +
- "\1\72\1\73\3\20\1\74\1\75\1\50\1\20\2\34" +
- "\1\35\1\44\15\20\1\76\1\43\6\20\1\41\5\20" +
- "\1\77\13\20\1\100\1\101\1\102\1\20\1\103\1\104" +
- "\1\105\1\106\1\107\1\110\1\111\1\112\1\113\1\114" +
- "\1\115\4\20\2\34\1\35\1\27\7\20\1\40\1\116" +
- "\2\20\1\117\1\20\1\120\7\20\1\41\2\20\1\117" +
- "\10\20\1\116\30\20\2\34\1\35\1\44\1\121\1\46" +
- "\1\121\1\46\2\121\2\20\5\121\1\20\1\121\1\53" +
- "\5\121\1\41\1\20\4\121\1\55\1\46\3\121\1\46" +
- "\2\121\1\56\1\57\1\60\1\61\2\20\1\62\1\20" +
+ "\1\20\4\24\2\20\1\24\10\20\1\26\7\20\1\26" +
+ "\3\20\3\24\1\20\2\21\1\22\1\27\1\30\1\20" +
+ "\1\30\1\20\1\30\1\31\2\20\5\30\1\20\1\32" +
+ "\1\20\1\33\4\30\1\26\1\20\4\30\2\20\1\30" +
+ "\10\20\1\26\7\20\1\26\3\20\3\30\1\20\2\34" +
+ "\1\35\1\27\1\36\1\20\1\36\1\20\1\36\1\37" +
+ "\1\20\1\40\5\36\3\20\5\36\1\41\1\20\4\36" +
+ "\2\20\1\36\24\20\3\36\1\20\2\34\1\35\1\42" +
+ "\16\20\1\43\6\20\1\41\40\20\2\34\1\35\1\44" +
+ "\1\45\1\46\1\47\1\46\2\50\2\20\2\50\1\51" +
+ "\1\52\1\50\1\20\1\50\1\53\1\50\1\54\3\50" +
+ "\1\41\1\20\1\50\1\52\2\50\1\55\1\46\1\50" +
+ "\1\46\1\56\1\57\1\60\1\61\2\20\1\62\1\63" +
"\1\64\1\65\1\66\1\67\1\70\1\71\1\72\1\73" +
- "\3\20\3\121\1\20\2\34\1\35\1\44\15\20\1\76" +
- "\7\20\1\41\5\20\1\77\13\20\1\100\1\101\1\102" +
- "\1\20\1\103\1\104\1\105\1\106\1\107\1\110\1\111" +
- "\1\112\1\113\1\114\1\115\3\20\1\122\1\123\1\34" +
- "\1\35\1\44\25\122\1\41\16\122\1\124\1\125\1\126" +
- "\1\127\1\122\1\62\17\122\1\130\1\131\1\34\1\35" +
- "\72\130\1\20\2\132\1\133\1\27\1\134\1\20\1\134" +
- "\1\20\2\134\2\20\5\134\3\20\1\135\4\134\1\136" +
- "\1\20\4\134\2\20\3\134\1\20\2\134\23\20\3\134" +
- "\1\137\1\140\1\141\1\142\1\143\25\137\1\136\43\137" +
- "\1\20\2\34\1\35\1\27\25\20\1\41\43\20\1\130" +
- "\1\144\1\141\1\142\72\130\100\0\1\21\77\0\1\23" +
- "\75\0\1\145\7\24\1\146\5\24\1\147\1\0\1\150" +
- "\5\24\2\0\4\24\1\0\7\24\23\0\3\24\5\0" +
- "\1\151\1\0\1\151\1\0\2\151\2\0\5\151\3\0" +
- "\5\151\2\0\4\151\2\0\3\151\1\0\2\151\23\0" +
- "\3\151\1\26\3\0\72\26\4\0\1\27\76\0\1\30" +
- "\1\31\1\30\1\31\1\30\2\31\1\152\5\30\1\0" +
- "\1\153\1\154\5\30\2\0\4\30\1\0\1\31\3\30" +
- "\1\31\2\30\23\0\3\30\5\0\7\31\1\152\5\31" +
- "\2\0\1\154\5\31\2\0\4\31\1\0\7\31\23\0" +
- "\3\31\5\0\1\155\1\0\1\155\1\0\2\155\2\0" +
- "\5\155\3\0\5\155\2\0\4\155\2\0\3\155\1\0" +
- "\2\155\23\0\3\155\5\0\1\156\1\31\1\30\1\31" +
- "\1\30\2\31\1\152\5\30\1\0\1\153\1\154\5\30" +
- "\2\0\4\30\1\0\1\31\1\156\2\30\1\31\2\30" +
- "\23\0\3\30\2\0\1\34\100\0\1\36\1\37\1\36" +
- "\1\37\1\36\2\37\1\0\5\36\1\0\1\153\1\0" +
- "\5\36\2\0\4\36\1\0\1\37\3\36\1\37\2\36" +
- "\23\0\3\36\5\0\7\37\1\0\5\37\3\0\5\37" +
- "\2\0\4\37\1\0\7\37\23\0\3\37\1\41\3\0" +
- "\72\41\4\0\1\42\125\0\2\157\1\160\1\161\42\0" +
- "\1\44\76\0\1\50\1\162\1\50\1\163\3\50\1\0" +
- "\5\50\2\0\6\50\2\0\4\50\1\0\1\162\6\50" +
- "\23\0\3\50\6\0\1\46\1\0\1\46\30\0\1\46" +
- "\3\0\1\46\35\0\1\50\1\164\1\50\1\164\3\50" +
- "\1\0\5\50\2\0\6\50\2\0\4\50\1\0\1\164" +
- "\6\50\23\0\3\50\5\0\7\50\1\0\5\50\2\0" +
- "\6\50\2\0\4\50\1\0\7\50\23\0\3\50\5\0" +
- "\7\50\1\0\3\50\1\165\1\50\2\0\6\50\2\0" +
- "\1\50\1\165\2\50\1\0\7\50\23\0\3\50\5\0" +
- "\7\50\1\0\5\50\2\0\3\50\1\166\2\50\2\0" +
- "\4\50\1\0\7\50\23\0\1\163\2\50\6\0\1\167" +
- "\1\0\1\167\23\0\1\167\4\0\7\167\33\0\7\50" +
- "\1\0\5\50\2\0\2\50\1\170\3\50\2\0\4\50" +
- "\1\0\6\50\1\170\23\0\3\50\41\0\1\171\42\0" +
- "\1\172\1\0\1\172\30\0\1\172\34\0\2\173\2\0" +
- "\27\173\1\174\15\173\1\175\24\173\2\176\2\0\27\176" +
- "\1\177\16\176\1\175\23\176\2\200\2\0\27\200\1\201" +
- "\17\200\1\175\22\200\5\0\7\50\1\0\5\50\2\0" +
- "\2\50\1\202\3\50\2\0\4\50\1\0\6\50\1\202" +
- "\23\0\3\50\5\0\7\50\1\0\5\50\2\0\6\50" +
- "\2\0\1\203\3\50\1\0\7\50\23\0\2\50\1\203" +
- "\22\0\1\204\75\0\1\205\31\0\1\206\1\207\42\0" +
- "\1\210\32\0\1\211\42\0\1\207\143\0\1\212\76\0" +
- "\1\213\76\0\1\77\21\0\1\214\74\0\1\215\30\0" +
- "\1\215\34\0\7\121\1\0\5\121\1\0\7\121\1\0" +
- "\5\121\1\0\7\121\23\0\3\121\2\122\3\0\25\122" +
- "\1\0\23\122\1\0\17\122\2\124\2\0\1\216\25\124" +
- "\1\216\1\217\15\124\1\122\4\124\1\216\17\124\2\125" +
- "\2\0\1\220\25\125\1\220\1\221\16\125\1\122\3\125" +
- "\1\220\17\125\2\126\2\0\1\222\25\126\1\222\1\223" +
- "\17\126\1\122\2\126\1\222\17\126\2\127\2\0\1\224" +
- "\25\127\1\224\1\225\21\127\1\122\1\224\17\127\2\130" +
- "\2\0\72\130\2\0\1\132\100\0\7\134\1\0\5\134" +
- "\3\0\5\134\2\0\4\134\1\0\7\134\23\0\3\134" +
- "\5\0\1\226\6\134\1\0\5\134\3\0\5\134\2\0" +
- "\4\134\1\0\1\134\1\226\5\134\23\0\3\134\1\136" +
- "\3\0\72\136\2\137\2\0\26\137\1\0\43\137\2\0" +
- "\1\141\73\0\2\137\2\0\1\143\10\137\1\227\14\137" +
- "\1\0\13\137\1\227\27\137\4\0\1\145\10\0\1\230" +
- "\2\0\1\231\1\0\1\147\2\0\1\232\7\0\1\231" +
- "\10\0\1\230\33\0\1\233\7\0\1\234\5\0\1\147" +
- "\57\0\1\147\105\0\1\235\66\0\7\151\1\235\5\151" +
- "\3\0\5\151\2\0\4\151\1\0\7\151\23\0\3\151" +
- "\14\0\1\236\61\0\1\237\3\0\72\237\14\0\1\240" +
- "\66\0\7\155\1\240\5\155\3\0\5\155\2\0\4\155" +
- "\1\0\7\155\23\0\3\155\5\0\1\30\1\31\1\30" +
- "\1\31\1\30\2\31\1\152\5\30\1\0\1\153\1\154" +
- "\1\30\1\241\3\30\2\0\4\30\1\0\1\31\3\30" +
- "\1\31\1\30\1\241\23\0\3\30\5\0\7\50\1\0" +
- "\5\50\2\0\6\50\2\0\4\50\1\0\7\50\23\0" +
- "\1\242\2\50\5\0\7\50\1\0\5\50\2\0\3\50" +
- "\1\243\2\50\2\0\4\50\1\0\7\50\23\0\3\50" +
- "\1\173\3\0\72\173\1\176\3\0\72\176\1\200\3\0" +
- "\72\200\5\0\7\50\1\0\5\50\2\0\3\50\1\244" +
- "\2\50\2\0\4\50\1\0\7\50\23\0\3\50\17\0" +
- "\1\245\77\0\1\245\54\0\2\216\2\0\27\216\1\246" +
- "\15\216\1\247\24\216\1\124\1\122\2\0\1\216\25\124" +
- "\1\216\23\124\1\216\17\124\2\220\2\0\27\220\1\250" +
- "\16\220\1\247\23\220\1\125\1\122\2\0\1\220\25\125" +
- "\1\220\23\125\1\220\17\125\2\222\2\0\27\222\1\251" +
- "\17\222\1\247\22\222\1\126\1\122\2\0\1\222\25\126" +
- "\1\222\23\126\1\222\17\126\2\224\2\0\27\224\1\252" +
- "\21\224\1\247\20\224\1\127\1\122\2\0\1\224\25\127" +
- "\1\224\23\127\1\224\17\127\5\0\7\134\1\0\5\134" +
- "\3\0\1\134\1\253\3\134\2\0\4\134\1\0\6\134" +
- "\1\253\23\0\3\134\2\137\2\0\25\137\1\254\1\0" +
- "\43\137\16\0\1\255\74\0\1\256\30\0\1\256\34\0" +
- "\1\257\34\0\1\257\37\0\1\233\10\0\1\230\2\0" +
- "\1\231\1\0\1\147\12\0\1\231\10\0\1\230\34\0" +
+ "\3\20\1\74\1\75\1\50\1\20\2\34\1\35\1\44" +
+ "\15\20\1\76\1\43\6\20\1\41\5\20\1\77\7\20" +
+ "\1\100\1\101\1\102\1\20\1\103\1\104\1\105\1\106" +
+ "\1\107\1\110\1\111\1\112\1\113\1\114\1\115\4\20" +
+ "\2\34\1\35\1\27\7\20\1\40\1\116\2\20\1\117" +
+ "\1\20\1\120\7\20\1\41\2\20\1\117\35\20\2\34" +
+ "\1\35\1\44\1\121\1\46\1\121\1\46\2\121\2\20" +
+ "\5\121\1\20\1\121\1\53\5\121\1\41\1\20\4\121" +
+ "\1\55\1\46\1\121\1\46\1\56\1\57\1\60\1\61" +
+ "\2\20\1\62\1\20\1\64\1\65\1\66\1\67\1\70" +
+ "\1\71\1\72\1\73\3\20\3\121\1\20\2\34\1\35" +
+ "\1\44\15\20\1\76\7\20\1\41\5\20\1\77\7\20" +
+ "\1\100\1\101\1\102\1\20\1\103\1\104\1\105\1\106" +
+ "\1\107\1\110\1\111\1\112\1\113\1\114\1\115\3\20" +
+ "\1\122\1\123\1\34\1\35\1\44\25\122\1\41\12\122" +
+ "\1\124\1\125\1\126\1\127\1\122\1\62\17\122\1\130" +
+ "\1\131\1\34\1\35\66\130\1\20\2\132\1\133\1\27" +
+ "\1\134\1\20\1\134\1\20\2\134\2\20\5\134\3\20" +
+ "\1\135\4\134\1\136\1\20\4\134\2\20\1\134\24\20" +
+ "\3\134\1\137\1\140\1\141\1\142\1\143\25\137\1\136" +
+ "\37\137\1\20\2\34\1\35\1\27\25\20\1\41\37\20" +
+ "\1\130\1\144\1\141\1\142\66\130\74\0\1\21\73\0" +
+ "\1\23\71\0\1\145\7\24\1\146\5\24\1\147\1\0" +
+ "\1\150\5\24\2\0\4\24\1\0\3\24\23\0\3\24" +
+ "\5\0\1\151\1\0\1\151\1\0\2\151\2\0\5\151" +
+ "\3\0\5\151\2\0\4\151\2\0\1\151\24\0\3\151" +
+ "\1\26\3\0\66\26\4\0\1\27\72\0\1\30\1\31" +
+ "\1\30\1\31\1\30\2\31\1\152\5\30\1\0\1\153" +
+ "\1\154\5\30\2\0\4\30\1\0\1\31\1\30\1\31" +
+ "\23\0\3\30\5\0\7\31\1\152\5\31\2\0\1\154" +
+ "\5\31\2\0\4\31\1\0\3\31\23\0\3\31\5\0" +
+ "\1\155\1\0\1\155\1\0\2\155\2\0\5\155\3\0" +
+ "\5\155\2\0\4\155\2\0\1\155\24\0\3\155\5\0" +
+ "\1\156\1\31\1\30\1\31\1\30\2\31\1\152\5\30" +
+ "\1\0\1\153\1\154\5\30\2\0\4\30\1\0\1\31" +
+ "\1\30\1\31\23\0\3\30\2\0\1\34\74\0\1\36" +
+ "\1\37\1\36\1\37\1\36\2\37\1\0\5\36\1\0" +
+ "\1\153\1\0\5\36\2\0\4\36\1\0\1\37\1\36" +
+ "\1\37\23\0\3\36\5\0\7\37\1\0\5\37\3\0" +
+ "\5\37\2\0\4\37\1\0\3\37\23\0\3\37\1\41" +
+ "\3\0\66\41\4\0\1\42\121\0\2\157\1\160\1\161" +
+ "\36\0\1\44\72\0\1\50\1\162\1\50\1\163\3\50" +
+ "\1\0\5\50\2\0\6\50\2\0\4\50\1\0\1\162" +
+ "\2\50\23\0\3\50\6\0\1\46\1\0\1\46\30\0" +
+ "\1\46\1\0\1\46\33\0\1\50\1\164\1\50\1\164" +
+ "\3\50\1\0\5\50\2\0\6\50\2\0\4\50\1\0" +
+ "\1\164\2\50\23\0\3\50\5\0\7\50\1\0\5\50" +
+ "\2\0\6\50\2\0\4\50\1\0\3\50\23\0\3\50" +
+ "\5\0\7\50\1\0\3\50\1\165\1\50\2\0\6\50" +
+ "\2\0\1\50\1\165\2\50\1\0\3\50\23\0\3\50" +
+ "\5\0\7\50\1\0\5\50\2\0\3\50\1\166\2\50" +
+ "\2\0\4\50\1\0\3\50\23\0\1\163\2\50\5\0" +
+ "\4\167\4\0\1\167\10\0\1\167\5\0\1\167\4\0" +
+ "\3\167\25\0\1\167\5\0\7\50\1\0\5\50\2\0" +
+ "\2\50\1\170\3\50\2\0\4\50\1\0\3\50\23\0" +
+ "\3\50\41\0\1\171\36\0\1\172\1\0\1\172\30\0" +
+ "\1\172\30\0\2\173\2\0\27\173\1\174\11\173\1\175" +
+ "\24\173\2\176\2\0\27\176\1\177\12\176\1\175\23\176" +
+ "\2\200\2\0\27\200\1\201\13\200\1\175\22\200\5\0" +
+ "\7\50\1\0\5\50\2\0\2\50\1\202\3\50\2\0" +
+ "\4\50\1\0\3\50\23\0\3\50\5\0\7\50\1\0" +
+ "\5\50\2\0\6\50\2\0\1\203\3\50\1\0\3\50" +
+ "\23\0\2\50\1\203\22\0\1\204\71\0\1\205\25\0" +
+ "\1\206\1\207\42\0\1\210\26\0\1\211\42\0\1\207" +
+ "\133\0\1\212\72\0\1\213\72\0\1\77\21\0\1\214" +
+ "\70\0\1\215\61\0\7\121\1\0\5\121\1\0\7\121" +
+ "\1\0\5\121\1\0\3\121\23\0\3\121\2\122\3\0" +
+ "\25\122\1\0\17\122\1\0\17\122\2\124\2\0\1\216" +
+ "\25\124\1\216\1\217\11\124\1\122\4\124\1\216\17\124" +
+ "\2\125\2\0\1\220\25\125\1\220\1\221\12\125\1\122" +
+ "\3\125\1\220\17\125\2\126\2\0\1\222\25\126\1\222" +
+ "\1\223\13\126\1\122\2\126\1\222\17\126\2\127\2\0" +
+ "\1\224\25\127\1\224\1\225\15\127\1\122\1\224\17\127" +
+ "\2\130\2\0\66\130\2\0\1\132\74\0\7\134\1\0" +
+ "\5\134\3\0\5\134\2\0\4\134\1\0\3\134\23\0" +
+ "\3\134\5\0\1\226\6\134\1\0\5\134\3\0\5\134" +
+ "\2\0\4\134\1\0\3\134\23\0\3\134\1\136\3\0" +
+ "\66\136\2\137\2\0\26\137\1\0\37\137\2\0\1\141" +
+ "\67\0\2\137\2\0\1\143\10\137\1\227\14\137\1\0" +
+ "\37\137\4\0\1\145\10\0\1\230\2\0\1\231\1\0" +
+ "\1\147\2\0\1\232\7\0\1\231\40\0\1\233\7\0" +
+ "\1\234\5\0\1\147\53\0\1\147\101\0\1\235\62\0" +
+ "\7\151\1\235\5\151\3\0\5\151\2\0\4\151\1\0" +
+ "\3\151\23\0\3\151\14\0\1\236\55\0\1\237\3\0" +
+ "\66\237\14\0\1\240\62\0\7\155\1\240\5\155\3\0" +
+ "\5\155\2\0\4\155\1\0\3\155\23\0\3\155\5\0" +
"\1\30\1\31\1\30\1\31\1\30\2\31\1\152\5\30" +
- "\1\0\1\153\1\154\2\30\1\260\2\30\2\0\4\30" +
- "\1\0\1\31\3\30\1\31\2\30\23\0\3\30\1\216" +
- "\3\0\72\216\1\220\3\0\72\220\1\222\3\0\72\222" +
- "\1\224\3\0\72\224\5\0\7\134\1\0\5\134\3\0" +
- "\2\134\1\261\2\134\2\0\4\134\1\0\7\134\23\0" +
- "\3\134\2\137\2\0\3\137\1\262\22\137\1\0\10\137" +
- "\1\262\32\137\17\0\1\263\77\0\1\263\102\0\1\264" +
- "\20\0\1\264\33\0\1\30\1\31\1\30\1\31\1\30" +
- "\2\31\1\152\5\30\1\0\1\153\1\154\3\30\1\265" +
- "\1\30\2\0\4\30\1\0\1\31\3\30\1\31\2\30" +
- "\23\0\3\30\5\0\7\134\1\0\5\134\3\0\3\134" +
- "\1\266\1\134\2\0\4\134\1\0\7\134\23\0\3\134" +
- "\2\137\2\0\21\137\1\267\4\137\1\0\43\137\27\0" +
- "\1\270\46\0\2\267\2\0\26\267\1\0\43\267\30\0" +
- "\1\271\51\0\1\271\71\0";
+ "\1\0\1\153\1\154\1\30\1\241\3\30\2\0\4\30" +
+ "\1\0\1\31\1\30\1\31\23\0\3\30\5\0\7\50" +
+ "\1\0\5\50\2\0\6\50\2\0\4\50\1\0\3\50" +
+ "\23\0\1\242\2\50\5\0\7\50\1\0\5\50\2\0" +
+ "\3\50\1\243\2\50\2\0\4\50\1\0\3\50\23\0" +
+ "\3\50\1\173\3\0\66\173\1\176\3\0\66\176\1\200" +
+ "\3\0\66\200\5\0\7\50\1\0\5\50\2\0\3\50" +
+ "\1\244\2\50\2\0\4\50\1\0\3\50\23\0\3\50" +
+ "\17\0\1\245\73\0\1\245\50\0\2\216\2\0\27\216" +
+ "\1\246\11\216\1\247\24\216\1\124\1\122\2\0\1\216" +
+ "\25\124\1\216\17\124\1\216\17\124\2\220\2\0\27\220" +
+ "\1\250\12\220\1\247\23\220\1\125\1\122\2\0\1\220" +
+ "\25\125\1\220\17\125\1\220\17\125\2\222\2\0\27\222" +
+ "\1\251\13\222\1\247\22\222\1\126\1\122\2\0\1\222" +
+ "\25\126\1\222\17\126\1\222\17\126\2\224\2\0\27\224" +
+ "\1\252\15\224\1\247\20\224\1\127\1\122\2\0\1\224" +
+ "\25\127\1\224\17\127\1\224\17\127\5\0\7\134\1\0" +
+ "\5\134\3\0\1\134\1\253\3\134\2\0\4\134\1\0" +
+ "\3\134\23\0\3\134\2\137\2\0\25\137\1\254\1\0" +
+ "\37\137\16\0\1\255\70\0\1\256\61\0\1\257\70\0" +
+ "\1\233\10\0\1\230\2\0\1\231\1\0\1\147\12\0" +
+ "\1\231\41\0\1\30\1\31\1\30\1\31\1\30\2\31" +
+ "\1\152\5\30\1\0\1\153\1\154\2\30\1\260\2\30" +
+ "\2\0\4\30\1\0\1\31\1\30\1\31\23\0\3\30" +
+ "\1\216\3\0\66\216\1\220\3\0\66\220\1\222\3\0" +
+ "\66\222\1\224\3\0\66\224\5\0\7\134\1\0\5\134" +
+ "\3\0\2\134\1\261\2\134\2\0\4\134\1\0\3\134" +
+ "\23\0\3\134\2\137\2\0\3\137\1\262\22\137\1\0" +
+ "\37\137\17\0\1\263\73\0\1\263\76\0\1\264\50\0" +
+ "\1\30\1\31\1\30\1\31\1\30\2\31\1\152\5\30" +
+ "\1\0\1\153\1\154\3\30\1\265\1\30\2\0\4\30" +
+ "\1\0\1\31\1\30\1\31\23\0\3\30\5\0\7\134" +
+ "\1\0\5\134\3\0\3\134\1\266\1\134\2\0\4\134" +
+ "\1\0\3\134\23\0\3\134\2\137\2\0\21\137\1\267" +
+ "\4\137\1\0\37\137\27\0\1\270\42\0\2\267\2\0" +
+ "\26\267\1\0\37\267\30\0\1\271\45\0\1\271\65\0";
private static int[] zzUnpackTrans() {
- int[] result = new int[7440];
+ int[] result = new int[6960];
int offset = 0;
offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result);
return result;
diff --git a/src/main/java/de/platon42/intellij/plugins/m68k/lexer/_M68kLexer.flex b/src/main/java/de/platon42/intellij/plugins/m68k/lexer/_M68kLexer.flex
index b0d474a..cb64bcf 100644
--- a/src/main/java/de/platon42/intellij/plugins/m68k/lexer/_M68kLexer.flex
+++ b/src/main/java/de/platon42/intellij/plugins/m68k/lexer/_M68kLexer.flex
@@ -62,7 +62,7 @@ OPSIZE_BS=(\.[bs])
OPSIZE_W=(\.w)
OPSIZE_L=(\.l)
BINARY=(%[01]+)
-HEXADECIMAL=(\$[0-9a-f]+)
+HEXADECIMAL=(\$[0-9a-fA-F]+)
OCTAL=(@[0-7]+)
DECIMAL=([0-9]+)
STRINGLIT=(`([^`\\\r\n]|\\.)*`|'([^'\\\r\n]|\\.)*'|\"([^\"\\\r\n]|\\.)*\")
diff --git a/src/test/java/de/platon42/intellij/plugins/m68k/parser/ExpressionsTest.kt b/src/test/java/de/platon42/intellij/plugins/m68k/parser/ExpressionsTest.kt
index e046434..b8775d6 100644
--- a/src/test/java/de/platon42/intellij/plugins/m68k/parser/ExpressionsTest.kt
+++ b/src/test/java/de/platon42/intellij/plugins/m68k/parser/ExpressionsTest.kt
@@ -48,6 +48,11 @@ internal class ExpressionsTest : AbstractParsingTest() {
testGoodSyntax(testCase, " dc.w *-.label\n")
}
+ @Test
+ internal fun uppercase_hexadecimal_string(@MyTestCase testCase: ParsingTestExtension.IParsingTestCase) {
+ testGoodSyntax(testCase, " move.l #\$DEADBEEF,d0\n")
+ }
+
@Test
internal fun if_with_single_equals_comparison(@MyTestCase testCase: ParsingTestExtension.IParsingTestCase) {
testGoodSyntax(testCase, " IF DEBUG=1\n")
diff --git a/src/test/resources/parser/expressions/uppercase_hexadecimal_string.txt b/src/test/resources/parser/expressions/uppercase_hexadecimal_string.txt
new file mode 100644
index 0000000..d175616
--- /dev/null
+++ b/src/test/resources/parser/expressions/uppercase_hexadecimal_string.txt
@@ -0,0 +1,18 @@
+Assembly File: a.asm
+ PsiWhiteSpace(' ')
+ M68kStatementImpl(STATEMENT)
+ M68kAsmInstructionImpl(ASM_INSTRUCTION)
+ M68kAsmOpImpl(ASM_OP)
+ PsiElement(M68kTokenType.MNEMONIC)('move')
+ M68kOperandSizeImpl(OPERAND_SIZE)
+ PsiElement(M68kTokenType.OPSIZE_L)('.l')
+ PsiWhiteSpace(' ')
+ M68kImmediateDataImpl(IMMEDIATE_DATA)
+ PsiElement(M68kTokenType.HASH)('#')
+ M68kLiteralExprImpl(LITERAL_EXPR)
+ PsiElement(M68kTokenType.HEXADECIMAL)('$DEADBEEF')
+ PsiElement(M68kTokenType.SEPARATOR)(',')
+ M68kDataRegisterDirectAddressingModeImpl(DATA_REGISTER_DIRECT_ADDRESSING_MODE)
+ M68kDataRegisterImpl(DATA_REGISTER)
+ PsiElement(M68kTokenType.DREG)('d0')
+ PsiElement(M68kTokenType.EOL)('\n')
\ No newline at end of file