Split up opsizes for better syntax highlighting. Fixed bug in macro-call lexer.

This commit is contained in:
Chris Hodges 2021-07-15 23:03:31 +02:00
parent beea9b2763
commit e33470ea1a
32 changed files with 286 additions and 269 deletions

View File

@ -131,56 +131,56 @@ 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\53\1\43\1\50\1\24\1\30\1\51\1\42\1\55\1\56" +
"\1\62\1\60\1\46\1\61\1\22\1\63\2\31\6\6\2\35\1\23\1\47\1\44\1\21\1\45\1\0" +
"\1\37\1\5\1\70\1\64\1\11\1\15\12\12\1\10\1\16\1\66\1\7\1\20\1\17\1\67\4\12" +
"\1\0\1\41\1\0\1\54\1\13\1\40\1\32\1\26\1\65\1\33\1\36\1\34\5\12\1\27\3\12" +
"\1\10\1\16\1\66\1\25\1\20\1\17\1\67\1\27\3\12\1\0\1\52\1\0\1\57\6\0\1\1\12" +
"\0\1\4\11\0\1\12\12\0\1\12\4\0\1\12\5\0\27\12\1\0\27\12\1\7\2\12\4\0\14\12" +
"\16\0\5\12\7\0\1\12\1\0\1\12\1\0\5\12\1\0\2\12\2\0\4\12\1\0\1\12\6\0\1\12" +
"\1\0\3\12\1\0\1\12\1\0\4\12\1\0\23\12\1\0\13\12\10\0\6\12\1\0\26\12\2\0\1" +
"\12\6\0\10\12\10\0\13\12\5\0\3\12\15\0\12\14\4\0\6\12\1\0\1\12\17\0\2\12\7" +
"\0\2\12\12\14\3\12\2\0\2\12\1\0\16\12\15\0\11\12\13\0\1\12\16\0\12\14\6\12" +
"\4\0\2\12\4\0\1\12\5\0\6\12\4\0\1\12\11\0\1\12\3\0\1\12\7\0\11\12\7\0\5\12" +
"\1\0\10\12\6\0\26\12\3\0\1\12\2\0\1\12\7\0\12\12\4\0\12\14\1\12\4\0\10\12" +
"\2\0\2\12\2\0\26\12\1\0\7\12\1\0\1\12\3\0\4\12\3\0\1\12\20\0\1\12\15\0\2\12" +
"\1\0\1\12\5\0\6\12\4\0\2\12\1\0\2\12\1\0\2\12\1\0\2\12\17\0\4\12\1\0\1\12" +
"\7\0\12\14\2\0\3\12\20\0\11\12\1\0\2\12\1\0\2\12\1\0\5\12\3\0\1\12\2\0\1\12" +
"\30\0\1\12\13\0\10\12\2\0\1\12\3\0\1\12\1\0\6\12\3\0\3\12\1\0\4\12\3\0\2\12" +
"\1\0\1\12\1\0\2\12\3\0\2\12\3\0\3\12\3\0\14\12\13\0\10\12\1\0\2\12\10\0\3" +
"\12\5\0\1\12\4\0\10\12\1\0\6\12\1\0\5\12\3\0\1\12\3\0\2\12\15\0\13\12\2\0" +
"\1\12\6\0\3\12\10\0\1\12\12\0\6\12\5\0\22\12\3\0\10\12\1\0\11\12\1\0\1\12" +
"\2\0\7\12\11\0\1\12\1\0\2\12\14\0\12\14\7\0\2\12\1\0\1\12\2\0\2\12\1\0\1\12" +
"\2\0\1\12\6\0\4\12\1\0\7\12\1\0\3\12\1\0\1\12\1\0\1\12\2\0\2\12\1\0\4\12\1" +
"\0\2\12\11\0\1\12\2\0\5\12\1\0\1\12\11\0\12\14\2\0\14\12\1\0\24\12\13\0\5" +
"\12\22\0\7\12\4\0\4\12\3\0\1\12\3\0\2\12\7\0\3\12\4\0\15\12\14\0\1\12\1\0" +
"\6\12\1\0\1\12\5\0\1\12\2\0\13\12\1\0\15\12\1\0\4\12\2\0\7\12\1\0\1\12\1\0" +
"\4\12\2\0\1\12\1\0\4\12\2\0\7\12\1\0\1\12\1\0\4\12\2\0\16\12\2\0\6\12\2\0" +
"\15\12\2\0\1\12\1\4\17\12\1\0\10\12\7\0\15\12\1\0\6\12\23\0\1\12\4\0\1\12" +
"\3\0\5\12\2\0\22\12\1\0\1\12\5\0\17\12\1\0\16\12\2\0\5\12\13\0\14\12\13\0" +
"\1\12\15\0\7\12\7\0\16\12\15\0\2\12\12\14\3\0\3\12\11\0\4\12\1\0\4\12\3\0" +
"\2\12\11\0\10\12\1\0\1\12\1\0\1\12\1\0\1\12\1\0\6\12\1\0\7\12\1\0\1\12\3\0" +
"\3\12\1\0\7\12\3\0\4\12\2\0\6\12\4\0\13\4\15\0\2\1\5\0\1\4\17\0\1\4\1\0\1" +
"\12\15\0\1\12\2\0\1\12\4\0\1\12\2\0\12\12\1\0\1\12\3\0\5\12\6\0\1\12\1\0\1" +
"\12\1\0\1\12\1\0\4\12\1\0\13\12\2\0\4\12\5\0\5\12\4\0\1\12\4\0\2\12\13\0\5" +
"\12\6\0\4\12\3\0\2\12\14\0\10\12\7\0\10\12\1\0\7\12\1\0\1\4\4\0\2\12\12\0" +
"\5\12\5\0\2\12\3\0\7\12\6\0\3\12\12\14\2\12\13\0\11\12\2\0\27\12\2\0\7\12" +
"\1\0\3\12\1\0\4\12\1\0\4\12\2\0\6\12\3\0\1\12\1\0\1\12\2\0\5\12\1\0\12\12" +
"\12\14\5\12\1\0\3\12\1\0\10\12\4\0\7\12\3\0\1\12\3\0\2\12\1\0\1\12\3\0\2\12" +
"\2\0\5\12\2\0\1\12\1\0\1\12\30\0\3\12\3\0\6\12\2\0\6\12\2\0\6\12\11\0\7\12" +
"\4\0\5\12\3\0\5\12\5\0\1\12\1\0\10\12\1\0\5\12\1\0\1\12\1\0\2\12\1\0\2\12" +
"\1\0\12\12\6\0\12\12\2\0\6\12\2\0\6\12\2\0\6\12\2\0\3\12\3\0\14\12\1\0\16" +
"\12\1\0\2\12\1\0\2\12\1\0\10\12\6\0\4\12\4\0\16\12\2\0\1\12\1\0\14\12\1\0" +
"\2\12\3\0\1\12\2\0\4\12\1\0\2\12\12\0\10\12\6\0\6\12\1\0\3\12\1\0\12\12\3" +
"\0\1\12\12\0\4\12\13\0\12\14\1\12\1\0\1\12\3\0\7\12\1\0\1\12\1\0\4\12\1\0" +
"\17\12\1\0\2\12\14\0\3\12\7\0\4\12\11\0\2\12\1\0\1\12\20\0\4\12\10\0\1\12" +
"\13\0\10\12\5\0\3\12\2\0\1\12\2\0\2\12\2\0\4\12\1\0\14\12\1\0\1\12\1\0\7\12" +
"\1\0\21\12\1\0\4\12\2\0\10\12\1\0\7\12\1\0\14\12\1\0\4\12\1\0\5\12\1\0\1\12" +
"\3\0\14\12\2\0\13\12\1\0\10\12\2\0\22\14\1\0\2\12\1\0\1\12\2\0\1\12\1\0\12" +
"\12\1\0\4\12\1\0\1\12\1\0\1\12\6\0\1\12\4\0\1\12\1\0\1\12\1\0\1\12\1\0\3\12" +
"\1\0\2\12\1\0\1\12\2\0\1\12\1\0\1\12\1\0\1\12\1\0\1\12\1\0\1\12\1\0\2\12\1" +
"\0\1\12\2\0\4\12\1\0\7\12\1\0\4\12\1\0\4\12\1\0\1\12\1\0\12\12\1\0\5\12\1" +
"\0\3\12\1\0\5\12\1\0\5\12");
"\11\0\1\4\1\2\2\1\1\3\22\0\1\4\1\54\1\44\1\51\1\24\1\31\1\52\1\43\1\56\1\57" +
"\1\63\1\61\1\47\1\62\1\22\1\64\2\32\6\6\2\36\1\23\1\50\1\45\1\21\1\46\1\0" +
"\1\40\1\5\1\71\1\65\1\11\1\15\6\12\1\30\3\12\1\10\1\16\1\67\1\7\1\20\1\17" +
"\1\70\1\27\3\12\1\0\1\42\1\0\1\55\1\13\1\41\1\33\1\26\1\66\1\34\1\37\1\35" +
"\5\12\1\30\3\12\1\10\1\16\1\67\1\25\1\20\1\17\1\70\1\27\3\12\1\0\1\53\1\0" +
"\1\60\6\0\1\1\12\0\1\4\11\0\1\12\12\0\1\12\4\0\1\12\5\0\27\12\1\0\27\12\1" +
"\7\2\12\4\0\14\12\16\0\5\12\7\0\1\12\1\0\1\12\1\0\5\12\1\0\2\12\2\0\4\12\1" +
"\0\1\12\6\0\1\12\1\0\3\12\1\0\1\12\1\0\4\12\1\0\23\12\1\0\13\12\10\0\6\12" +
"\1\0\26\12\2\0\1\12\6\0\10\12\10\0\13\12\5\0\3\12\15\0\12\14\4\0\6\12\1\0" +
"\1\12\17\0\2\12\7\0\2\12\12\14\3\12\2\0\2\12\1\0\16\12\15\0\11\12\13\0\1\12" +
"\16\0\12\14\6\12\4\0\2\12\4\0\1\12\5\0\6\12\4\0\1\12\11\0\1\12\3\0\1\12\7" +
"\0\11\12\7\0\5\12\1\0\10\12\6\0\26\12\3\0\1\12\2\0\1\12\7\0\12\12\4\0\12\14" +
"\1\12\4\0\10\12\2\0\2\12\2\0\26\12\1\0\7\12\1\0\1\12\3\0\4\12\3\0\1\12\20" +
"\0\1\12\15\0\2\12\1\0\1\12\5\0\6\12\4\0\2\12\1\0\2\12\1\0\2\12\1\0\2\12\17" +
"\0\4\12\1\0\1\12\7\0\12\14\2\0\3\12\20\0\11\12\1\0\2\12\1\0\2\12\1\0\5\12" +
"\3\0\1\12\2\0\1\12\30\0\1\12\13\0\10\12\2\0\1\12\3\0\1\12\1\0\6\12\3\0\3\12" +
"\1\0\4\12\3\0\2\12\1\0\1\12\1\0\2\12\3\0\2\12\3\0\3\12\3\0\14\12\13\0\10\12" +
"\1\0\2\12\10\0\3\12\5\0\1\12\4\0\10\12\1\0\6\12\1\0\5\12\3\0\1\12\3\0\2\12" +
"\15\0\13\12\2\0\1\12\6\0\3\12\10\0\1\12\12\0\6\12\5\0\22\12\3\0\10\12\1\0" +
"\11\12\1\0\1\12\2\0\7\12\11\0\1\12\1\0\2\12\14\0\12\14\7\0\2\12\1\0\1\12\2" +
"\0\2\12\1\0\1\12\2\0\1\12\6\0\4\12\1\0\7\12\1\0\3\12\1\0\1\12\1\0\1\12\2\0" +
"\2\12\1\0\4\12\1\0\2\12\11\0\1\12\2\0\5\12\1\0\1\12\11\0\12\14\2\0\14\12\1" +
"\0\24\12\13\0\5\12\22\0\7\12\4\0\4\12\3\0\1\12\3\0\2\12\7\0\3\12\4\0\15\12" +
"\14\0\1\12\1\0\6\12\1\0\1\12\5\0\1\12\2\0\13\12\1\0\15\12\1\0\4\12\2\0\7\12" +
"\1\0\1\12\1\0\4\12\2\0\1\12\1\0\4\12\2\0\7\12\1\0\1\12\1\0\4\12\2\0\16\12" +
"\2\0\6\12\2\0\15\12\2\0\1\12\1\4\17\12\1\0\10\12\7\0\15\12\1\0\6\12\23\0\1" +
"\12\4\0\1\12\3\0\5\12\2\0\22\12\1\0\1\12\5\0\17\12\1\0\16\12\2\0\5\12\13\0" +
"\14\12\13\0\1\12\15\0\7\12\7\0\16\12\15\0\2\12\12\14\3\0\3\12\11\0\4\12\1" +
"\0\4\12\3\0\2\12\11\0\10\12\1\0\1\12\1\0\1\12\1\0\1\12\1\0\6\12\1\0\7\12\1" +
"\0\1\12\3\0\3\12\1\0\7\12\3\0\4\12\2\0\6\12\4\0\13\4\15\0\2\1\5\0\1\4\17\0" +
"\1\4\1\0\1\12\15\0\1\12\2\0\1\12\4\0\1\12\2\0\12\12\1\0\1\12\3\0\5\12\6\0" +
"\1\12\1\0\1\12\1\0\1\12\1\0\4\12\1\0\13\12\2\0\4\12\5\0\5\12\4\0\1\12\4\0" +
"\2\12\13\0\5\12\6\0\4\12\3\0\2\12\14\0\10\12\7\0\10\12\1\0\7\12\1\0\1\4\4" +
"\0\2\12\12\0\5\12\5\0\2\12\3\0\7\12\6\0\3\12\12\14\2\12\13\0\11\12\2\0\27" +
"\12\2\0\7\12\1\0\3\12\1\0\4\12\1\0\4\12\2\0\6\12\3\0\1\12\1\0\1\12\2\0\5\12" +
"\1\0\12\12\12\14\5\12\1\0\3\12\1\0\10\12\4\0\7\12\3\0\1\12\3\0\2\12\1\0\1" +
"\12\3\0\2\12\2\0\5\12\2\0\1\12\1\0\1\12\30\0\3\12\3\0\6\12\2\0\6\12\2\0\6" +
"\12\11\0\7\12\4\0\5\12\3\0\5\12\5\0\1\12\1\0\10\12\1\0\5\12\1\0\1\12\1\0\2" +
"\12\1\0\2\12\1\0\12\12\6\0\12\12\2\0\6\12\2\0\6\12\2\0\6\12\2\0\3\12\3\0\14" +
"\12\1\0\16\12\1\0\2\12\1\0\2\12\1\0\10\12\6\0\4\12\4\0\16\12\2\0\1\12\1\0" +
"\14\12\1\0\2\12\3\0\1\12\2\0\4\12\1\0\2\12\12\0\10\12\6\0\6\12\1\0\3\12\1" +
"\0\12\12\3\0\1\12\12\0\4\12\13\0\12\14\1\12\1\0\1\12\3\0\7\12\1\0\1\12\1\0" +
"\4\12\1\0\17\12\1\0\2\12\14\0\3\12\7\0\4\12\11\0\2\12\1\0\1\12\20\0\4\12\10" +
"\0\1\12\13\0\10\12\5\0\3\12\2\0\1\12\2\0\2\12\2\0\4\12\1\0\14\12\1\0\1\12" +
"\1\0\7\12\1\0\21\12\1\0\4\12\2\0\10\12\1\0\7\12\1\0\14\12\1\0\4\12\1\0\5\12" +
"\1\0\1\12\3\0\14\12\2\0\13\12\1\0\10\12\2\0\22\14\1\0\2\12\1\0\1\12\2\0\1" +
"\12\1\0\12\12\1\0\4\12\1\0\1\12\1\0\1\12\6\0\1\12\4\0\1\12\1\0\1\12\1\0\1" +
"\12\1\0\3\12\1\0\2\12\1\0\1\12\2\0\1\12\1\0\1\12\1\0\1\12\1\0\1\12\1\0\1\12" +
"\1\0\2\12\1\0\1\12\2\0\4\12\1\0\7\12\1\0\4\12\1\0\4\12\1\0\1\12\1\0\12\12" +
"\1\0\5\12\1\0\3\12\1\0\5\12\1\0\5\12");
/**
* Translates DFA states to action switch labels.
@ -189,20 +189,20 @@ public class _M68kLexer implements FlexLexer {
private static final String ZZ_ACTION_PACKED_0 =
"\11\0\1\1\2\2\1\3\1\4\1\1\1\5\2\6" +
"\1\2\1\7\2\10\1\11\2\12\1\7\1\13\1\14" +
"\1\15\1\1\1\16\1\17\5\16\1\20\1\16\1\1" +
"\1\21\4\1\1\22\1\23\1\24\1\25\1\26\1\27" +
"\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\37" +
"\1\40\2\16\2\1\1\41\1\42\1\12\4\42\1\0" +
"\1\43\1\4\2\44\1\0\3\10\1\45\1\46\1\47" +
"\1\50\1\51\1\52\1\16\1\53\1\45\1\46\1\54" +
"\1\55\1\56\1\0\1\42\5\0\1\57\1\60\1\61" +
"\1\62\1\63\1\64\1\65\2\16\2\0\3\42\1\0" +
"\1\42\2\0\1\4\1\44\1\7\1\66\1\67\1\70" +
"\1\71\4\0";
"\1\2\1\7\1\10\1\1\1\11\2\12\1\7\1\10" +
"\1\13\1\14\1\1\1\15\1\16\5\15\1\17\1\15" +
"\1\1\1\20\4\1\1\21\1\22\1\23\1\24\1\25" +
"\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35" +
"\1\36\1\37\2\15\2\1\1\40\1\41\1\12\4\41" +
"\1\0\1\42\1\4\2\43\3\0\1\44\1\45\1\46" +
"\1\47\1\50\1\51\1\52\1\15\1\53\1\44\1\45" +
"\1\46\1\54\1\55\1\56\1\0\1\41\5\0\1\57" +
"\1\60\1\61\1\62\1\63\1\64\1\65\2\15\2\0" +
"\3\41\1\0\1\41\2\0\1\4\1\43\1\7\1\66" +
"\1\67\1\70\1\71\4\0";
private static int[] zzUnpackAction() {
int[] result = new int[129];
int[] result = new int[130];
int offset = 0;
offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result);
return result;
@ -227,26 +227,26 @@ public class _M68kLexer implements FlexLexer {
private static final int[] ZZ_ROWMAP = zzUnpackRowMap();
private static final String ZZ_ROWMAP_PACKED_0 =
"\0\0\0\71\0\162\0\253\0\344\0\u011d\0\u0156\0\u018f" +
"\0\u01c8\0\u0201\0\u0201\0\u023a\0\u0273\0\u02ac\0\u02e5\0\u031e" +
"\0\u0201\0\u0357\0\u0390\0\u03c9\0\u0402\0\u043b\0\u0474\0\u0201" +
"\0\u04ad\0\u04e6\0\u051f\0\u0558\0\u0591\0\u05ca\0\u0603\0\u063c" +
"\0\u0675\0\u06ae\0\u06e7\0\u0720\0\u0759\0\u0792\0\u07cb\0\u0804" +
"\0\u083d\0\u0876\0\u08af\0\u08e8\0\u0921\0\u095a\0\u0993\0\u0201" +
"\0\u0201\0\u09cc\0\u0a05\0\u0a3e\0\u0201\0\u0201\0\u0201\0\u0201" +
"\0\u0201\0\u0201\0\u0201\0\u0201\0\u0a77\0\u0ab0\0\u0ae9\0\u0b22" +
"\0\u0201\0\u0b5b\0\u0b5b\0\u0b94\0\u0bcd\0\u0c06\0\u0c3f\0\u0c78" +
"\0\u0cb1\0\u0cea\0\u0d23\0\u0d5c\0\u0d95\0\u0dce\0\u0e07\0\u0e40" +
"\0\u0201\0\u0201\0\u0720\0\u0720\0\u0720\0\u0720\0\u0e79\0\u0201" +
"\0\u0720\0\u0720\0\u0804\0\u083d\0\u0876\0\u08af\0\u0201\0\u0eb2" +
"\0\u08e8\0\u0eeb\0\u0921\0\u0f24\0\u0201\0\u0201\0\u0201\0\u0201" +
"\0\u0201\0\u0201\0\u0201\0\u0f5d\0\u0f96\0\u0fcf\0\u1008\0\u1041" +
"\0\u107a\0\u10b3\0\u10ec\0\u1125\0\u115e\0\u1197\0\u0201\0\u0201" +
"\0\u0201\0\u0720\0\u0720\0\u0720\0\u0201\0\u11d0\0\u1209\0\u1242" +
"\0\u0cb1";
"\0\0\0\72\0\164\0\256\0\350\0\u0122\0\u015c\0\u0196" +
"\0\u01d0\0\u020a\0\u020a\0\u0244\0\u027e\0\u02b8\0\u02f2\0\u032c" +
"\0\u020a\0\u0366\0\u03a0\0\u03da\0\u0414\0\u044e\0\u0488\0\u020a" +
"\0\u04c2\0\u04fc\0\u0536\0\u0570\0\u05aa\0\u05e4\0\u061e\0\u0658" +
"\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\u020a" +
"\0\u020a\0\u09f8\0\u0a32\0\u0a6c\0\u020a\0\u020a\0\u020a\0\u020a" +
"\0\u020a\0\u020a\0\u020a\0\u020a\0\u0aa6\0\u0ae0\0\u0b1a\0\u0b54" +
"\0\u020a\0\u0b8e\0\u0b8e\0\u0bc8\0\u0c02\0\u0c3c\0\u0c76\0\u0cb0" +
"\0\u0cea\0\u0d24\0\u0d5e\0\u0d98\0\u0dd2\0\u0d5e\0\u0e0c\0\u020a" +
"\0\u020a\0\u020a\0\u0740\0\u0740\0\u0740\0\u0740\0\u0e46\0\u020a" +
"\0\u0740\0\u0740\0\u0740\0\u0828\0\u0862\0\u089c\0\u08d6\0\u020a" +
"\0\u0e80\0\u0910\0\u0eba\0\u094a\0\u0ef4\0\u020a\0\u020a\0\u020a" +
"\0\u020a\0\u020a\0\u020a\0\u020a\0\u0f2e\0\u0f68\0\u0fa2\0\u0fdc" +
"\0\u1016\0\u1050\0\u108a\0\u10c4\0\u10fe\0\u1138\0\u1172\0\u020a" +
"\0\u020a\0\u020a\0\u0740\0\u0740\0\u0740\0\u020a\0\u11ac\0\u11e6" +
"\0\u1220\0\u0cea";
private static int[] zzUnpackRowMap() {
int[] result = new int[129];
int[] result = new int[130];
int offset = 0;
offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result);
return result;
@ -270,91 +270,89 @@ public class _M68kLexer implements FlexLexer {
private static final String ZZ_TRANS_PACKED_0 =
"\1\12\2\13\1\14\1\15\1\16\1\12\5\16\1\12" +
"\4\16\1\12\1\17\2\12\3\16\2\12\3\16\1\12" +
"\4\16\1\12\1\17\2\12\4\16\2\12\3\16\1\12" +
"\1\16\10\12\2\20\11\12\1\20\1\12\5\16\1\12" +
"\2\21\1\22\1\23\1\24\1\12\4\24\1\25\1\12" +
"\4\24\1\12\1\26\2\12\3\24\2\12\3\24\1\12" +
"\4\24\1\12\1\26\2\12\4\24\2\12\3\24\1\12" +
"\1\24\10\12\2\27\11\12\1\27\1\12\5\24\1\12" +
"\2\30\1\31\1\23\1\32\1\12\4\32\1\33\1\12" +
"\4\32\1\12\1\33\2\12\3\32\2\12\3\32\1\12" +
"\1\32\10\12\1\34\14\12\5\32\1\12\2\30\1\31" +
"\1\35\15\12\1\36\24\12\1\34\22\12\2\30\1\31" +
"\1\23\1\37\1\40\1\41\1\42\1\43\2\44\1\12" +
"\2\44\1\45\1\44\1\46\1\47\1\12\1\50\1\41" +
"\2\44\1\51\1\40\1\37\1\43\1\44\1\40\1\44" +
"\1\52\1\53\1\12\1\54\1\55\1\56\1\57\1\60" +
"\1\34\1\61\1\62\1\63\1\64\1\65\1\66\1\67" +
"\1\70\1\71\1\72\1\73\1\74\2\75\1\44\1\76" +
"\1\44\1\12\2\30\1\31\1\23\2\12\1\77\5\12" +
"\1\100\3\12\1\101\3\12\1\77\10\12\1\100\10\12" +
"\1\34\22\12\2\30\1\31\1\23\1\44\1\40\5\44" +
"\1\12\4\44\1\46\1\44\1\12\1\50\3\44\1\51" +
"\1\40\3\44\1\40\1\44\1\52\1\53\1\12\1\54" +
"\1\55\1\56\1\57\1\60\1\34\1\12\1\62\1\63" +
"\1\64\1\65\1\66\1\67\1\70\1\71\1\72\1\73" +
"\1\74\5\44\1\102\1\103\1\30\1\31\1\23\33\102" +
"\1\104\1\102\1\105\1\106\1\107\1\102\1\60\1\34" +
"\21\102\1\12\2\30\1\31\65\12\73\0\1\13\72\0" +
"\1\15\70\0\1\110\14\16\1\111\1\0\1\112\1\113" +
"\3\16\1\0\6\16\25\0\5\16\5\0\1\114\1\0" +
"\5\114\1\0\4\114\4\0\3\114\2\0\3\114\1\0" +
"\1\114\25\0\5\114\1\20\3\0\65\20\2\0\1\21" +
"\72\0\1\23\71\0\1\24\1\25\4\24\2\25\4\24" +
"\1\0\1\115\1\112\1\116\3\24\1\0\1\25\3\24" +
"\1\25\1\24\25\0\5\24\5\0\14\25\2\0\1\112" +
"\1\116\3\25\1\0\6\25\25\0\5\25\5\0\1\117" +
"\1\120\5\117\1\120\4\117\3\0\1\120\3\117\1\0" +
"\1\120\3\117\1\120\1\117\25\0\5\117\1\27\3\0" +
"\65\27\2\0\1\30\73\0\1\32\1\33\4\32\2\33" +
"\4\32\1\0\1\115\1\0\1\33\3\32\1\0\1\33" +
"\3\32\1\33\1\32\25\0\5\32\5\0\14\33\3\0" +
"\4\33\1\0\6\33\25\0\5\33\1\34\3\0\65\34" +
"\4\0\1\35\111\0\2\121\1\122\46\0\1\44\1\123" +
"\12\44\3\0\4\44\1\0\1\123\5\44\25\0\5\44" +
"\6\0\1\40\22\0\1\40\3\0\1\40\40\0\3\44" +
"\1\123\10\44\3\0\4\44\1\0\6\44\25\0\2\44" +
"\1\124\2\44\5\0\14\44\3\0\4\44\1\0\6\44" +
"\25\0\2\125\3\44\5\0\1\44\1\126\12\44\3\0" +
"\4\44\1\0\1\126\5\44\25\0\5\44\5\0\14\44" +
"\3\0\4\44\1\0\6\44\25\0\5\44\5\0\2\44" +
"\1\127\11\44\3\0\1\44\1\127\2\44\1\0\6\44" +
"\25\0\5\44\21\0\1\130\54\0\14\44\3\0\1\44" +
"\2\131\1\132\1\0\6\44\25\0\5\44\6\0\1\133" +
"\17\0\1\133\2\0\6\133\26\0\1\133\34\0\1\134" +
"\45\0\1\135\22\0\1\135\37\0\40\136\1\137\1\140" +
"\27\136\41\141\1\142\1\137\26\141\41\143\1\144\1\143" +
"\1\137\25\143\21\0\1\145\22\0\1\146\1\147\44\0" +
"\1\150\23\0\1\151\74\0\1\152\71\0\1\153\37\0" +
"\1\147\54\0\14\44\3\0\4\44\1\0\6\44\25\0" +
"\2\154\3\44\5\0\14\44\3\0\2\44\1\155\1\44" +
"\1\0\6\44\25\0\4\44\1\155\15\0\1\156\20\0" +
"\1\156\50\0\1\157\52\0\2\102\3\0\41\102\2\0" +
"\21\102\2\104\3\136\33\104\1\102\1\160\4\104\2\136" +
"\21\104\2\105\3\141\34\105\1\161\1\102\3\105\2\141" +
"\21\105\2\106\3\143\34\106\1\162\1\106\1\102\2\106" +
"\2\143\21\106\2\107\3\163\34\107\1\164\3\107\1\102" +
"\2\163\21\107\4\0\1\110\2\0\1\165\5\0\1\166" +
"\3\0\1\111\3\0\1\165\10\0\1\166\36\0\1\111" +
"\107\0\1\167\70\0\1\170\52\0\14\114\2\0\1\170" +
"\1\0\3\114\1\0\6\114\25\0\5\114\1\171\3\0" +
"\65\171\5\0\14\120\2\0\1\170\4\120\1\0\6\120" +
"\25\0\5\120\5\0\14\117\2\0\1\170\1\120\3\117" +
"\1\0\6\117\25\0\5\117\5\0\14\120\3\0\4\120" +
"\1\0\6\120\25\0\5\120\5\0\3\44\1\172\10\44" +
"\3\0\4\44\1\0\6\44\25\0\5\44\1\136\3\0" +
"\65\136\1\141\3\0\65\141\1\143\3\0\65\143\5\0" +
"\14\44\3\0\4\44\1\0\6\44\25\0\2\44\1\173" +
"\2\44\5\0\14\44\3\0\4\44\1\0\6\44\25\0" +
"\2\44\1\174\2\44\20\0\1\175\67\0\1\175\51\0" +
"\1\104\1\102\2\0\1\136\41\104\2\136\21\104\1\105" +
"\1\102\2\0\1\141\41\105\2\141\21\105\1\106\1\102" +
"\2\0\1\143\41\106\2\143\21\106\41\163\1\176\3\163" +
"\1\137\23\163\1\107\1\102\2\0\1\163\41\107\2\163" +
"\21\107\15\0\1\177\20\0\1\177\50\0\1\200\52\0" +
"\1\163\3\0\65\163\20\0\1\201\67\0\1\201\51\0";
"\4\32\4\12\4\32\2\12\3\32\1\12\1\32\10\12" +
"\1\34\14\12\5\32\1\12\2\30\1\31\1\35\15\12" +
"\1\36\25\12\1\34\22\12\2\30\1\31\1\23\1\37" +
"\1\40\1\41\1\42\1\43\2\44\1\12\2\44\1\45" +
"\1\44\1\46\1\47\1\12\1\50\1\41\3\44\1\51" +
"\1\40\1\37\1\43\1\44\1\40\1\44\1\52\1\53" +
"\1\12\1\54\1\55\1\56\1\57\1\60\1\34\1\61" +
"\1\62\1\63\1\64\1\65\1\66\1\67\1\70\1\71" +
"\1\72\1\73\1\74\2\75\1\44\1\76\1\44\1\12" +
"\2\30\1\31\1\23\2\12\1\77\5\12\1\100\3\12" +
"\1\101\3\12\1\77\11\12\1\100\10\12\1\34\22\12" +
"\2\30\1\31\1\23\1\44\1\40\5\44\1\12\4\44" +
"\1\46\1\44\1\12\1\50\4\44\1\51\1\40\3\44" +
"\1\40\1\44\1\52\1\53\1\12\1\54\1\55\1\56" +
"\1\57\1\60\1\34\1\12\1\62\1\63\1\64\1\65" +
"\1\66\1\67\1\70\1\71\1\72\1\73\1\74\5\44" +
"\1\102\1\103\1\30\1\31\1\23\34\102\1\104\1\102" +
"\1\105\1\106\1\107\1\102\1\60\1\34\21\102\1\12" +
"\2\30\1\31\66\12\74\0\1\13\73\0\1\15\71\0" +
"\1\110\14\16\1\111\1\0\1\112\1\113\4\16\1\0" +
"\6\16\25\0\5\16\5\0\1\114\1\0\5\114\1\0" +
"\4\114\4\0\4\114\2\0\3\114\1\0\1\114\25\0" +
"\5\114\1\20\3\0\66\20\2\0\1\21\73\0\1\23" +
"\72\0\1\24\1\25\4\24\2\25\4\24\1\0\1\115" +
"\1\112\1\116\4\24\1\0\1\25\3\24\1\25\1\24" +
"\25\0\5\24\5\0\14\25\2\0\1\112\1\116\4\25" +
"\1\0\6\25\25\0\5\25\5\0\1\117\1\0\5\117" +
"\1\0\4\117\4\0\4\117\2\0\3\117\1\0\1\117" +
"\25\0\5\117\1\27\3\0\66\27\2\0\1\30\74\0" +
"\1\32\1\33\4\32\2\33\4\32\1\0\1\115\2\0" +
"\4\32\1\0\1\33\3\32\1\33\1\32\25\0\5\32" +
"\5\0\14\33\4\0\4\33\1\0\6\33\25\0\5\33" +
"\1\34\3\0\66\34\4\0\1\35\112\0\2\120\1\121" +
"\1\122\46\0\1\44\1\123\12\44\3\0\5\44\1\0" +
"\1\123\5\44\25\0\5\44\6\0\1\40\23\0\1\40" +
"\3\0\1\40\40\0\3\44\1\123\10\44\3\0\5\44" +
"\1\0\6\44\25\0\2\44\1\124\2\44\5\0\14\44" +
"\3\0\5\44\1\0\6\44\25\0\2\125\3\44\5\0" +
"\1\44\1\126\12\44\3\0\5\44\1\0\1\126\5\44" +
"\25\0\5\44\5\0\14\44\3\0\5\44\1\0\6\44" +
"\25\0\5\44\5\0\2\44\1\127\11\44\3\0\1\44" +
"\1\127\3\44\1\0\6\44\25\0\5\44\21\0\1\130" +
"\55\0\14\44\3\0\1\44\2\131\1\132\1\133\1\0" +
"\6\44\25\0\5\44\6\0\1\134\17\0\1\134\3\0" +
"\6\134\26\0\1\134\35\0\1\135\45\0\1\136\23\0" +
"\1\136\37\0\41\137\1\140\1\141\27\137\42\142\1\143" +
"\1\140\26\142\42\144\1\145\1\144\1\140\25\144\21\0" +
"\1\146\23\0\1\147\1\150\44\0\1\151\24\0\1\152" +
"\75\0\1\153\72\0\1\154\37\0\1\150\55\0\14\44" +
"\3\0\5\44\1\0\6\44\25\0\2\155\3\44\5\0" +
"\14\44\3\0\2\44\1\156\2\44\1\0\6\44\25\0" +
"\4\44\1\156\15\0\1\157\21\0\1\157\50\0\1\160" +
"\53\0\2\102\3\0\42\102\2\0\21\102\2\104\3\137" +
"\34\104\1\102\1\161\4\104\2\137\21\104\2\105\3\142" +
"\35\105\1\162\1\102\3\105\2\142\21\105\2\106\3\144" +
"\35\106\1\163\1\106\1\102\2\106\2\144\21\106\2\107" +
"\3\164\35\107\1\165\3\107\1\102\2\164\21\107\4\0" +
"\1\110\2\0\1\166\5\0\1\167\3\0\1\111\3\0" +
"\1\166\11\0\1\167\36\0\1\111\110\0\1\170\71\0" +
"\1\171\53\0\14\114\2\0\1\171\1\0\4\114\1\0" +
"\6\114\25\0\5\114\1\172\3\0\66\172\5\0\14\117" +
"\2\0\1\171\1\0\4\117\1\0\6\117\25\0\5\117" +
"\5\0\3\44\1\173\10\44\3\0\5\44\1\0\6\44" +
"\25\0\5\44\1\137\3\0\66\137\1\142\3\0\66\142" +
"\1\144\3\0\66\144\5\0\14\44\3\0\5\44\1\0" +
"\6\44\25\0\2\44\1\174\2\44\5\0\14\44\3\0" +
"\5\44\1\0\6\44\25\0\2\44\1\175\2\44\20\0" +
"\1\176\70\0\1\176\52\0\1\104\1\102\2\0\1\137" +
"\42\104\2\137\21\104\1\105\1\102\2\0\1\142\42\105" +
"\2\142\21\105\1\106\1\102\2\0\1\144\42\106\2\144" +
"\21\106\42\164\1\177\3\164\1\140\23\164\1\107\1\102" +
"\2\0\1\164\42\107\2\164\21\107\15\0\1\200\21\0" +
"\1\200\50\0\1\201\53\0\1\164\3\0\66\164\20\0" +
"\1\202\70\0\1\202\52\0";
private static int[] zzUnpackTrans() {
int[] result = new int[4731];
int[] result = new int[4698];
int offset = 0;
offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result);
return result;
@ -393,13 +391,13 @@ public class _M68kLexer implements FlexLexer {
private static final String ZZ_ATTRIBUTE_PACKED_0 =
"\11\0\2\11\5\1\1\11\6\1\1\11\27\1\2\11" +
"\3\1\10\11\4\1\1\11\6\1\1\0\4\1\1\0" +
"\3\1\2\11\5\1\1\11\5\1\1\0\1\11\5\0" +
"\7\11\2\1\2\0\3\1\1\0\1\1\2\0\3\11" +
"\3\1\1\11\4\0";
"\3\1\10\11\4\1\1\11\6\1\1\0\4\1\3\0" +
"\3\11\5\1\1\11\6\1\1\0\1\11\5\0\7\11" +
"\2\1\2\0\3\1\1\0\1\1\2\0\3\11\3\1" +
"\1\11\4\0";
private static int[] zzUnpackAttribute() {
int[] result = new int[129];
int[] result = new int[130];
int offset = 0;
offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result);
return result;
@ -783,7 +781,7 @@ public class _M68kLexer implements FlexLexer {
break;
case 8: {
yybegin(MACROCALL);
return SYMBOL;
return MACRO_INVOKATION;
}
// fall through
case 65:
@ -803,176 +801,175 @@ public class _M68kLexer implements FlexLexer {
case 67:
break;
case 11: {
yybegin(MACROCALL);
return MACRO_INVOKATION;
yybegin(WAITEOL);
return COMMENT;
}
// fall through
case 68:
break;
case 12: {
yybegin(WAITEOL);
return COMMENT;
yybegin(ASMOPS);
return WHITE_SPACE;
}
// fall through
case 69:
break;
case 13: {
yybegin(ASMOPS);
return WHITE_SPACE;
return SYMBOL;
}
// fall through
case 70:
break;
case 14: {
return SYMBOL;
return DECIMAL;
}
// fall through
case 71:
break;
case 15: {
return DECIMAL;
return OP_ASSIGN;
}
// fall through
case 72:
break;
case 16: {
return OP_ASSIGN;
return OP_AR_MOD;
}
// fall through
case 73:
break;
case 17: {
return OP_AR_MOD;
return OP_CMP_LT;
}
// fall through
case 74:
break;
case 18: {
return OP_CMP_LT;
return OP_CMP_GT;
}
// fall through
case 75:
break;
case 19: {
return OP_CMP_GT;
return SEPARATOR;
}
// fall through
case 76:
break;
case 20: {
return SEPARATOR;
return HASH;
}
// fall through
case 77:
break;
case 21: {
return HASH;
return OP_BITWISE_AND;
}
// fall through
case 78:
break;
case 22: {
return OP_BITWISE_AND;
return OP_BITWISE_OR;
}
// fall through
case 79:
break;
case 23: {
return OP_BITWISE_OR;
return OP_UNARY_NOT;
}
// fall through
case 80:
break;
case 24: {
return OP_UNARY_NOT;
return OP_BITWISE_XOR;
}
// fall through
case 81:
break;
case 25: {
return OP_BITWISE_XOR;
return ROUND_L;
}
// fall through
case 82:
break;
case 26: {
return ROUND_L;
return ROUND_R;
}
// fall through
case 83:
break;
case 27: {
return ROUND_R;
return OP_UNARY_COMPL;
}
// fall through
case 84:
break;
case 28: {
return OP_UNARY_COMPL;
return OP_PLUS;
}
// fall through
case 85:
break;
case 29: {
return OP_PLUS;
return OP_MINUS;
}
// fall through
case 86:
break;
case 30: {
return OP_MINUS;
return OP_AR_MUL;
}
// fall through
case 87:
break;
case 31: {
return OP_AR_MUL;
return OP_AR_DIV;
}
// fall through
case 88:
break;
case 32: {
return OP_AR_DIV;
yybegin(EXPR);
return OP_ASSIGN;
}
// fall through
case 89:
break;
case 33: {
yybegin(EXPR);
return OP_ASSIGN;
return STRINGLIT;
}
// fall through
case 90:
break;
case 34: {
return STRINGLIT;
}
// fall through
case 91:
break;
case 35: {
yybegin(ASSIGNMENT);
yypushback(pushbackAssignment(yytext()));
return SYMBOLDEF;
}
// fall through
case 91:
break;
case 35: {
yybegin(INSTRPART);
return LOCAL_LABEL_DEF;
}
// fall through
case 92:
break;
case 36: {
yybegin(INSTRPART);
return LOCAL_LABEL_DEF;
return OPSIZE_BS;
}
// fall through
case 93:
break;
case 37: {
return OPSIZE_BS;
return OPSIZE_W;
}
// fall through
case 94:
break;
case 38: {
return OPSIZE_WL;
return OPSIZE_L;
}
// fall through
case 95:

View File

@ -285,14 +285,15 @@ public class M68kParser implements PsiParser, LightPsiParser {
}
/* ********************************************************** */
// OPSIZE_WL
// OPSIZE_W|OPSIZE_L
public static boolean AddressSize(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "AddressSize")) return false;
if (!nextTokenIs(b, OPSIZE_WL)) return false;
if (!nextTokenIs(b, "<address size>", OPSIZE_L, OPSIZE_W)) return false;
boolean r;
Marker m = enter_section_(b);
r = consumeToken(b, OPSIZE_WL);
exit_section_(b, m, ADDRESS_SIZE, r);
Marker m = enter_section_(b, l, _NONE_, ADDRESS_SIZE, "<address size>");
r = consumeToken(b, OPSIZE_W);
if (!r) r = consumeToken(b, OPSIZE_L);
exit_section_(b, l, m, r, false, null);
return r;
}
@ -490,14 +491,15 @@ public class M68kParser implements PsiParser, LightPsiParser {
}
/* ********************************************************** */
// OPSIZE_WL
// OPSIZE_W|OPSIZE_L
public static boolean DataWidth(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "DataWidth")) return false;
if (!nextTokenIs(b, OPSIZE_WL)) return false;
if (!nextTokenIs(b, "<data width>", OPSIZE_L, OPSIZE_W)) return false;
boolean r;
Marker m = enter_section_(b);
r = consumeToken(b, OPSIZE_WL);
exit_section_(b, m, DATA_WIDTH, r);
Marker m = enter_section_(b, l, _NONE_, DATA_WIDTH, "<data width>");
r = consumeToken(b, OPSIZE_W);
if (!r) r = consumeToken(b, OPSIZE_L);
exit_section_(b, l, m, r, false, null);
return r;
}
@ -631,14 +633,14 @@ public class M68kParser implements PsiParser, LightPsiParser {
}
/* ********************************************************** */
// OPSIZE_BS|OPSIZE_WL
// OPSIZE_BS|OPSIZE_W|OPSIZE_L
public static boolean OperandSize(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "OperandSize")) return false;
if (!nextTokenIs(b, "<operand size>", OPSIZE_BS, OPSIZE_WL)) return false;
boolean r;
Marker m = enter_section_(b, l, _NONE_, OPERAND_SIZE, "<operand size>");
r = consumeToken(b, OPSIZE_BS);
if (!r) r = consumeToken(b, OPSIZE_WL);
if (!r) r = consumeToken(b, OPSIZE_W);
if (!r) r = consumeToken(b, OPSIZE_L);
exit_section_(b, l, m, r, false, null);
return r;
}

View File

@ -85,7 +85,8 @@ public interface M68kTypes {
IElementType MNEMONIC = new M68kTokenType("MNEMONIC");
IElementType OCTAL = new M68kTokenType("OCTAL");
IElementType OPSIZE_BS = new M68kTokenType("OPSIZE_BS");
IElementType OPSIZE_WL = new M68kTokenType("OPSIZE_WL");
IElementType OPSIZE_L = new M68kTokenType("OPSIZE_L");
IElementType OPSIZE_W = new M68kTokenType("OPSIZE_W");
IElementType OP_AR_DIV = new M68kTokenType("OP_AR_DIV");
IElementType OP_AR_MOD = new M68kTokenType("OP_AR_MOD");
IElementType OP_AR_MUL = new M68kTokenType("OP_AR_MUL");

View File

@ -34,10 +34,12 @@ LOCAL_LABEL_WC=(\.([:letter:]|_)(([:letter:]|[:digit:])|_)*:)|(([:letter:]|_)(([
GLOBAL_LABEL=(([:letter:]|_)(([:letter:]|[:digit:])|_)*:?:?)
GLOBAL_LABEL_WC=(([:letter:]|_)(([:letter:]|[:digit:])|_)*::?)
//MNEMONIC=(([:letter:])+)
SYMBOL=(([:letter:]|_|\.)(([:letter:]|[:digit:])|[_\$])*)
SYMBOL=(([:letter:]|_|\.)(([:letter:]|[:digit:]|[_\$]))*)
MACRONAME=(([:letter:]|_)(([:letter:]|[:digit:]|_))*)
DIRECTIVE_KEYWORD=(([:letter:])(([:letter:]))*)(\..)?
OPSIZE_BS=(\.[bs])
OPSIZE_WL=(\.[wl])
OPSIZE_W=(\.w)
OPSIZE_L=(\.l)
BINARY=(%[01]+)
HEXADECIMAL=(\$[0-9a-f]+)
OCTAL=(@[0-7]+)
@ -73,7 +75,7 @@ HASH_COMMENT=([#;*].*+)
yybegin(MACROCALL); return MACRO_INVOKATION;
}
// {MNEMONIC} { if(isAsmMnemonic(yytext())) { yybegin(ASMINSTR); return MNEMONIC; } else { yybegin(INSTRPART); return SYMBOL; } }
{SYMBOL} { yybegin(MACROCALL); return SYMBOL; }
{MACRONAME} { yybegin(MACROCALL); return MACRO_INVOKATION; }
{HASH_COMMENT} { yybegin(YYINITIAL); return COMMENT; }
}
@ -89,7 +91,7 @@ HASH_COMMENT=([#;*].*+)
yybegin(MACROCALL); return MACRO_INVOKATION;
}
// {MNEMONIC} { if(isAsmMnemonic(yytext())) { yybegin(ASMINSTR); return MNEMONIC; } else { return SYMBOL; } }
{SYMBOL} { yybegin(MACROCALL); return MACRO_INVOKATION; }
{MACRONAME} { yybegin(MACROCALL); return MACRO_INVOKATION; }
{COMMENT} { yybegin(WAITEOL); return COMMENT; }
}
@ -99,7 +101,8 @@ HASH_COMMENT=([#;*].*+)
{EOL} { yybegin(YYINITIAL); return EOL; }
{OPSIZE_BS} { return OPSIZE_BS; }
{OPSIZE_WL} { return OPSIZE_WL; }
{OPSIZE_W} { return OPSIZE_W; }
{OPSIZE_L} { return OPSIZE_L; }
{COMMENT} { yybegin(WAITEOL); return COMMENT; }
}
@ -184,7 +187,8 @@ HASH_COMMENT=([#;*].*+)
{STRINGLIT} { return STRINGLIT; }
{OPSIZE_BS} { return OPSIZE_BS; }
{OPSIZE_WL} { return OPSIZE_WL; }
{OPSIZE_W} { return OPSIZE_W; }
{OPSIZE_L} { return OPSIZE_L; }
{AREG} { return AREG; }
{DREG} { return DREG; }

View File

@ -138,9 +138,9 @@ LocalLabel ::= LOCAL_LABEL_DEF {extends=Label}
GlobalLabel ::= GLOBAL_LABEL_DEF {extends=Label}
Label ::= LocalLabel | GlobalLabel
OperandSize ::= (OPSIZE_BS|OPSIZE_WL)
AddressSize ::= OPSIZE_WL
DataWidth ::= OPSIZE_WL
OperandSize ::= (OPSIZE_BS|OPSIZE_W|OPSIZE_L)
AddressSize ::= (OPSIZE_W|OPSIZE_L)
DataWidth ::= (OPSIZE_W|OPSIZE_L)
AsmOp ::= MNEMONIC OperandSize?

View File

@ -11,7 +11,9 @@ import de.platon42.intellij.plugins.m68k.syntax.M68kSyntaxHighlighter.Companion.
import de.platon42.intellij.plugins.m68k.syntax.M68kSyntaxHighlighter.Companion.BAD_CHARACTER
import de.platon42.intellij.plugins.m68k.syntax.M68kSyntaxHighlighter.Companion.COMMENT
import de.platon42.intellij.plugins.m68k.syntax.M68kSyntaxHighlighter.Companion.DATA_PREPROCESSOR
import de.platon42.intellij.plugins.m68k.syntax.M68kSyntaxHighlighter.Companion.DATA_WIDTH
import de.platon42.intellij.plugins.m68k.syntax.M68kSyntaxHighlighter.Companion.DATA_WIDTH_BS
import de.platon42.intellij.plugins.m68k.syntax.M68kSyntaxHighlighter.Companion.DATA_WIDTH_L
import de.platon42.intellij.plugins.m68k.syntax.M68kSyntaxHighlighter.Companion.DATA_WIDTH_W
import de.platon42.intellij.plugins.m68k.syntax.M68kSyntaxHighlighter.Companion.DREG
import de.platon42.intellij.plugins.m68k.syntax.M68kSyntaxHighlighter.Companion.GLOBAL_LABEL
import de.platon42.intellij.plugins.m68k.syntax.M68kSyntaxHighlighter.Companion.LOCAL_LABEL
@ -44,19 +46,21 @@ PIC_HEIGHT = 256
include "../includes/hardware/custom.i"
BLTHOGON MACRO
BLTHOGON MACRO ; macro definition
move.w #DMAF_SETCLR|DMAF_BLITHOG,dmacon(a5)
ENDM
demo_init ; global label
PUSHM d0-d7/a0-a6 ; this is a macro
lea pd_ModViewTable(a4),a0
tst.w d1
beq.s .skip
PUSHM d0-d7/a0-a6 ; this is a macro call
lea pd_ModViewTable(a4,d1.w),a0
moveq.l #0,d0
move.w #PIC_HEIGHT-1,d7
.loop move.l d0,(a0)+ ; local label
dbra d7,.loop
POPM
rts
.skip rts
hello: dc.b 'Hello World!',10,0
even
@ -88,7 +92,9 @@ hello: dc.b 'Hello World!',10,0
AttributesDescriptor("Symbol reference", SYMBOL),
AttributesDescriptor("Assembly mnemonic", MNEMONIC),
AttributesDescriptor("Macro invocation", MACRO_CALL),
AttributesDescriptor("Data/address width", DATA_WIDTH),
AttributesDescriptor("Byte/short data width", DATA_WIDTH_BS),
AttributesDescriptor("Word data width", DATA_WIDTH_W),
AttributesDescriptor("Long data width", DATA_WIDTH_L),
AttributesDescriptor("Data preprocessor directives", DATA_PREPROCESSOR),
AttributesDescriptor("Other preprocessor directives", OTHER_PREPROCESSOR),
AttributesDescriptor("Strings", STRING),

View File

@ -26,7 +26,9 @@ class M68kSyntaxHighlighter : SyntaxHighlighterBase() {
M68kTypes.MACRO_INVOKATION -> arrayOf(MACRO_CALL)
M68kTypes.DATA_DIRECTIVE -> arrayOf(DATA_PREPROCESSOR)
M68kTypes.OTHER_DIRECTIVE -> arrayOf(OTHER_PREPROCESSOR)
M68kTypes.OPSIZE_BS, M68kTypes.OPSIZE_WL -> arrayOf(DATA_WIDTH)
M68kTypes.OPSIZE_BS -> arrayOf(DATA_WIDTH_BS)
M68kTypes.OPSIZE_W -> arrayOf(DATA_WIDTH_W)
M68kTypes.OPSIZE_L -> arrayOf(DATA_WIDTH_L)
M68kTypes.ADDRESS_REGISTER, M68kTypes.AREG -> arrayOf(AREG)
M68kTypes.DATA_REGISTER, M68kTypes.DREG -> arrayOf(DREG)
M68kTypes.SPECIAL_REGISTER, M68kTypes.REG_USP, M68kTypes.REG_SR, M68kTypes.REG_CCR -> arrayOf(SPECIAL_REG)
@ -46,7 +48,9 @@ class M68kSyntaxHighlighter : SyntaxHighlighterBase() {
val SYMBOL = TextAttributesKey.createTextAttributesKey("M68K_SYMBOL", DefaultLanguageHighlighterColors.IDENTIFIER)
val MNEMONIC = TextAttributesKey.createTextAttributesKey("M68K_MNEMONIC", DefaultLanguageHighlighterColors.FUNCTION_CALL)
val MACRO_CALL = TextAttributesKey.createTextAttributesKey("M68K_MACRO_CALL", DefaultLanguageHighlighterColors.STATIC_METHOD)
val DATA_WIDTH = TextAttributesKey.createTextAttributesKey("M68K_DATA_WIDTH", DefaultLanguageHighlighterColors.INSTANCE_METHOD)
val DATA_WIDTH_BS = TextAttributesKey.createTextAttributesKey("M68K_DATA_WIDTH_BS", DefaultLanguageHighlighterColors.DOT)
val DATA_WIDTH_L = TextAttributesKey.createTextAttributesKey("M68K_DATA_WIDTH_W", DefaultLanguageHighlighterColors.DOT)
val DATA_WIDTH_W = TextAttributesKey.createTextAttributesKey("M68K_DATA_WIDTH_L", DefaultLanguageHighlighterColors.DOT)
val DATA_PREPROCESSOR = TextAttributesKey.createTextAttributesKey("M68K_DATA_PREPROCESSOR", DefaultLanguageHighlighterColors.CONSTANT)
val OTHER_PREPROCESSOR = TextAttributesKey.createTextAttributesKey("M68K_OTHER_PREPROCESSOR", DefaultLanguageHighlighterColors.KEYWORD)
val STRING = TextAttributesKey.createTextAttributesKey("M68K_STRING", DefaultLanguageHighlighterColors.STRING)

View File

@ -10,7 +10,7 @@ internal class MacroCallTest : AbstractParsingTest() {
@Test
internal fun standard_macrocall_without_parameters(@MyTestCase testCase: ParsingTestExtension.IParsingTestCase) {
testGoodSyntax(testCase, " BLTHOGON\n")
testGoodSyntax(testCase, " BLT_HOG_ON\n")
}
@Test

View File

@ -5,13 +5,13 @@ Assembly File: a.asm
M68kAsmOpImpl(ASM_OP)
PsiElement(M68kTokenType.MNEMONIC)('move')
M68kOperandSizeImpl(OPERAND_SIZE)
PsiElement(M68kTokenType.OPSIZE_WL)('.l')
PsiElement(M68kTokenType.OPSIZE_L)('.l')
PsiWhiteSpace(' ')
M68kAbsoluteAddressAddressingModeImpl(ABSOLUTE_ADDRESS_ADDRESSING_MODE)
M68kLiteralExprImpl(LITERAL_EXPR)
PsiElement(M68kTokenType.DECIMAL)('4')
M68kAddressSizeImpl(ADDRESS_SIZE)
PsiElement(M68kTokenType.OPSIZE_WL)('.w')
PsiElement(M68kTokenType.OPSIZE_W)('.w')
PsiElement(M68kTokenType.SEPARATOR)(',')
M68kAddressRegisterDirectAddressingModeImpl(ADDRESS_REGISTER_DIRECT_ADDRESSING_MODE)
M68kAddressRegisterImpl(ADDRESS_REGISTER)

View File

@ -5,7 +5,7 @@ Assembly File: a.asm
M68kAsmOpImpl(ASM_OP)
PsiElement(M68kTokenType.MNEMONIC)('moveq')
M68kOperandSizeImpl(OPERAND_SIZE)
PsiElement(M68kTokenType.OPSIZE_WL)('.l')
PsiElement(M68kTokenType.OPSIZE_L)('.l')
PsiWhiteSpace(' ')
M68kImmediateDataImpl(IMMEDIATE_DATA)
PsiElement(M68kTokenType.HASH)('#')

View File

@ -5,7 +5,7 @@ Assembly File: a.asm
M68kAsmOpImpl(ASM_OP)
PsiElement(M68kTokenType.MNEMONIC)('movem')
M68kOperandSizeImpl(OPERAND_SIZE)
PsiElement(M68kTokenType.OPSIZE_WL)('.l')
PsiElement(M68kTokenType.OPSIZE_L)('.l')
PsiWhiteSpace(' ')
M68kRegisterListAddressingModeImpl(REGISTER_LIST_ADDRESSING_MODE)
M68kDataRegisterImpl(DATA_REGISTER)

View File

@ -5,7 +5,7 @@ Assembly File: a.asm
M68kAsmOpImpl(ASM_OP)
PsiElement(M68kTokenType.MNEMONIC)('move')
M68kOperandSizeImpl(OPERAND_SIZE)
PsiElement(M68kTokenType.OPSIZE_WL)('.l')
PsiElement(M68kTokenType.OPSIZE_L)('.l')
PsiWhiteSpace(' ')
M68kProgramCounterIndirectWithDisplacementOldAddressingModeImpl(PROGRAM_COUNTER_INDIRECT_WITH_DISPLACEMENT_OLD_ADDRESSING_MODE)
PsiElement(M68kTokenType.ROUND_L)('(')

View File

@ -5,7 +5,7 @@ Assembly File: a.asm
M68kAsmOpImpl(ASM_OP)
PsiElement(M68kTokenType.MNEMONIC)('move')
M68kOperandSizeImpl(OPERAND_SIZE)
PsiElement(M68kTokenType.OPSIZE_WL)('.l')
PsiElement(M68kTokenType.OPSIZE_L)('.l')
PsiWhiteSpace(' ')
M68kProgramCounterIndirectWithIndexNewAddressingModeImpl(PROGRAM_COUNTER_INDIRECT_WITH_INDEX_NEW_ADDRESSING_MODE)
PsiElement(M68kTokenType.ROUND_L)('(')
@ -45,6 +45,6 @@ Assembly File: a.asm
M68kDataRegisterImpl(DATA_REGISTER)
PsiElement(M68kTokenType.DREG)('d5')
M68kDataWidthImpl(DATA_WIDTH)
PsiElement(M68kTokenType.OPSIZE_WL)('.l')
PsiElement(M68kTokenType.OPSIZE_L)('.l')
PsiElement(M68kTokenType.ROUND_R)(')')
PsiElement(M68kTokenType.EOL)('\n')

View File

@ -5,7 +5,7 @@ Assembly File: a.asm
M68kAsmOpImpl(ASM_OP)
PsiElement(M68kTokenType.MNEMONIC)('move')
M68kOperandSizeImpl(OPERAND_SIZE)
PsiElement(M68kTokenType.OPSIZE_WL)('.l')
PsiElement(M68kTokenType.OPSIZE_L)('.l')
PsiWhiteSpace(' ')
M68kProgramCounterIndirectWithIndexOldAddressingModeImpl(PROGRAM_COUNTER_INDIRECT_WITH_INDEX_OLD_ADDRESSING_MODE)
M68kBinaryAddExprImpl(BINARY_ADD_EXPR)
@ -22,7 +22,7 @@ Assembly File: a.asm
M68kDataRegisterImpl(DATA_REGISTER)
PsiElement(M68kTokenType.DREG)('d0')
M68kDataWidthImpl(DATA_WIDTH)
PsiElement(M68kTokenType.OPSIZE_WL)('.w')
PsiElement(M68kTokenType.OPSIZE_W)('.w')
PsiElement(M68kTokenType.ROUND_R)(')')
PsiElement(M68kTokenType.SEPARATOR)(',')
M68kProgramCounterIndirectWithIndexOldAddressingModeImpl(PROGRAM_COUNTER_INDIRECT_WITH_INDEX_OLD_ADDRESSING_MODE)

View File

@ -5,7 +5,7 @@ Assembly File: a.asm
M68kAsmOpImpl(ASM_OP)
PsiElement(M68kTokenType.MNEMONIC)('move')
M68kOperandSizeImpl(OPERAND_SIZE)
PsiElement(M68kTokenType.OPSIZE_WL)('.l')
PsiElement(M68kTokenType.OPSIZE_L)('.l')
PsiWhiteSpace(' ')
M68kProgramCounterIndirectWithIndexNewAddressingModeImpl(PROGRAM_COUNTER_INDIRECT_WITH_INDEX_NEW_ADDRESSING_MODE)
PsiElement(M68kTokenType.ROUND_L)('(')
@ -14,7 +14,7 @@ Assembly File: a.asm
M68kDataRegisterImpl(DATA_REGISTER)
PsiElement(M68kTokenType.DREG)('d0')
M68kDataWidthImpl(DATA_WIDTH)
PsiElement(M68kTokenType.OPSIZE_WL)('.w')
PsiElement(M68kTokenType.OPSIZE_W)('.w')
PsiElement(M68kTokenType.ROUND_R)(')')
PsiElement(M68kTokenType.SEPARATOR)(',')
M68kProgramCounterIndirectWithIndexNewAddressingModeImpl(PROGRAM_COUNTER_INDIRECT_WITH_INDEX_NEW_ADDRESSING_MODE)

View File

@ -5,7 +5,7 @@ Assembly File: a.asm
M68kAsmOpImpl(ASM_OP)
PsiElement(M68kTokenType.MNEMONIC)('move')
M68kOperandSizeImpl(OPERAND_SIZE)
PsiElement(M68kTokenType.OPSIZE_WL)('.l')
PsiElement(M68kTokenType.OPSIZE_L)('.l')
PsiWhiteSpace(' ')
M68kProgramCounterIndirectWithDisplacementNewAddressingModeImpl(PROGRAM_COUNTER_INDIRECT_WITH_DISPLACEMENT_NEW_ADDRESSING_MODE)
PsiElement(M68kTokenType.ROUND_L)('(')

View File

@ -5,7 +5,7 @@ Assembly File: a.asm
M68kAsmOpImpl(ASM_OP)
PsiElement(M68kTokenType.MNEMONIC)('move')
M68kOperandSizeImpl(OPERAND_SIZE)
PsiElement(M68kTokenType.OPSIZE_WL)('.l')
PsiElement(M68kTokenType.OPSIZE_L)('.l')
PsiWhiteSpace(' ')
M68kProgramCounterIndirectWithDisplacementOldAddressingModeImpl(PROGRAM_COUNTER_INDIRECT_WITH_DISPLACEMENT_OLD_ADDRESSING_MODE)
M68kBinaryMulExprImpl(BINARY_MUL_EXPR)

View File

@ -5,7 +5,7 @@ Assembly File: a.asm
M68kAsmOpImpl(ASM_OP)
PsiElement(M68kTokenType.MNEMONIC)('move')
M68kOperandSizeImpl(OPERAND_SIZE)
PsiElement(M68kTokenType.OPSIZE_WL)('.l')
PsiElement(M68kTokenType.OPSIZE_L)('.l')
PsiWhiteSpace(' ')
M68kDataRegisterDirectAddressingModeImpl(DATA_REGISTER_DIRECT_ADDRESSING_MODE)
M68kDataRegisterImpl(DATA_REGISTER)

View File

@ -5,7 +5,7 @@ Assembly File: a.asm
M68kAsmOpImpl(ASM_OP)
PsiElement(M68kTokenType.MNEMONIC)('move')
M68kOperandSizeImpl(OPERAND_SIZE)
PsiElement(M68kTokenType.OPSIZE_WL)('.l')
PsiElement(M68kTokenType.OPSIZE_L)('.l')
PsiWhiteSpace(' ')
M68kAddressRegisterIndirectAddressingModeImpl(ADDRESS_REGISTER_INDIRECT_ADDRESSING_MODE)
PsiElement(M68kTokenType.ROUND_L)('(')

View File

@ -5,7 +5,7 @@ Assembly File: a.asm
M68kAsmOpImpl(ASM_OP)
PsiElement(M68kTokenType.MNEMONIC)('move')
M68kOperandSizeImpl(OPERAND_SIZE)
PsiElement(M68kTokenType.OPSIZE_WL)('.l')
PsiElement(M68kTokenType.OPSIZE_L)('.l')
PsiWhiteSpace(' ')
M68kAddressRegisterIndirectPostIncAddressingModeImpl(ADDRESS_REGISTER_INDIRECT_POST_INC_ADDRESSING_MODE)
PsiElement(M68kTokenType.ROUND_L)('(')

View File

@ -5,7 +5,7 @@ Assembly File: a.asm
M68kAsmOpImpl(ASM_OP)
PsiElement(M68kTokenType.MNEMONIC)('move')
M68kOperandSizeImpl(OPERAND_SIZE)
PsiElement(M68kTokenType.OPSIZE_WL)('.l')
PsiElement(M68kTokenType.OPSIZE_L)('.l')
PsiWhiteSpace(' ')
M68kAddressRegisterIndirectWithIndexNewAddressingModeImpl(ADDRESS_REGISTER_INDIRECT_WITH_INDEX_NEW_ADDRESSING_MODE)
PsiElement(M68kTokenType.ROUND_L)('(')
@ -47,6 +47,6 @@ Assembly File: a.asm
M68kDataRegisterImpl(DATA_REGISTER)
PsiElement(M68kTokenType.DREG)('d5')
M68kDataWidthImpl(DATA_WIDTH)
PsiElement(M68kTokenType.OPSIZE_WL)('.l')
PsiElement(M68kTokenType.OPSIZE_L)('.l')
PsiElement(M68kTokenType.ROUND_R)(')')
PsiElement(M68kTokenType.EOL)('\n')

View File

@ -5,7 +5,7 @@ Assembly File: a.asm
M68kAsmOpImpl(ASM_OP)
PsiElement(M68kTokenType.MNEMONIC)('move')
M68kOperandSizeImpl(OPERAND_SIZE)
PsiElement(M68kTokenType.OPSIZE_WL)('.l')
PsiElement(M68kTokenType.OPSIZE_L)('.l')
PsiWhiteSpace(' ')
M68kAddressRegisterIndirectWithIndexOldAddressingModeImpl(ADDRESS_REGISTER_INDIRECT_WITH_INDEX_OLD_ADDRESSING_MODE)
M68kBinaryAddExprImpl(BINARY_ADD_EXPR)
@ -23,7 +23,7 @@ Assembly File: a.asm
M68kDataRegisterImpl(DATA_REGISTER)
PsiElement(M68kTokenType.DREG)('d0')
M68kDataWidthImpl(DATA_WIDTH)
PsiElement(M68kTokenType.OPSIZE_WL)('.w')
PsiElement(M68kTokenType.OPSIZE_W)('.w')
PsiElement(M68kTokenType.ROUND_R)(')')
PsiElement(M68kTokenType.SEPARATOR)(',')
M68kAddressRegisterIndirectWithIndexOldAddressingModeImpl(ADDRESS_REGISTER_INDIRECT_WITH_INDEX_OLD_ADDRESSING_MODE)

View File

@ -5,7 +5,7 @@ Assembly File: a.asm
M68kAsmOpImpl(ASM_OP)
PsiElement(M68kTokenType.MNEMONIC)('move')
M68kOperandSizeImpl(OPERAND_SIZE)
PsiElement(M68kTokenType.OPSIZE_WL)('.l')
PsiElement(M68kTokenType.OPSIZE_L)('.l')
PsiWhiteSpace(' ')
M68kAddressRegisterIndirectWithIndexNewAddressingModeImpl(ADDRESS_REGISTER_INDIRECT_WITH_INDEX_NEW_ADDRESSING_MODE)
PsiElement(M68kTokenType.ROUND_L)('(')
@ -15,7 +15,7 @@ Assembly File: a.asm
M68kDataRegisterImpl(DATA_REGISTER)
PsiElement(M68kTokenType.DREG)('d0')
M68kDataWidthImpl(DATA_WIDTH)
PsiElement(M68kTokenType.OPSIZE_WL)('.w')
PsiElement(M68kTokenType.OPSIZE_W)('.w')
PsiElement(M68kTokenType.ROUND_R)(')')
PsiElement(M68kTokenType.SEPARATOR)(',')
M68kAddressRegisterIndirectWithIndexNewAddressingModeImpl(ADDRESS_REGISTER_INDIRECT_WITH_INDEX_NEW_ADDRESSING_MODE)

View File

@ -5,7 +5,7 @@ Assembly File: a.asm
M68kAsmOpImpl(ASM_OP)
PsiElement(M68kTokenType.MNEMONIC)('move')
M68kOperandSizeImpl(OPERAND_SIZE)
PsiElement(M68kTokenType.OPSIZE_WL)('.l')
PsiElement(M68kTokenType.OPSIZE_L)('.l')
PsiWhiteSpace(' ')
M68kAddressRegisterIndirectWithDisplacementNewAddressingModeImpl(ADDRESS_REGISTER_INDIRECT_WITH_DISPLACEMENT_NEW_ADDRESSING_MODE)
PsiElement(M68kTokenType.ROUND_L)('(')

View File

@ -5,7 +5,7 @@ Assembly File: a.asm
M68kAsmOpImpl(ASM_OP)
PsiElement(M68kTokenType.MNEMONIC)('move')
M68kOperandSizeImpl(OPERAND_SIZE)
PsiElement(M68kTokenType.OPSIZE_WL)('.l')
PsiElement(M68kTokenType.OPSIZE_L)('.l')
PsiWhiteSpace(' ')
M68kAddressRegisterIndirectWithDisplacementOldAddressingModeImpl(ADDRESS_REGISTER_INDIRECT_WITH_DISPLACEMENT_OLD_ADDRESSING_MODE)
M68kBinaryAddExprImpl(BINARY_ADD_EXPR)

View File

@ -5,7 +5,7 @@ Assembly File: a.asm
M68kAsmOpImpl(ASM_OP)
PsiElement(M68kTokenType.MNEMONIC)('move')
M68kOperandSizeImpl(OPERAND_SIZE)
PsiElement(M68kTokenType.OPSIZE_WL)('.l')
PsiElement(M68kTokenType.OPSIZE_L)('.l')
PsiWhiteSpace(' ')
M68kSpecialRegisterDirectAddressingModeImpl(SPECIAL_REGISTER_DIRECT_ADDRESSING_MODE)
M68kSpecialRegisterImpl(SPECIAL_REGISTER)
@ -21,7 +21,7 @@ Assembly File: a.asm
M68kAsmOpImpl(ASM_OP)
PsiElement(M68kTokenType.MNEMONIC)('move')
M68kOperandSizeImpl(OPERAND_SIZE)
PsiElement(M68kTokenType.OPSIZE_WL)('.l')
PsiElement(M68kTokenType.OPSIZE_L)('.l')
PsiWhiteSpace(' ')
M68kAddressRegisterDirectAddressingModeImpl(ADDRESS_REGISTER_DIRECT_ADDRESSING_MODE)
M68kAddressRegisterImpl(ADDRESS_REGISTER)

View File

@ -5,7 +5,7 @@ Assembly File: a.asm
M68kAsmOpImpl(ASM_OP)
PsiElement(M68kTokenType.MNEMONIC)('add')
M68kOperandSizeImpl(OPERAND_SIZE)
PsiElement(M68kTokenType.OPSIZE_WL)('.l')
PsiElement(M68kTokenType.OPSIZE_L)('.l')
PsiWhiteSpace(' ')
M68kDataRegisterDirectAddressingModeImpl(DATA_REGISTER_DIRECT_ADDRESSING_MODE)
M68kDataRegisterImpl(DATA_REGISTER)

View File

@ -24,7 +24,7 @@ Assembly File: a.asm
M68kAsmOpImpl(ASM_OP)
PsiElement(M68kTokenType.MNEMONIC)('add')
M68kOperandSizeImpl(OPERAND_SIZE)
PsiElement(M68kTokenType.OPSIZE_WL)('.w')
PsiElement(M68kTokenType.OPSIZE_W)('.w')
PsiWhiteSpace(' ')
M68kDataRegisterDirectAddressingModeImpl(DATA_REGISTER_DIRECT_ADDRESSING_MODE)
M68kDataRegisterImpl(DATA_REGISTER)

View File

@ -1,5 +1,6 @@
Assembly File: a.asm
PsiWhiteSpace(' ')
PsiErrorElement:'.local_label' unexpected
PsiElement(M68kTokenType.SYMBOL)('.local_label')
PsiErrorElement:'.' unexpected
PsiElement(BAD_CHARACTER)('.')
PsiElement(M68kTokenType.MACRO_INVOKATION)('local_label')
PsiElement(M68kTokenType.EOL)('\n')

View File

@ -1,5 +1,7 @@
Assembly File: a.asm
PsiWhiteSpace(' ')
PsiErrorElement:'local_label$' unexpected
PsiElement(M68kTokenType.SYMBOL)('local_label$')
M68kStatementImpl(STATEMENT)
M68kMacroCallImpl(MACRO_CALL)
PsiElement(M68kTokenType.MACRO_INVOKATION)('local_label')
PsiElement(M68kTokenType.STRINGLIT)('$')
PsiElement(M68kTokenType.EOL)('\n')

View File

@ -13,7 +13,7 @@ Assembly File: a.asm
M68kAsmOpImpl(ASM_OP)
PsiElement(M68kTokenType.MNEMONIC)('moveq')
M68kOperandSizeImpl(OPERAND_SIZE)
PsiElement(M68kTokenType.OPSIZE_WL)('.l')
PsiElement(M68kTokenType.OPSIZE_L)('.l')
PsiWhiteSpace(' ')
M68kImmediateDataImpl(IMMEDIATE_DATA)
PsiElement(M68kTokenType.HASH)('#')
@ -38,7 +38,7 @@ Assembly File: a.asm
M68kAsmOpImpl(ASM_OP)
PsiElement(M68kTokenType.MNEMONIC)('move')
M68kOperandSizeImpl(OPERAND_SIZE)
PsiElement(M68kTokenType.OPSIZE_WL)('.l')
PsiElement(M68kTokenType.OPSIZE_L)('.l')
PsiWhiteSpace(' ')
M68kAddressRegisterIndirectPostIncAddressingModeImpl(ADDRESS_REGISTER_INDIRECT_POST_INC_ADDRESSING_MODE)
PsiElement(M68kTokenType.ROUND_L)('(')

View File

@ -2,5 +2,5 @@ Assembly File: a.asm
PsiWhiteSpace(' ')
M68kStatementImpl(STATEMENT)
M68kMacroCallImpl(MACRO_CALL)
PsiElement(M68kTokenType.MACRO_INVOKATION)('BLTHOGON')
PsiElement(M68kTokenType.MACRO_INVOKATION)('BLT_HOG_ON')
PsiElement(M68kTokenType.EOL)('\n')