From f482948abe22b282c4c5b08551c19ad74c929793 Mon Sep 17 00:00:00 2001 From: chrisly42 Date: Thu, 15 Jul 2021 16:40:17 +0200 Subject: [PATCH] Added first version of Syntax Highlighting. Commented out some tokens. --- .../plugins/m68k/lexer/_M68kLexer.java | 878 +++++++++--------- .../plugins/m68k/psi/M68kAddressRegister.java | 6 - .../plugins/m68k/psi/M68kAddressSize.java | 4 - .../intellij/plugins/m68k/psi/M68kAsmOp.java | 4 - .../plugins/m68k/psi/M68kDataRegister.java | 6 - .../plugins/m68k/psi/M68kDataWidth.java | 4 - .../plugins/m68k/psi/M68kLiteralExpr.java | 18 - .../plugins/m68k/psi/M68kMacroCall.java | 3 - .../plugins/m68k/psi/M68kOperandSize.java | 7 - .../m68k/psi/M68kPreprocessorDirective.java | 7 - .../plugins/m68k/psi/M68kRefExpr.java | 6 - .../intellij/plugins/m68k/psi/M68kTypes.java | 94 +- .../psi/impl/M68kAddressRegisterImpl.java | 9 - .../m68k/psi/impl/M68kAddressSizeImpl.java | 9 - .../plugins/m68k/psi/impl/M68kAsmOpImpl.java | 9 - .../m68k/psi/impl/M68kDataRegisterImpl.java | 9 - .../m68k/psi/impl/M68kDataWidthImpl.java | 9 - .../m68k/psi/impl/M68kLiteralExprImpl.java | 34 - .../m68k/psi/impl/M68kMacroCallImpl.java | 9 - .../m68k/psi/impl/M68kOperandSizeImpl.java | 17 - .../impl/M68kPreprocessorDirectiveImpl.java | 17 - .../m68k/psi/impl/M68kRefExprImpl.java | 9 - .../intellij/plugins/m68k/M68kFileType.kt | 2 +- .../plugins/m68k/lexer/_M68kLexer.flex | 24 +- .../platon42/intellij/plugins/m68k/m68k.bnf | 138 +-- .../m68k/syntax/M68kColorSettingsPage.kt | 93 ++ .../m68k/syntax/M68kSyntaxHighlighter.kt | 54 ++ .../syntax/M68kSyntaxHighlighterFactory.kt | 9 + src/main/resources/META-INF/plugin.xml | 3 + .../addressingmodes/absolute_address.txt | 2 +- .../parser/addressingmodes/immediate_data.txt | 4 +- .../addressingmodes/movem_register_list.txt | 18 +- ...c_indirect_special_case_without_offset.txt | 8 +- ...irect_with_index_and_offset_new_syntax.txt | 34 +- ...irect_with_index_and_offset_old_syntax.txt | 30 +- ...with_index_special_case_without_offset.txt | 18 +- .../pc_indirect_with_offset_new_syntax.txt | 34 +- .../pc_indirect_with_offset_old_syntax.txt | 20 +- .../addressingmodes/register_direct.txt | 2 +- .../addressingmodes/register_indirect.txt | 10 +- ...er_indirect_predecrement_postincrement.txt | 14 +- ...irect_with_index_and_offset_new_syntax.txt | 30 +- ...irect_with_index_and_offset_old_syntax.txt | 26 +- ...with_index_special_case_without_offset.txt | 14 +- ...gister_indirect_with_offset_new_syntax.txt | 26 +- ...gister_indirect_with_offset_old_syntax.txt | 22 +- .../addressingmodes/special_register_move.txt | 8 +- .../parser/basic/basic_block_of_code.txt | 6 +- .../parser/comments/end_of_line_comments.txt | 4 +- .../parser/labels/complex_label_test.txt | 22 +- 50 files changed, 881 insertions(+), 962 deletions(-) create mode 100644 src/main/java/de/platon42/intellij/plugins/m68k/syntax/M68kColorSettingsPage.kt create mode 100644 src/main/java/de/platon42/intellij/plugins/m68k/syntax/M68kSyntaxHighlighter.kt create mode 100644 src/main/java/de/platon42/intellij/plugins/m68k/syntax/M68kSyntaxHighlighterFactory.kt 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 1fa2b15..b4a91ad 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 @@ -129,52 +129,52 @@ public class _M68kLexer implements FlexLexer { /* The ZZ_CMAP_A table has 3216 entries */ static final char ZZ_CMAP_A[] = zzUnpackCMap( - "\11\0\1\4\1\2\2\1\1\3\22\0\1\4\1\66\1\46\1\52\1\26\1\32\1\64\1\45\1\72\1\73" + - "\1\77\1\75\1\101\1\76\1\24\1\100\2\33\6\11\2\40\1\25\1\51\1\47\1\23\1\50\1" + - "\0\1\42\1\10\1\61\1\55\1\14\1\17\1\6\2\7\1\5\2\7\1\57\1\62\1\54\1\56\1\13" + - "\1\20\1\63\1\12\1\22\1\21\1\53\4\7\1\70\1\44\1\71\1\67\1\15\1\43\1\36\1\27" + - "\1\35\1\37\1\41\1\34\2\7\1\5\2\7\1\60\1\62\1\54\1\56\1\13\1\20\1\63\1\30\1" + - "\22\1\21\1\53\1\31\3\7\1\0\1\65\1\0\1\74\6\0\1\1\12\0\1\4\11\0\1\7\12\0\1" + - "\7\4\0\1\7\5\0\27\7\1\0\10\7\2\5\35\7\1\12\2\7\4\0\14\7\16\0\5\7\7\0\1\7\1" + - "\0\1\7\1\0\5\7\1\0\2\7\2\0\4\7\1\0\1\7\6\0\1\7\1\0\3\7\1\0\1\7\1\0\4\7\1\0" + - "\23\7\1\0\13\7\10\0\6\7\1\0\26\7\2\0\1\7\6\0\10\7\10\0\13\7\5\0\3\7\15\0\12" + - "\16\4\0\6\7\1\0\1\7\17\0\2\7\7\0\2\7\12\16\3\7\2\0\2\7\1\0\16\7\15\0\11\7" + - "\13\0\1\7\16\0\12\16\6\7\4\0\2\7\4\0\1\7\5\0\6\7\4\0\1\7\11\0\1\7\3\0\1\7" + - "\7\0\11\7\7\0\5\7\1\0\10\7\6\0\26\7\3\0\1\7\2\0\1\7\7\0\12\7\4\0\12\16\1\7" + - "\4\0\10\7\2\0\2\7\2\0\26\7\1\0\7\7\1\0\1\7\3\0\4\7\3\0\1\7\20\0\1\7\15\0\2" + - "\7\1\0\1\7\5\0\6\7\4\0\2\7\1\0\2\7\1\0\2\7\1\0\2\7\17\0\4\7\1\0\1\7\7\0\12" + - "\16\2\0\3\7\20\0\11\7\1\0\2\7\1\0\2\7\1\0\5\7\3\0\1\7\2\0\1\7\30\0\1\7\13" + - "\0\10\7\2\0\1\7\3\0\1\7\1\0\6\7\3\0\3\7\1\0\4\7\3\0\2\7\1\0\1\7\1\0\2\7\3" + - "\0\2\7\3\0\3\7\3\0\14\7\13\0\10\7\1\0\2\7\10\0\3\7\5\0\1\7\4\0\10\7\1\0\6" + - "\7\1\0\5\7\3\0\1\7\3\0\2\7\15\0\13\7\2\0\1\7\6\0\3\7\10\0\1\7\12\0\6\7\5\0" + - "\22\7\3\0\10\7\1\0\11\7\1\0\1\7\2\0\7\7\11\0\1\7\1\0\2\7\14\0\12\16\7\0\2" + - "\7\1\0\1\7\2\0\2\7\1\0\1\7\2\0\1\7\6\0\4\7\1\0\7\7\1\0\3\7\1\0\1\7\1\0\1\7" + - "\2\0\2\7\1\0\4\7\1\0\2\7\11\0\1\7\2\0\5\7\1\0\1\7\11\0\12\16\2\0\14\7\1\0" + - "\24\7\13\0\5\7\22\0\7\7\4\0\4\7\3\0\1\7\3\0\2\7\7\0\3\7\4\0\15\7\14\0\1\7" + - "\1\0\6\7\1\0\1\7\5\0\1\7\2\0\13\7\1\0\15\7\1\0\4\7\2\0\7\7\1\0\1\7\1\0\4\7" + - "\2\0\1\7\1\0\4\7\2\0\7\7\1\0\1\7\1\0\4\7\2\0\16\7\2\0\6\7\2\0\15\7\2\0\1\7" + - "\1\4\17\7\1\0\10\7\7\0\15\7\1\0\6\7\23\0\1\7\4\0\1\7\3\0\5\7\2\0\22\7\1\0" + - "\1\7\5\0\17\7\1\0\16\7\2\0\5\7\13\0\14\7\13\0\1\7\15\0\7\7\7\0\16\7\15\0\2" + - "\7\12\16\3\0\3\7\11\0\4\7\1\0\4\7\3\0\2\7\11\0\10\7\1\0\1\7\1\0\1\7\1\0\1" + - "\7\1\0\6\7\1\0\7\7\1\0\1\7\3\0\3\7\1\0\7\7\3\0\4\7\2\0\6\7\4\0\13\4\15\0\2" + - "\1\5\0\1\4\17\0\1\4\1\0\1\7\15\0\1\7\2\0\1\7\4\0\1\7\2\0\12\7\1\0\1\7\3\0" + - "\5\7\6\0\1\7\1\0\1\7\1\0\1\7\1\0\4\7\1\0\13\7\2\0\4\7\5\0\5\7\4\0\1\7\4\0" + - "\2\7\13\0\5\7\6\0\4\7\3\0\2\7\14\0\10\7\7\0\10\7\1\0\7\7\1\0\1\4\4\0\2\7\12" + - "\0\5\7\5\0\2\7\3\0\7\7\6\0\3\7\12\16\2\7\13\0\11\7\2\0\27\7\2\0\7\7\1\0\3" + - "\7\1\0\4\7\1\0\4\7\2\0\6\7\3\0\1\7\1\0\1\7\2\0\5\7\1\0\12\7\12\16\5\7\1\0" + - "\3\7\1\0\10\7\4\0\7\7\3\0\1\7\3\0\2\7\1\0\1\7\3\0\2\7\2\0\5\7\2\0\1\7\1\0" + - "\1\7\30\0\3\7\3\0\6\7\2\0\6\7\2\0\6\7\11\0\7\7\4\0\5\7\3\0\5\7\5\0\1\7\1\0" + - "\10\7\1\0\5\7\1\0\1\7\1\0\2\7\1\0\2\7\1\0\12\7\6\0\12\7\2\0\6\7\2\0\6\7\2" + - "\0\6\7\2\0\3\7\3\0\14\7\1\0\16\7\1\0\2\7\1\0\2\7\1\0\10\7\6\0\4\7\4\0\16\7" + - "\2\0\1\7\1\0\14\7\1\0\2\7\3\0\1\7\2\0\4\7\1\0\2\7\12\0\10\7\6\0\6\7\1\0\3" + - "\7\1\0\12\7\3\0\1\7\12\0\4\7\13\0\12\16\1\7\1\0\1\7\3\0\7\7\1\0\1\7\1\0\4" + - "\7\1\0\17\7\1\0\2\7\14\0\3\7\7\0\4\7\11\0\2\7\1\0\1\7\20\0\4\7\10\0\1\7\13" + - "\0\10\7\5\0\3\7\2\0\1\7\2\0\2\7\2\0\4\7\1\0\14\7\1\0\1\7\1\0\7\7\1\0\21\7" + - "\1\0\4\7\2\0\10\7\1\0\7\7\1\0\14\7\1\0\4\7\1\0\5\7\1\0\1\7\3\0\14\7\2\0\13" + - "\7\1\0\10\7\2\0\22\16\1\0\2\7\1\0\1\7\2\0\1\7\1\0\12\7\1\0\4\7\1\0\1\7\1\0" + - "\1\7\6\0\1\7\4\0\1\7\1\0\1\7\1\0\1\7\1\0\3\7\1\0\2\7\1\0\1\7\2\0\1\7\1\0\1" + - "\7\1\0\1\7\1\0\1\7\1\0\1\7\1\0\2\7\1\0\1\7\2\0\4\7\1\0\7\7\1\0\4\7\1\0\4\7" + - "\1\0\1\7\1\0\12\7\1\0\5\7\1\0\3\7\1\0\5\7\1\0\5\7"); + "\11\0\1\4\1\2\2\1\1\3\22\0\1\4\1\66\1\46\1\52\1\26\1\32\1\64\1\45\1\70\1\71" + + "\1\75\1\73\1\77\1\74\1\24\1\76\2\33\6\11\2\40\1\25\1\51\1\47\1\23\1\50\1\0" + + "\1\42\1\10\1\61\1\55\1\14\1\17\1\6\2\7\1\5\2\7\1\57\1\62\1\54\1\56\1\13\1" + + "\20\1\63\1\12\1\22\1\21\1\53\4\7\1\0\1\44\1\0\1\67\1\15\1\43\1\36\1\27\1\35" + + "\1\37\1\41\1\34\2\7\1\5\2\7\1\60\1\62\1\54\1\56\1\13\1\20\1\63\1\30\1\22\1" + + "\21\1\53\1\31\3\7\1\0\1\65\1\0\1\72\6\0\1\1\12\0\1\4\11\0\1\7\12\0\1\7\4\0" + + "\1\7\5\0\27\7\1\0\10\7\2\5\35\7\1\12\2\7\4\0\14\7\16\0\5\7\7\0\1\7\1\0\1\7" + + "\1\0\5\7\1\0\2\7\2\0\4\7\1\0\1\7\6\0\1\7\1\0\3\7\1\0\1\7\1\0\4\7\1\0\23\7" + + "\1\0\13\7\10\0\6\7\1\0\26\7\2\0\1\7\6\0\10\7\10\0\13\7\5\0\3\7\15\0\12\16" + + "\4\0\6\7\1\0\1\7\17\0\2\7\7\0\2\7\12\16\3\7\2\0\2\7\1\0\16\7\15\0\11\7\13" + + "\0\1\7\16\0\12\16\6\7\4\0\2\7\4\0\1\7\5\0\6\7\4\0\1\7\11\0\1\7\3\0\1\7\7\0" + + "\11\7\7\0\5\7\1\0\10\7\6\0\26\7\3\0\1\7\2\0\1\7\7\0\12\7\4\0\12\16\1\7\4\0" + + "\10\7\2\0\2\7\2\0\26\7\1\0\7\7\1\0\1\7\3\0\4\7\3\0\1\7\20\0\1\7\15\0\2\7\1" + + "\0\1\7\5\0\6\7\4\0\2\7\1\0\2\7\1\0\2\7\1\0\2\7\17\0\4\7\1\0\1\7\7\0\12\16" + + "\2\0\3\7\20\0\11\7\1\0\2\7\1\0\2\7\1\0\5\7\3\0\1\7\2\0\1\7\30\0\1\7\13\0\10" + + "\7\2\0\1\7\3\0\1\7\1\0\6\7\3\0\3\7\1\0\4\7\3\0\2\7\1\0\1\7\1\0\2\7\3\0\2\7" + + "\3\0\3\7\3\0\14\7\13\0\10\7\1\0\2\7\10\0\3\7\5\0\1\7\4\0\10\7\1\0\6\7\1\0" + + "\5\7\3\0\1\7\3\0\2\7\15\0\13\7\2\0\1\7\6\0\3\7\10\0\1\7\12\0\6\7\5\0\22\7" + + "\3\0\10\7\1\0\11\7\1\0\1\7\2\0\7\7\11\0\1\7\1\0\2\7\14\0\12\16\7\0\2\7\1\0" + + "\1\7\2\0\2\7\1\0\1\7\2\0\1\7\6\0\4\7\1\0\7\7\1\0\3\7\1\0\1\7\1\0\1\7\2\0\2" + + "\7\1\0\4\7\1\0\2\7\11\0\1\7\2\0\5\7\1\0\1\7\11\0\12\16\2\0\14\7\1\0\24\7\13" + + "\0\5\7\22\0\7\7\4\0\4\7\3\0\1\7\3\0\2\7\7\0\3\7\4\0\15\7\14\0\1\7\1\0\6\7" + + "\1\0\1\7\5\0\1\7\2\0\13\7\1\0\15\7\1\0\4\7\2\0\7\7\1\0\1\7\1\0\4\7\2\0\1\7" + + "\1\0\4\7\2\0\7\7\1\0\1\7\1\0\4\7\2\0\16\7\2\0\6\7\2\0\15\7\2\0\1\7\1\4\17" + + "\7\1\0\10\7\7\0\15\7\1\0\6\7\23\0\1\7\4\0\1\7\3\0\5\7\2\0\22\7\1\0\1\7\5\0" + + "\17\7\1\0\16\7\2\0\5\7\13\0\14\7\13\0\1\7\15\0\7\7\7\0\16\7\15\0\2\7\12\16" + + "\3\0\3\7\11\0\4\7\1\0\4\7\3\0\2\7\11\0\10\7\1\0\1\7\1\0\1\7\1\0\1\7\1\0\6" + + "\7\1\0\7\7\1\0\1\7\3\0\3\7\1\0\7\7\3\0\4\7\2\0\6\7\4\0\13\4\15\0\2\1\5\0\1" + + "\4\17\0\1\4\1\0\1\7\15\0\1\7\2\0\1\7\4\0\1\7\2\0\12\7\1\0\1\7\3\0\5\7\6\0" + + "\1\7\1\0\1\7\1\0\1\7\1\0\4\7\1\0\13\7\2\0\4\7\5\0\5\7\4\0\1\7\4\0\2\7\13\0" + + "\5\7\6\0\4\7\3\0\2\7\14\0\10\7\7\0\10\7\1\0\7\7\1\0\1\4\4\0\2\7\12\0\5\7\5" + + "\0\2\7\3\0\7\7\6\0\3\7\12\16\2\7\13\0\11\7\2\0\27\7\2\0\7\7\1\0\3\7\1\0\4" + + "\7\1\0\4\7\2\0\6\7\3\0\1\7\1\0\1\7\2\0\5\7\1\0\12\7\12\16\5\7\1\0\3\7\1\0" + + "\10\7\4\0\7\7\3\0\1\7\3\0\2\7\1\0\1\7\3\0\2\7\2\0\5\7\2\0\1\7\1\0\1\7\30\0" + + "\3\7\3\0\6\7\2\0\6\7\2\0\6\7\11\0\7\7\4\0\5\7\3\0\5\7\5\0\1\7\1\0\10\7\1\0" + + "\5\7\1\0\1\7\1\0\2\7\1\0\2\7\1\0\12\7\6\0\12\7\2\0\6\7\2\0\6\7\2\0\6\7\2\0" + + "\3\7\3\0\14\7\1\0\16\7\1\0\2\7\1\0\2\7\1\0\10\7\6\0\4\7\4\0\16\7\2\0\1\7\1" + + "\0\14\7\1\0\2\7\3\0\1\7\2\0\4\7\1\0\2\7\12\0\10\7\6\0\6\7\1\0\3\7\1\0\12\7" + + "\3\0\1\7\12\0\4\7\13\0\12\16\1\7\1\0\1\7\3\0\7\7\1\0\1\7\1\0\4\7\1\0\17\7" + + "\1\0\2\7\14\0\3\7\7\0\4\7\11\0\2\7\1\0\1\7\20\0\4\7\10\0\1\7\13\0\10\7\5\0" + + "\3\7\2\0\1\7\2\0\2\7\2\0\4\7\1\0\14\7\1\0\1\7\1\0\7\7\1\0\21\7\1\0\4\7\2\0" + + "\10\7\1\0\7\7\1\0\14\7\1\0\4\7\1\0\5\7\1\0\1\7\3\0\14\7\2\0\13\7\1\0\10\7" + + "\2\0\22\16\1\0\2\7\1\0\1\7\2\0\1\7\1\0\12\7\1\0\4\7\1\0\1\7\1\0\1\7\6\0\1" + + "\7\4\0\1\7\1\0\1\7\1\0\1\7\1\0\3\7\1\0\2\7\1\0\1\7\2\0\1\7\1\0\1\7\1\0\1\7" + + "\1\0\1\7\1\0\1\7\1\0\2\7\1\0\1\7\2\0\4\7\1\0\7\7\1\0\4\7\1\0\4\7\1\0\1\7\1" + + "\0\12\7\1\0\5\7\1\0\3\7\1\0\5\7\1\0\5\7"); /** * Translates DFA states to action switch labels. @@ -185,21 +185,20 @@ public class _M68kLexer implements FlexLexer { "\7\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\4\13\1\14\2\13" + "\1\15\2\13\1\16\1\1\1\14\1\17\4\14\1\20" + - "\1\21\1\22\1\23\1\24\1\14\4\1\1\25\1\26" + - "\1\27\1\30\1\14\1\31\1\32\1\33\1\34\1\35" + - "\1\36\1\37\1\40\1\41\1\42\1\43\1\44\1\45" + - "\1\46\2\14\1\21\1\0\1\47\1\4\2\50\3\10" + - "\1\51\11\13\1\52\1\53\1\54\1\55\1\56\1\57" + - "\1\14\1\60\1\52\1\53\1\61\1\62\1\14\1\63" + - "\1\0\1\64\6\0\1\65\1\0\1\66\1\64\1\67" + - "\1\70\1\14\1\71\1\72\1\73\2\14\2\0\1\4" + - "\1\50\4\13\1\74\4\13\1\75\1\76\1\77\1\100" + - "\2\0\2\13\1\101\1\13\1\102\1\103\1\104\1\105" + - "\1\106\1\107\1\13\1\110\1\0\3\13\1\111\1\112" + - "\2\13\1\113\1\114"; + "\1\14\1\1\1\21\1\14\4\1\1\22\1\23\1\24" + + "\1\14\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\14\1\0\1\41" + + "\1\4\2\42\3\10\1\43\11\13\1\44\1\45\1\46" + + "\1\47\1\50\1\51\1\14\1\52\1\44\1\45\1\53" + + "\1\54\1\14\1\55\1\0\1\56\6\0\1\57\1\0" + + "\1\60\1\56\1\61\1\62\1\14\1\63\1\64\1\65" + + "\2\14\2\0\1\4\1\42\4\13\1\66\4\13\1\67" + + "\1\70\1\71\1\72\2\0\2\13\1\73\1\13\1\74" + + "\1\75\1\76\1\77\1\100\1\101\1\13\1\102\1\0" + + "\3\13\1\103\1\104\2\13\1\105\1\106"; private static int[] zzUnpackAction() { - int[] result = new int[166]; + int[] result = new int[161]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; @@ -224,30 +223,30 @@ public class _M68kLexer implements FlexLexer { private static final int[] ZZ_ROWMAP = zzUnpackRowMap(); private static final String ZZ_ROWMAP_PACKED_0 = - "\0\0\0\102\0\204\0\306\0\u0108\0\u014a\0\u018c\0\u01ce" + - "\0\u01ce\0\u0210\0\u0252\0\u0294\0\u02d6\0\u0318\0\u01ce\0\u035a" + - "\0\u039c\0\u03de\0\u0420\0\u0462\0\u04a4\0\u01ce\0\u04e6\0\u0528" + - "\0\u056a\0\u05ac\0\u05ee\0\u0630\0\u0672\0\u06b4\0\u06f6\0\u0738" + - "\0\u077a\0\u07bc\0\u07fe\0\u0840\0\u0882\0\u08c4\0\u0906\0\u0948" + - "\0\u098a\0\u09cc\0\u0a0e\0\u01ce\0\u0a50\0\u0a92\0\u0ad4\0\u0b16" + - "\0\u0b58\0\u0b9a\0\u0bdc\0\u0c1e\0\u0c60\0\u06f6\0\u01ce\0\u0ca2" + - "\0\u0ce4\0\u0d26\0\u0d68\0\u01ce\0\u01ce\0\u01ce\0\u01ce\0\u01ce" + - "\0\u01ce\0\u01ce\0\u01ce\0\u01ce\0\u01ce\0\u01ce\0\u0daa\0\u0dec" + - "\0\u0630\0\u0e2e\0\u0e70\0\u0eb2\0\u0ef4\0\u0f36\0\u0f78\0\u0fba" + - "\0\u0ffc\0\u103e\0\u1080\0\u10c2\0\u1104\0\u1146\0\u1188\0\u11ca" + - "\0\u120c\0\u124e\0\u1290\0\u01ce\0\u01ce\0\u0630\0\u0630\0\u0630" + - "\0\u0630\0\u12d2\0\u01ce\0\u0630\0\u0630\0\u0a50\0\u0a92\0\u1314" + - "\0\u0b16\0\u0b58\0\u01ce\0\u1356\0\u0b9a\0\u1398\0\u0bdc\0\u13da" + - "\0\u141c\0\u141c\0\u145e\0\u141c\0\u141c\0\u01ce\0\u01ce\0\u14a0" + - "\0\u01ce\0\u01ce\0\u01ce\0\u14e2\0\u1524\0\u1566\0\u15a8\0\u01ce" + - "\0\u01ce\0\u15ea\0\u162c\0\u166e\0\u16b0\0\u16f2\0\u1734\0\u1776" + - "\0\u17b8\0\u17fa\0\u0630\0\u0630\0\u0630\0\u0630\0\u183c\0\u187e" + - "\0\u18c0\0\u1902\0\u05ac\0\u1944\0\u05ac\0\u05ac\0\u05ac\0\u05ac" + - "\0\u05ac\0\u05ac\0\u1986\0\u05ac\0\u0e70\0\u19c8\0\u1a0a\0\u1a4c" + - "\0\u05ac\0\u05ac\0\u1a8e\0\u1ad0\0\u05ac\0\u05ac"; + "\0\0\0\100\0\200\0\300\0\u0100\0\u0140\0\u0180\0\u01c0" + + "\0\u01c0\0\u0200\0\u0240\0\u0280\0\u02c0\0\u0300\0\u01c0\0\u0340" + + "\0\u0380\0\u03c0\0\u0400\0\u0440\0\u0480\0\u01c0\0\u04c0\0\u0500" + + "\0\u0540\0\u0580\0\u05c0\0\u0600\0\u0640\0\u0680\0\u06c0\0\u0700" + + "\0\u0740\0\u0780\0\u07c0\0\u0800\0\u0840\0\u0880\0\u08c0\0\u0900" + + "\0\u0940\0\u0980\0\u09c0\0\u0a00\0\u0a40\0\u0a80\0\u0ac0\0\u0b00" + + "\0\u0b40\0\u0b80\0\u0bc0\0\u0c00\0\u01c0\0\u0c40\0\u0c80\0\u0cc0" + + "\0\u0d00\0\u01c0\0\u01c0\0\u01c0\0\u01c0\0\u01c0\0\u01c0\0\u01c0" + + "\0\u01c0\0\u01c0\0\u0d40\0\u0d80\0\u0dc0\0\u0e00\0\u0e40\0\u0e80" + + "\0\u0ec0\0\u0f00\0\u0f40\0\u0f80\0\u0fc0\0\u1000\0\u1040\0\u1080" + + "\0\u10c0\0\u1100\0\u1140\0\u1180\0\u11c0\0\u1200\0\u01c0\0\u01c0" + + "\0\u0600\0\u0600\0\u0600\0\u0600\0\u1240\0\u01c0\0\u0600\0\u0600" + + "\0\u0a00\0\u0a40\0\u1280\0\u0ac0\0\u0b00\0\u01c0\0\u12c0\0\u0b40" + + "\0\u1300\0\u0b80\0\u1340\0\u1380\0\u1380\0\u13c0\0\u1380\0\u1380" + + "\0\u01c0\0\u01c0\0\u1400\0\u01c0\0\u01c0\0\u01c0\0\u1440\0\u1480" + + "\0\u14c0\0\u1500\0\u01c0\0\u01c0\0\u1540\0\u1580\0\u15c0\0\u1600" + + "\0\u1640\0\u1680\0\u16c0\0\u1700\0\u1740\0\u0600\0\u0600\0\u0600" + + "\0\u0600\0\u1780\0\u17c0\0\u1800\0\u1840\0\u0580\0\u1880\0\u0580" + + "\0\u0580\0\u0580\0\u0580\0\u0580\0\u0580\0\u18c0\0\u0580\0\u0e00" + + "\0\u1900\0\u1940\0\u1980\0\u0580\0\u0580\0\u19c0\0\u1a00\0\u0580" + + "\0\u0580"; private static int[] zzUnpackRowMap() { - int[] result = new int[166]; + int[] result = new int[161]; int offset = 0; offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result); return result; @@ -272,164 +271,163 @@ public class _M68kLexer implements FlexLexer { private static final String ZZ_TRANS_PACKED_0 = "\1\10\2\11\1\12\1\13\4\14\1\10\4\14\1\10" + "\4\14\1\10\1\15\2\10\3\14\2\10\4\14\1\10" + - "\1\14\7\10\2\16\11\14\13\10\1\16\3\10\2\17" + + "\1\14\7\10\2\16\11\14\11\10\1\16\3\10\2\17" + "\1\20\1\21\4\22\1\10\3\22\1\23\1\10\4\22" + "\1\10\1\24\2\10\3\22\2\10\4\22\1\10\1\22" + - "\7\10\2\25\11\22\13\10\1\25\3\10\2\26\1\27" + + "\7\10\2\25\11\22\11\10\1\25\3\10\2\26\1\27" + "\1\21\1\30\1\31\2\32\1\10\1\33\2\32\1\34" + "\1\10\1\35\3\32\1\10\1\34\2\10\1\32\1\33" + "\1\32\2\10\1\31\1\36\2\32\1\10\1\35\7\10" + - "\1\37\1\10\2\32\1\36\4\32\1\40\1\41\17\10" + - "\2\26\1\27\1\42\17\10\1\43\24\10\1\37\31\10" + + "\1\37\1\10\2\32\1\36\4\32\1\40\1\41\15\10" + + "\2\26\1\27\1\42\17\10\1\43\24\10\1\37\27\10" + "\2\26\1\27\1\21\3\34\1\44\1\45\1\46\1\47" + "\1\50\1\34\1\10\2\34\1\51\1\34\1\52\1\53" + - "\1\54\1\55\1\34\1\46\1\34\1\56\1\45\1\34" + - "\1\57\1\44\1\50\1\45\1\34\1\60\1\61\1\10" + - "\1\62\1\63\1\64\1\65\1\66\1\67\1\70\1\34" + - "\1\57\6\34\1\71\1\72\1\73\1\74\1\75\1\76" + - "\1\77\1\100\1\101\1\102\1\103\1\104\1\105\1\106" + - "\1\10\2\26\1\27\1\21\4\34\1\45\1\107\3\34" + - "\1\10\1\110\3\34\1\52\1\111\1\54\1\55\1\34" + - "\1\107\1\34\1\56\1\45\4\34\1\45\1\110\1\60" + - "\1\61\1\10\1\62\1\63\1\64\1\65\1\66\1\10" + - "\11\34\1\71\1\72\1\73\1\74\1\75\1\76\1\77" + - "\1\100\1\101\1\102\1\103\1\104\1\105\2\10\2\26" + - "\1\27\76\10\104\0\1\11\103\0\1\13\101\0\1\112" + - "\16\14\1\113\1\0\1\114\1\115\3\14\1\0\7\14" + - "\11\0\11\14\23\0\4\116\1\0\4\116\1\0\4\116" + - "\4\0\3\116\2\0\4\116\1\0\1\116\11\0\11\116" + - "\16\0\1\16\3\0\76\16\2\0\1\17\103\0\1\21" + - "\102\0\4\22\1\23\3\22\2\23\4\22\2\0\1\114" + - "\1\117\3\22\1\0\1\23\4\22\1\23\1\22\11\0" + - "\11\22\23\0\16\23\2\0\1\114\1\117\3\23\1\0" + - "\7\23\11\0\11\23\23\0\4\120\1\121\4\120\1\121" + - "\4\120\3\0\1\121\3\120\1\0\1\121\4\120\1\121" + - "\1\120\11\0\11\120\16\0\1\25\3\0\76\25\2\0" + - "\1\26\104\0\1\32\1\122\2\32\1\34\3\32\2\34" + - "\4\32\3\0\1\34\3\32\1\0\1\34\1\122\3\32" + - "\1\34\1\32\11\0\1\32\1\123\7\32\23\0\3\32" + - "\1\124\1\34\3\32\2\34\4\32\3\0\1\34\3\32" + - "\1\0\1\34\2\32\1\124\1\32\1\34\1\32\11\0" + - "\11\32\23\0\4\32\1\34\3\32\2\34\4\32\3\0" + - "\1\34\3\32\1\0\1\34\4\32\1\34\1\32\11\0" + - "\11\32\23\0\4\32\1\34\3\32\2\34\1\125\3\32" + - "\3\0\1\34\3\32\1\0\1\34\4\32\1\34\1\125" + - "\11\0\11\32\23\0\16\34\3\0\4\34\1\0\7\34" + - "\11\0\11\34\23\0\4\32\1\34\3\32\2\34\4\32" + - "\3\0\1\34\3\32\1\0\1\34\4\32\1\34\1\32" + - "\11\0\1\126\1\127\2\32\2\130\3\32\23\0\4\32" + - "\1\34\3\32\2\34\4\32\3\0\1\34\3\32\1\0" + - "\1\34\4\32\1\34\1\32\11\0\1\32\1\131\7\32" + - "\16\0\1\37\3\0\76\37\5\0\3\32\1\132\1\34" + + "\1\10\1\54\1\34\1\46\1\34\1\55\1\45\1\34" + + "\1\56\1\44\1\50\1\45\1\34\1\57\1\60\1\10" + + "\1\61\1\62\1\63\1\64\1\37\1\65\1\66\1\34" + + "\1\56\6\34\1\67\1\70\1\71\1\72\1\73\1\74" + + "\1\75\1\76\1\77\1\100\1\101\1\102\1\10\2\26" + + "\1\27\1\21\4\34\1\45\1\103\3\34\1\10\1\104" + + "\3\34\1\52\1\34\1\10\1\54\1\34\1\103\1\34" + + "\1\55\1\45\4\34\1\45\1\104\1\57\1\60\1\10" + + "\1\61\1\62\1\63\1\64\1\37\1\10\11\34\1\67" + + "\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77" + + "\1\100\1\101\2\10\2\26\1\27\74\10\102\0\1\11" + + "\101\0\1\13\77\0\1\105\16\14\1\106\1\0\1\107" + + "\1\110\3\14\1\0\7\14\11\0\11\14\21\0\4\111" + + "\1\0\4\111\1\0\4\111\4\0\3\111\2\0\4\111" + + "\1\0\1\111\11\0\11\111\14\0\1\16\3\0\74\16" + + "\2\0\1\17\101\0\1\21\100\0\4\22\1\23\3\22" + + "\2\23\4\22\2\0\1\107\1\112\3\22\1\0\1\23" + + "\4\22\1\23\1\22\11\0\11\22\21\0\16\23\2\0" + + "\1\107\1\112\3\23\1\0\7\23\11\0\11\23\21\0" + + "\4\113\1\114\4\113\1\114\4\113\3\0\1\114\3\113" + + "\1\0\1\114\4\113\1\114\1\113\11\0\11\113\14\0" + + "\1\25\3\0\74\25\2\0\1\26\102\0\1\32\1\115" + + "\2\32\1\34\3\32\2\34\4\32\3\0\1\34\3\32" + + "\1\0\1\34\1\115\3\32\1\34\1\32\11\0\1\32" + + "\1\116\7\32\21\0\3\32\1\117\1\34\3\32\2\34" + + "\4\32\3\0\1\34\3\32\1\0\1\34\2\32\1\117" + + "\1\32\1\34\1\32\11\0\11\32\21\0\4\32\1\34" + "\3\32\2\34\4\32\3\0\1\34\3\32\1\0\1\34" + - "\2\32\1\132\1\32\1\34\1\32\11\0\11\32\23\0" + - "\4\32\1\34\3\32\2\34\1\133\3\32\3\0\1\34" + - "\3\32\1\0\1\34\4\32\1\34\1\133\11\0\11\32" + - "\22\0\1\42\124\0\2\134\1\135\26\0\1\135\26\0" + - "\4\34\1\136\11\34\3\0\4\34\1\0\1\136\6\34" + - "\11\0\11\34\27\0\1\45\21\0\1\45\4\0\1\45" + - "\46\0\6\34\1\136\7\34\3\0\4\34\1\0\7\34" + - "\11\0\10\34\1\137\23\0\16\34\3\0\4\34\1\0" + - "\2\34\1\140\4\34\11\0\2\34\1\140\6\34\23\0" + - "\4\34\1\141\11\34\3\0\4\34\1\0\1\141\6\34" + - "\11\0\11\34\23\0\5\34\1\142\10\34\3\0\2\34" + - "\1\142\1\34\1\0\7\34\11\0\11\34\41\0\1\143" + - "\63\0\16\34\3\0\1\34\2\144\1\145\1\0\7\34" + - "\11\0\5\34\1\145\3\34\27\0\1\146\15\0\1\146" + - "\3\0\7\146\73\0\1\147\53\0\16\34\3\0\4\34" + - "\1\0\2\34\1\150\4\34\11\0\2\34\1\150\6\34" + - "\27\0\1\151\21\0\1\151\46\0\43\152\1\153\1\154" + - "\35\152\44\155\1\156\1\153\34\155\44\157\1\160\1\157" + - "\1\153\33\157\23\161\1\162\17\161\1\0\1\163\2\161" + - "\1\164\1\165\31\161\23\0\1\166\24\0\1\167\36\0" + - "\16\34\3\0\1\34\1\170\2\34\1\0\7\34\11\0" + - "\6\34\1\170\2\34\102\0\1\171\102\0\1\172\37\0" + - "\1\173\63\0\12\34\1\174\3\34\3\0\4\34\1\0" + - "\6\34\1\174\11\0\11\34\23\0\13\34\1\175\2\34" + - "\3\0\4\34\1\0\7\34\11\0\11\34\22\0\1\112" + - "\5\0\1\176\4\0\1\177\3\0\1\113\4\0\1\176" + - "\10\0\1\177\44\0\1\113\122\0\1\200\101\0\1\201" + - "\61\0\16\116\2\0\1\201\1\0\3\116\1\0\7\116" + - "\11\0\11\116\23\0\16\121\2\0\1\201\4\121\1\0" + - "\7\121\11\0\11\121\23\0\16\120\2\0\1\201\1\121" + - "\3\120\1\0\7\120\11\0\11\120\23\0\16\121\3\0" + - "\4\121\1\0\7\121\11\0\11\121\23\0\4\122\1\34" + - "\3\122\2\34\4\122\3\0\1\34\3\122\1\0\1\34" + - "\4\122\1\34\1\122\11\0\11\122\23\0\4\32\1\34" + - "\3\32\2\34\4\32\3\0\1\34\3\32\1\0\1\34" + - "\1\32\1\202\2\32\1\34\1\32\11\0\2\32\1\202" + - "\6\32\23\0\1\203\3\32\1\34\3\32\2\34\4\32" + - "\3\0\1\34\3\32\1\0\1\34\4\32\1\34\1\32" + - "\11\0\11\32\23\0\4\32\1\34\3\32\2\34\4\32" + - "\3\0\1\34\3\32\1\0\1\34\1\32\1\204\2\32" + - "\1\34\1\32\11\0\2\32\1\204\6\32\23\0\4\32" + - "\1\34\3\32\2\34\1\205\3\32\3\0\1\34\3\32" + - "\1\0\1\34\4\32\1\34\1\205\11\0\11\32\23\0" + - "\4\32\1\34\2\32\1\206\2\34\4\32\3\0\1\34" + - "\3\32\1\0\1\34\3\32\1\206\1\34\1\32\11\0" + - "\11\32\23\0\4\32\1\34\1\207\2\32\2\34\4\32" + - "\3\0\1\34\1\32\1\207\1\32\1\0\1\34\4\32" + - "\1\34\1\32\11\0\11\32\23\0\4\32\1\34\3\32" + - "\2\34\4\32\3\0\1\34\3\32\1\0\1\34\4\32" + - "\1\34\1\32\11\0\3\32\1\210\5\32\23\0\4\32" + + "\4\32\1\34\1\32\11\0\11\32\21\0\4\32\1\34" + + "\3\32\2\34\1\120\3\32\3\0\1\34\3\32\1\0" + + "\1\34\4\32\1\34\1\120\11\0\11\32\21\0\16\34" + + "\3\0\4\34\1\0\7\34\11\0\11\34\21\0\4\32" + "\1\34\3\32\2\34\4\32\3\0\1\34\3\32\1\0" + - "\1\34\1\32\1\211\2\32\1\34\1\32\11\0\2\32" + - "\1\211\6\32\23\0\4\32\1\34\1\32\1\212\1\32" + - "\2\34\4\32\3\0\1\34\3\32\1\0\1\34\4\32" + - "\1\34\1\32\11\0\11\32\23\0\6\34\1\213\7\34" + - "\3\0\4\34\1\0\7\34\11\0\11\34\23\0\16\34" + - "\3\0\4\34\1\0\7\34\11\0\10\34\1\214\16\0" + - "\1\152\3\0\76\152\1\155\3\0\76\155\1\157\3\0" + - "\76\157\43\161\1\0\1\163\3\161\1\165\32\161\3\0" + - "\76\161\5\0\16\34\3\0\4\34\1\0\7\34\11\0" + - "\10\34\1\215\23\0\15\34\1\216\3\0\4\34\1\0" + - "\7\34\11\0\11\34\23\0\14\34\1\216\1\34\3\0" + - "\4\34\1\0\7\34\11\0\11\34\35\0\1\217\21\0" + - "\1\217\60\0\1\220\66\0\4\32\1\34\3\32\2\34" + - "\4\32\3\0\1\34\1\221\2\32\1\0\1\34\4\32" + - "\1\34\1\32\11\0\4\32\2\222\1\221\2\32\23\0" + - "\4\32\1\34\3\32\2\34\4\32\3\0\1\34\3\32" + - "\1\0\1\34\4\32\1\34\1\32\11\0\4\32\2\223" + - "\3\32\23\0\4\32\1\34\3\32\2\34\3\32\1\224" + + "\1\34\4\32\1\34\1\32\11\0\1\121\1\122\2\32" + + "\2\123\3\32\21\0\4\32\1\34\3\32\2\34\4\32" + "\3\0\1\34\3\32\1\0\1\34\4\32\1\34\1\32" + - "\11\0\11\32\23\0\4\32\1\34\3\32\2\34\4\32" + - "\3\0\1\34\3\32\1\0\1\34\4\32\1\34\1\32" + - "\11\0\1\32\1\225\7\32\23\0\4\32\1\34\3\32" + - "\2\34\4\32\3\0\1\34\3\32\1\0\1\34\1\32" + - "\1\226\2\32\1\34\1\32\11\0\2\32\1\226\4\32" + - "\1\227\1\230\23\0\4\32\1\34\3\32\2\34\1\231" + + "\11\0\1\32\1\124\7\32\14\0\1\37\3\0\74\37" + + "\5\0\3\32\1\125\1\34\3\32\2\34\4\32\3\0" + + "\1\34\3\32\1\0\1\34\2\32\1\125\1\32\1\34" + + "\1\32\11\0\11\32\21\0\4\32\1\34\3\32\2\34" + + "\1\126\3\32\3\0\1\34\3\32\1\0\1\34\4\32" + + "\1\34\1\126\11\0\11\32\20\0\1\42\122\0\2\127" + + "\1\130\26\0\1\130\24\0\4\34\1\131\11\34\3\0" + + "\4\34\1\0\1\131\6\34\11\0\11\34\25\0\1\45" + + "\21\0\1\45\4\0\1\45\44\0\6\34\1\131\7\34" + + "\3\0\4\34\1\0\7\34\11\0\10\34\1\132\21\0" + + "\16\34\3\0\4\34\1\0\2\34\1\133\4\34\11\0" + + "\2\34\1\133\6\34\21\0\4\34\1\134\11\34\3\0" + + "\4\34\1\0\1\134\6\34\11\0\11\34\21\0\5\34" + + "\1\135\10\34\3\0\2\34\1\135\1\34\1\0\7\34" + + "\11\0\11\34\37\0\1\136\61\0\16\34\3\0\1\34" + + "\2\137\1\140\1\0\7\34\11\0\5\34\1\140\3\34" + + "\25\0\1\141\15\0\1\141\3\0\7\141\71\0\1\142" + + "\51\0\16\34\3\0\4\34\1\0\2\34\1\143\4\34" + + "\11\0\2\34\1\143\6\34\25\0\1\144\21\0\1\144" + + "\44\0\43\145\1\146\1\147\33\145\44\150\1\151\1\146" + + "\32\150\44\152\1\153\1\152\1\146\31\152\23\154\1\155" + + "\17\154\1\0\1\156\2\154\1\157\1\160\27\154\23\0" + + "\1\161\24\0\1\162\34\0\16\34\3\0\1\34\1\163" + + "\2\34\1\0\7\34\11\0\6\34\1\163\2\34\100\0" + + "\1\164\100\0\1\165\35\0\1\166\61\0\12\34\1\167" + + "\3\34\3\0\4\34\1\0\6\34\1\167\11\0\11\34" + + "\21\0\13\34\1\170\2\34\3\0\4\34\1\0\7\34" + + "\11\0\11\34\20\0\1\105\5\0\1\171\4\0\1\172" + + "\3\0\1\106\4\0\1\171\10\0\1\172\42\0\1\106" + + "\120\0\1\173\77\0\1\174\57\0\16\111\2\0\1\174" + + "\1\0\3\111\1\0\7\111\11\0\11\111\21\0\16\114" + + "\2\0\1\174\4\114\1\0\7\114\11\0\11\114\21\0" + + "\16\113\2\0\1\174\1\114\3\113\1\0\7\113\11\0" + + "\11\113\21\0\16\114\3\0\4\114\1\0\7\114\11\0" + + "\11\114\21\0\4\115\1\34\3\115\2\34\4\115\3\0" + + "\1\34\3\115\1\0\1\34\4\115\1\34\1\115\11\0" + + "\11\115\21\0\4\32\1\34\3\32\2\34\4\32\3\0" + + "\1\34\3\32\1\0\1\34\1\32\1\175\2\32\1\34" + + "\1\32\11\0\2\32\1\175\6\32\21\0\1\176\3\32" + + "\1\34\3\32\2\34\4\32\3\0\1\34\3\32\1\0" + + "\1\34\4\32\1\34\1\32\11\0\11\32\21\0\4\32" + + "\1\34\3\32\2\34\4\32\3\0\1\34\3\32\1\0" + + "\1\34\1\32\1\177\2\32\1\34\1\32\11\0\2\32" + + "\1\177\6\32\21\0\4\32\1\34\3\32\2\34\1\200" + "\3\32\3\0\1\34\3\32\1\0\1\34\4\32\1\34" + - "\1\231\11\0\11\32\23\0\4\32\1\34\1\32\1\232" + - "\1\32\2\34\4\32\3\0\1\34\3\32\1\0\1\34" + - "\4\32\1\34\1\32\11\0\11\32\23\0\4\32\1\34" + - "\3\32\2\34\4\32\3\0\1\34\3\32\1\0\1\34" + - "\4\32\1\34\1\32\11\0\10\32\1\233\23\0\4\32" + - "\1\34\3\32\2\34\3\32\1\234\3\0\1\34\3\32" + - "\1\0\1\34\4\32\1\34\1\32\11\0\11\32\40\0" + - "\1\235\100\0\1\235\65\0\1\236\3\32\1\34\3\32" + - "\2\34\4\32\3\0\1\34\3\32\1\0\1\34\4\32" + - "\1\34\1\32\11\0\11\32\23\0\4\32\1\34\3\32" + - "\2\34\2\32\1\237\1\32\3\0\1\34\3\32\1\0" + - "\1\34\4\32\1\34\1\32\11\0\11\32\23\0\1\240" + - "\3\32\1\34\3\32\2\34\4\32\3\0\1\34\3\32" + - "\1\0\1\34\4\32\1\34\1\32\11\0\11\32\23\0" + - "\4\32\1\34\3\32\2\34\4\32\3\0\1\34\3\32" + - "\1\0\1\34\4\32\1\34\1\32\11\0\3\32\1\241" + - "\5\32\23\0\4\32\1\34\3\32\2\34\4\32\3\0" + - "\1\34\3\32\1\0\1\34\4\32\1\34\1\32\11\0" + - "\1\32\1\242\7\32\23\0\4\32\1\34\2\32\1\243" + + "\1\200\11\0\11\32\21\0\4\32\1\34\2\32\1\201" + "\2\34\4\32\3\0\1\34\3\32\1\0\1\34\3\32" + - "\1\243\1\34\1\32\11\0\11\32\23\0\4\32\1\34" + + "\1\201\1\34\1\32\11\0\11\32\21\0\4\32\1\34" + + "\1\202\2\32\2\34\4\32\3\0\1\34\1\32\1\202" + + "\1\32\1\0\1\34\4\32\1\34\1\32\11\0\11\32" + + "\21\0\4\32\1\34\3\32\2\34\4\32\3\0\1\34" + + "\3\32\1\0\1\34\4\32\1\34\1\32\11\0\3\32" + + "\1\203\5\32\21\0\4\32\1\34\3\32\2\34\4\32" + + "\3\0\1\34\3\32\1\0\1\34\1\32\1\204\2\32" + + "\1\34\1\32\11\0\2\32\1\204\6\32\21\0\4\32" + + "\1\34\1\32\1\205\1\32\2\34\4\32\3\0\1\34" + + "\3\32\1\0\1\34\4\32\1\34\1\32\11\0\11\32" + + "\21\0\6\34\1\206\7\34\3\0\4\34\1\0\7\34" + + "\11\0\11\34\21\0\16\34\3\0\4\34\1\0\7\34" + + "\11\0\10\34\1\207\14\0\1\145\3\0\74\145\1\150" + + "\3\0\74\150\1\152\3\0\74\152\43\154\1\0\1\156" + + "\3\154\1\160\30\154\3\0\74\154\5\0\16\34\3\0" + + "\4\34\1\0\7\34\11\0\10\34\1\210\21\0\15\34" + + "\1\211\3\0\4\34\1\0\7\34\11\0\11\34\21\0" + + "\14\34\1\211\1\34\3\0\4\34\1\0\7\34\11\0" + + "\11\34\33\0\1\212\21\0\1\212\56\0\1\213\64\0" + + "\4\32\1\34\3\32\2\34\4\32\3\0\1\34\1\214" + + "\2\32\1\0\1\34\4\32\1\34\1\32\11\0\4\32" + + "\2\215\1\214\2\32\21\0\4\32\1\34\3\32\2\34" + + "\4\32\3\0\1\34\3\32\1\0\1\34\4\32\1\34" + + "\1\32\11\0\4\32\2\216\3\32\21\0\4\32\1\34" + + "\3\32\2\34\3\32\1\217\3\0\1\34\3\32\1\0" + + "\1\34\4\32\1\34\1\32\11\0\11\32\21\0\4\32" + + "\1\34\3\32\2\34\4\32\3\0\1\34\3\32\1\0" + + "\1\34\4\32\1\34\1\32\11\0\1\32\1\220\7\32" + + "\21\0\4\32\1\34\3\32\2\34\4\32\3\0\1\34" + + "\3\32\1\0\1\34\1\32\1\221\2\32\1\34\1\32" + + "\11\0\2\32\1\221\4\32\1\222\1\223\21\0\4\32" + + "\1\34\3\32\2\34\1\224\3\32\3\0\1\34\3\32" + + "\1\0\1\34\4\32\1\34\1\224\11\0\11\32\21\0" + + "\4\32\1\34\1\32\1\225\1\32\2\34\4\32\3\0" + + "\1\34\3\32\1\0\1\34\4\32\1\34\1\32\11\0" + + "\11\32\21\0\4\32\1\34\3\32\2\34\4\32\3\0" + + "\1\34\3\32\1\0\1\34\4\32\1\34\1\32\11\0" + + "\10\32\1\226\21\0\4\32\1\34\3\32\2\34\3\32" + + "\1\227\3\0\1\34\3\32\1\0\1\34\4\32\1\34" + + "\1\32\11\0\11\32\36\0\1\230\76\0\1\230\63\0" + + "\1\231\3\32\1\34\3\32\2\34\4\32\3\0\1\34" + + "\3\32\1\0\1\34\4\32\1\34\1\32\11\0\11\32" + + "\21\0\4\32\1\34\3\32\2\34\2\32\1\232\1\32" + + "\3\0\1\34\3\32\1\0\1\34\4\32\1\34\1\32" + + "\11\0\11\32\21\0\1\233\3\32\1\34\3\32\2\34" + + "\4\32\3\0\1\34\3\32\1\0\1\34\4\32\1\34" + + "\1\32\11\0\11\32\21\0\4\32\1\34\3\32\2\34" + + "\4\32\3\0\1\34\3\32\1\0\1\34\4\32\1\34" + + "\1\32\11\0\3\32\1\234\5\32\21\0\4\32\1\34" + "\3\32\2\34\4\32\3\0\1\34\3\32\1\0\1\34" + - "\4\32\1\34\1\32\11\0\3\32\1\244\5\32\23\0" + - "\4\32\1\34\3\32\2\34\1\245\3\32\3\0\1\34" + - "\3\32\1\0\1\34\4\32\1\34\1\245\11\0\11\32" + - "\23\0\4\32\1\34\3\32\2\34\4\32\3\0\1\34" + - "\3\32\1\0\1\34\4\32\1\34\1\32\11\0\1\32" + - "\1\246\7\32\16\0"; + "\4\32\1\34\1\32\11\0\1\32\1\235\7\32\21\0" + + "\4\32\1\34\2\32\1\236\2\34\4\32\3\0\1\34" + + "\3\32\1\0\1\34\3\32\1\236\1\34\1\32\11\0" + + "\11\32\21\0\4\32\1\34\3\32\2\34\4\32\3\0" + + "\1\34\3\32\1\0\1\34\4\32\1\34\1\32\11\0" + + "\3\32\1\237\5\32\21\0\4\32\1\34\3\32\2\34" + + "\1\240\3\32\3\0\1\34\3\32\1\0\1\34\4\32" + + "\1\34\1\240\11\0\11\32\21\0\4\32\1\34\3\32" + + "\2\34\4\32\3\0\1\34\3\32\1\0\1\34\4\32" + + "\1\34\1\32\11\0\1\32\1\241\7\32\14\0"; private static int[] zzUnpackTrans() { - int[] result = new int[6930]; + int[] result = new int[6720]; int offset = 0; offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result); return result; @@ -467,14 +465,14 @@ public class _M68kLexer implements FlexLexer { private static final int[] ZZ_ATTRIBUTE = zzUnpackAttribute(); private static final String ZZ_ATTRIBUTE_PACKED_0 = - "\7\0\2\11\5\1\1\11\6\1\1\11\25\1\1\11" + - "\12\1\1\11\4\1\13\11\3\1\1\0\21\1\2\11" + - "\5\1\1\11\6\1\1\0\1\11\6\0\1\1\1\0" + - "\2\1\2\11\1\1\3\11\2\1\2\0\2\11\15\1" + - "\2\0\14\1\1\0\11\1"; + "\7\0\2\11\5\1\1\11\6\1\1\11\36\1\1\11" + + "\4\1\11\11\2\1\1\0\21\1\2\11\5\1\1\11" + + "\6\1\1\0\1\11\6\0\1\1\1\0\2\1\2\11" + + "\1\1\3\11\2\1\2\0\2\11\15\1\2\0\14\1" + + "\1\0\11\1"; private static int[] zzUnpackAttribute() { - int[] result = new int[166]; + int[] result = new int[161]; int offset = 0; offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result); return result; @@ -797,40 +795,40 @@ public class _M68kLexer implements FlexLexer { return BAD_CHARACTER; } // fall through - case 77: + case 71: break; case 2: { return WHITE_SPACE; } // fall through - case 78: + case 72: break; case 3: { yybegin(NOSOL); return WHITE_SPACE; } // fall through - case 79: + case 73: break; case 4: { yybegin(INSTRPART); return GLOBAL_LABEL_DEF; } // fall through - case 80: + case 74: break; case 5: { return COMMENT; } // fall through - case 81: + case 75: break; case 6: { yybegin(YYINITIAL); return WHITE_SPACE; } // fall through - case 82: + case 76: break; case 7: { if (isAsmMnemonic(yytext())) { @@ -842,28 +840,28 @@ public class _M68kLexer implements FlexLexer { } } // fall through - case 83: + case 77: break; case 8: { yybegin(INSTRPART); return SYMBOL; } // fall through - case 84: + case 78: break; case 9: { yybegin(YYINITIAL); return COMMENT; } // fall through - case 85: + case 79: break; case 10: { yybegin(YYINITIAL); return EOL; } // fall through - case 86: + case 80: break; case 11: { if (isAsmMnemonic(yytext())) { @@ -874,402 +872,366 @@ public class _M68kLexer implements FlexLexer { } } // fall through - case 87: + case 81: break; case 12: { return SYMBOL; } // fall through - case 88: + case 82: break; case 13: { yybegin(WAITEOL); return COMMENT; } // fall through - case 89: + case 83: break; case 14: { yybegin(ASMOPS); return WHITE_SPACE; } // fall through - case 90: + case 84: break; case 15: { return DECIMAL; } // fall through - case 91: + case 85: break; case 16: { return OP_ASSIGN; } // fall through - case 92: + case 86: break; case 17: { - return DOT; + return OP_AR_MOD; + } + // fall through + case 87: + break; + case 18: { + return OP_CMP_LT; + } + // fall through + case 88: + break; + case 19: { + return OP_CMP_GT; + } + // fall through + case 89: + break; + case 20: { + return HASH; + } + // fall through + case 90: + break; + case 21: { + return OP_BITWISE_AND; + } + // fall through + case 91: + break; + case 22: { + return OP_BITWISE_OR; + } + // fall through + case 92: + break; + case 23: { + return OP_UNARY_NOT; } // fall through case 93: break; - case 18: { - return COLON; + case 24: { + return OP_BITWISE_XOR; } // fall through case 94: break; - case 19: { - return DOLLAR; + case 25: { + return ROUND_L; } // fall through case 95: break; - case 20: { - return OP_AR_MOD; + case 26: { + return ROUND_R; } // fall through case 96: break; - case 21: { - return OP_CMP_LT; + case 27: { + return OP_UNARY_COMPL; } // fall through case 97: break; - case 22: { - return OP_CMP_GT; + case 28: { + return OP_PLUS; } // fall through case 98: break; - case 23: { - return SEMICOLON; + case 29: { + return OP_MINUS; } // fall through case 99: break; - case 24: { - return HASH; + case 30: { + return OP_AR_MUL; } // fall through case 100: break; - case 25: { - return OP_BITWISE_AND; + case 31: { + return OP_AR_DIV; } // fall through case 101: break; - case 26: { - return OP_BITWISE_OR; + case 32: { + return SEPARATOR; } // fall through case 102: break; - case 27: { - return OP_UNARY_NOT; - } - // fall through - case 103: - break; - case 28: { - return OP_BITWISE_XOR; - } - // fall through - case 104: - break; - case 29: { - return SQUARE_L; - } - // fall through - case 105: - break; - case 30: { - return SQUARE_R; - } - // fall through - case 106: - break; - case 31: { - return ROUND_L; - } - // fall through - case 107: - break; - case 32: { - return ROUND_R; - } - // fall through - case 108: - break; case 33: { - return OP_UNARY_COMPL; - } - // fall through - case 109: - break; - case 34: { - return OP_PLUS; - } - // fall through - case 110: - break; - case 35: { - return OP_MINUS; - } - // fall through - case 111: - break; - case 36: { - return OP_AR_MUL; - } - // fall through - case 112: - break; - case 37: { - return OP_AR_DIV; - } - // fall through - case 113: - break; - case 38: { - return SEPARATOR; - } - // fall through - case 114: - break; - case 39: { yybegin(ASSIGNMENT); yypushback(pushbackAssignment(yytext())); return SYMBOLDEF; } // fall through - case 115: + case 103: break; - case 40: { + case 34: { yybegin(INSTRPART); return LOCAL_LABEL_DEF; } // fall through - case 116: + case 104: + break; + case 35: { + return IF_TAG; + } + // fall through + case 105: + break; + case 36: { + return OPSIZE_BS; + } + // fall through + case 106: + break; + case 37: { + return OPSIZE_WL; + } + // fall through + case 107: + break; + case 38: { + return AREG; + } + // fall through + case 108: + break; + case 39: { + return REG_SR; + } + // fall through + case 109: + break; + case 40: { + return PC; + } + // fall through + case 110: break; case 41: { - return IF_TAG; + return DREG; + } + // fall through + case 111: + break; + case 42: { + return OP_CMP_EQ; + } + // fall through + case 112: + break; + case 43: { + return HEXADECIMAL; + } + // fall through + case 113: + break; + case 44: { + return BINARY; + } + // fall through + case 114: + break; + case 45: { + return OCTAL; + } + // fall through + case 115: + break; + case 46: { + return STRINGLIT; + } + // fall through + case 116: + break; + case 47: { + return OP_CMP_LT_EQ; } // fall through case 117: break; - case 42: { - return OPSIZE_BS; + case 48: { + return OP_AR_SHIFT_L; } // fall through case 118: break; - case 43: { - return OPSIZE_WL; + case 49: { + return OP_CMP_GT_EQ; } // fall through case 119: break; - case 44: { - return AREG; + case 50: { + return OP_AR_SHIFT_R; } // fall through case 120: break; - case 45: { - return REG_SR; + case 51: { + return OP_LOGICAL_AND; } // fall through case 121: break; - case 46: { - return PC; + case 52: { + return OP_LOGICAL_OR; } // fall through case 122: break; - case 47: { - return DREG; + case 53: { + return OP_CMP_NOT_EQ; } // fall through case 123: break; - case 48: { - return OP_CMP_EQ; + case 54: { + return END_TAG; } // fall through case 124: break; - case 49: { - return HEXADECIMAL; + case 55: { + return REG_USP; } // fall through case 125: break; - case 50: { - return BINARY; + case 56: { + return REG_CCR; } // fall through case 126: break; - case 51: { - return OCTAL; + case 57: { + return REG_VBR; } // fall through case 127: break; - case 52: { - return STRINGLIT; + case 58: { + return EQU; } // fall through case 128: break; - case 53: { - return OP_CMP_LT_EQ; + case 59: { + return FAIL_TAG; } // fall through case 129: break; - case 54: { - return OP_AR_SHIFT_L; + case 60: { + return EVEN_TAG; } // fall through case 130: break; - case 55: { - return OP_CMP_GT_EQ; + case 61: { + return ENDC_TAG; } // fall through case 131: break; - case 56: { - return OP_AR_SHIFT_R; + case 62: { + return MACRO_END_TAG; } // fall through case 132: break; - case 57: { - return OP_LOGICAL_AND; + case 63: { + return REPT_END_TAG; } // fall through case 133: break; - case 58: { - return OP_LOGICAL_OR; + case 64: { + return ELSE_TAG; } // fall through case 134: break; - case 59: { - return OP_CMP_NOT_EQ; + case 65: { + return CNOP_TAG; } // fall through case 135: break; - case 60: { - return END_TAG; + case 66: { + return REPT_TAG; } // fall through case 136: break; - case 61: { - return REG_USP; + case 67: { + return MACRO_TAG; } // fall through case 137: break; - case 62: { - return REG_CCR; + case 68: { + return INCBIN_TAG; } // fall through case 138: break; - case 63: { - return REG_VBR; + case 69: { + return INCLUDE_TAG; } // fall through case 139: break; - case 64: { - return EQU; - } - // fall through - case 140: - break; - case 65: { - return FAIL_TAG; - } - // fall through - case 141: - break; - case 66: { - return EVEN_TAG; - } - // fall through - case 142: - break; - case 67: { - return ENDC_TAG; - } - // fall through - case 143: - break; - case 68: { - return MACRO_END_TAG; - } - // fall through - case 144: - break; - case 69: { - return REPT_END_TAG; - } - // fall through - case 145: - break; case 70: { - return ELSE_TAG; - } - // fall through - case 146: - break; - case 71: { - return CNOP_TAG; - } - // fall through - case 147: - break; - case 72: { - return REPT_TAG; - } - // fall through - case 148: - break; - case 73: { - return MACRO_TAG; - } - // fall through - case 149: - break; - case 74: { - return INCBIN_TAG; - } - // fall through - case 150: - break; - case 75: { - return INCLUDE_TAG; - } - // fall through - case 151: - break; - case 76: { return SECTION_TAG; } // fall through - case 152: + case 140: break; default: zzScanError(ZZ_NO_MATCH); diff --git a/src/main/gen/de/platon42/intellij/plugins/m68k/psi/M68kAddressRegister.java b/src/main/gen/de/platon42/intellij/plugins/m68k/psi/M68kAddressRegister.java index e58090a..0de80a8 100644 --- a/src/main/gen/de/platon42/intellij/plugins/m68k/psi/M68kAddressRegister.java +++ b/src/main/gen/de/platon42/intellij/plugins/m68k/psi/M68kAddressRegister.java @@ -1,12 +1,6 @@ // This is a generated file. Not intended for manual editing. package de.platon42.intellij.plugins.m68k.psi; -import com.intellij.psi.PsiElement; -import org.jetbrains.annotations.NotNull; - public interface M68kAddressRegister extends M68kRegister { - @NotNull - PsiElement getAreg(); - } diff --git a/src/main/gen/de/platon42/intellij/plugins/m68k/psi/M68kAddressSize.java b/src/main/gen/de/platon42/intellij/plugins/m68k/psi/M68kAddressSize.java index d685be5..404966a 100644 --- a/src/main/gen/de/platon42/intellij/plugins/m68k/psi/M68kAddressSize.java +++ b/src/main/gen/de/platon42/intellij/plugins/m68k/psi/M68kAddressSize.java @@ -2,11 +2,7 @@ package de.platon42.intellij.plugins.m68k.psi; import com.intellij.psi.PsiElement; -import org.jetbrains.annotations.NotNull; public interface M68kAddressSize extends PsiElement { - @NotNull - PsiElement getOpsizeWl(); - } diff --git a/src/main/gen/de/platon42/intellij/plugins/m68k/psi/M68kAsmOp.java b/src/main/gen/de/platon42/intellij/plugins/m68k/psi/M68kAsmOp.java index b94ad80..d891e4a 100644 --- a/src/main/gen/de/platon42/intellij/plugins/m68k/psi/M68kAsmOp.java +++ b/src/main/gen/de/platon42/intellij/plugins/m68k/psi/M68kAsmOp.java @@ -2,7 +2,6 @@ package de.platon42.intellij.plugins.m68k.psi; import com.intellij.psi.PsiElement; -import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; public interface M68kAsmOp extends PsiElement { @@ -10,7 +9,4 @@ public interface M68kAsmOp extends PsiElement { @Nullable M68kOperandSize getOperandSize(); - @NotNull - PsiElement getMnemonic(); - } diff --git a/src/main/gen/de/platon42/intellij/plugins/m68k/psi/M68kDataRegister.java b/src/main/gen/de/platon42/intellij/plugins/m68k/psi/M68kDataRegister.java index 6bfc7a2..a0cdd37 100644 --- a/src/main/gen/de/platon42/intellij/plugins/m68k/psi/M68kDataRegister.java +++ b/src/main/gen/de/platon42/intellij/plugins/m68k/psi/M68kDataRegister.java @@ -1,12 +1,6 @@ // This is a generated file. Not intended for manual editing. package de.platon42.intellij.plugins.m68k.psi; -import com.intellij.psi.PsiElement; -import org.jetbrains.annotations.NotNull; - public interface M68kDataRegister extends M68kRegister { - @NotNull - PsiElement getDreg(); - } diff --git a/src/main/gen/de/platon42/intellij/plugins/m68k/psi/M68kDataWidth.java b/src/main/gen/de/platon42/intellij/plugins/m68k/psi/M68kDataWidth.java index 8691622..6b973d7 100644 --- a/src/main/gen/de/platon42/intellij/plugins/m68k/psi/M68kDataWidth.java +++ b/src/main/gen/de/platon42/intellij/plugins/m68k/psi/M68kDataWidth.java @@ -2,11 +2,7 @@ package de.platon42.intellij.plugins.m68k.psi; import com.intellij.psi.PsiElement; -import org.jetbrains.annotations.NotNull; public interface M68kDataWidth extends PsiElement { - @NotNull - PsiElement getOpsizeWl(); - } diff --git a/src/main/gen/de/platon42/intellij/plugins/m68k/psi/M68kLiteralExpr.java b/src/main/gen/de/platon42/intellij/plugins/m68k/psi/M68kLiteralExpr.java index f72f0a6..4a45d3a 100644 --- a/src/main/gen/de/platon42/intellij/plugins/m68k/psi/M68kLiteralExpr.java +++ b/src/main/gen/de/platon42/intellij/plugins/m68k/psi/M68kLiteralExpr.java @@ -1,24 +1,6 @@ // This is a generated file. Not intended for manual editing. package de.platon42.intellij.plugins.m68k.psi; -import com.intellij.psi.PsiElement; -import org.jetbrains.annotations.Nullable; - public interface M68kLiteralExpr extends M68kExpr { - @Nullable - PsiElement getBinary(); - - @Nullable - PsiElement getDecimal(); - - @Nullable - PsiElement getHexadecimal(); - - @Nullable - PsiElement getOctal(); - - @Nullable - PsiElement getStringlit(); - } diff --git a/src/main/gen/de/platon42/intellij/plugins/m68k/psi/M68kMacroCall.java b/src/main/gen/de/platon42/intellij/plugins/m68k/psi/M68kMacroCall.java index 87129ec..6c912e2 100644 --- a/src/main/gen/de/platon42/intellij/plugins/m68k/psi/M68kMacroCall.java +++ b/src/main/gen/de/platon42/intellij/plugins/m68k/psi/M68kMacroCall.java @@ -11,7 +11,4 @@ public interface M68kMacroCall extends PsiElement { @NotNull List getExprList(); - @NotNull - PsiElement getSymbol(); - } diff --git a/src/main/gen/de/platon42/intellij/plugins/m68k/psi/M68kOperandSize.java b/src/main/gen/de/platon42/intellij/plugins/m68k/psi/M68kOperandSize.java index 5978b29..c3a6f0b 100644 --- a/src/main/gen/de/platon42/intellij/plugins/m68k/psi/M68kOperandSize.java +++ b/src/main/gen/de/platon42/intellij/plugins/m68k/psi/M68kOperandSize.java @@ -2,14 +2,7 @@ package de.platon42.intellij.plugins.m68k.psi; import com.intellij.psi.PsiElement; -import org.jetbrains.annotations.Nullable; public interface M68kOperandSize extends PsiElement { - @Nullable - PsiElement getOpsizeBs(); - - @Nullable - PsiElement getOpsizeWl(); - } diff --git a/src/main/gen/de/platon42/intellij/plugins/m68k/psi/M68kPreprocessorDirective.java b/src/main/gen/de/platon42/intellij/plugins/m68k/psi/M68kPreprocessorDirective.java index 3141fdb..3672f24 100644 --- a/src/main/gen/de/platon42/intellij/plugins/m68k/psi/M68kPreprocessorDirective.java +++ b/src/main/gen/de/platon42/intellij/plugins/m68k/psi/M68kPreprocessorDirective.java @@ -3,7 +3,6 @@ package de.platon42.intellij.plugins.m68k.psi; import com.intellij.psi.PsiElement; import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; import java.util.List; @@ -12,10 +11,4 @@ public interface M68kPreprocessorDirective extends PsiElement { @NotNull List getExprList(); - @Nullable - PsiElement getIfTag(); - - @Nullable - PsiElement getSymbol(); - } diff --git a/src/main/gen/de/platon42/intellij/plugins/m68k/psi/M68kRefExpr.java b/src/main/gen/de/platon42/intellij/plugins/m68k/psi/M68kRefExpr.java index d8e32e9..32bc2b9 100644 --- a/src/main/gen/de/platon42/intellij/plugins/m68k/psi/M68kRefExpr.java +++ b/src/main/gen/de/platon42/intellij/plugins/m68k/psi/M68kRefExpr.java @@ -1,12 +1,6 @@ // This is a generated file. Not intended for manual editing. package de.platon42.intellij.plugins.m68k.psi; -import com.intellij.psi.PsiElement; -import org.jetbrains.annotations.NotNull; - public interface M68kRefExpr extends M68kExpr { - @NotNull - PsiElement getSymbol(); - } diff --git a/src/main/gen/de/platon42/intellij/plugins/m68k/psi/M68kTypes.java b/src/main/gen/de/platon42/intellij/plugins/m68k/psi/M68kTypes.java index 73a0c37..31933c9 100644 --- a/src/main/gen/de/platon42/intellij/plugins/m68k/psi/M68kTypes.java +++ b/src/main/gen/de/platon42/intellij/plugins/m68k/psi/M68kTypes.java @@ -72,68 +72,62 @@ public interface M68kTypes { IElementType AREG = new M68kTokenType("AREG"); IElementType BINARY = new M68kTokenType("BINARY"); - IElementType CNOP_TAG = new M68kTokenType("cnop"); - IElementType COLON = new M68kTokenType(":"); + IElementType CNOP_TAG = new M68kTokenType("CNOP_TAG"); IElementType COMMENT = new M68kTokenType("COMMENT"); IElementType DECIMAL = new M68kTokenType("DECIMAL"); - IElementType DOLLAR = new M68kTokenType("$"); - IElementType DOT = new M68kTokenType("."); IElementType DREG = new M68kTokenType("DREG"); - IElementType ELSE_TAG = new M68kTokenType("else"); - IElementType ENDC_TAG = new M68kTokenType("endc"); - IElementType END_TAG = new M68kTokenType("end"); + IElementType ELSE_TAG = new M68kTokenType("ELSE_TAG"); + IElementType ENDC_TAG = new M68kTokenType("ENDC_TAG"); + IElementType END_TAG = new M68kTokenType("END_TAG"); IElementType EOL = new M68kTokenType("EOL"); - IElementType EQU = new M68kTokenType("equ"); - IElementType EVEN_TAG = new M68kTokenType("even"); - IElementType FAIL_TAG = new M68kTokenType("fail"); + IElementType EQU = new M68kTokenType("EQU"); + IElementType EVEN_TAG = new M68kTokenType("EVEN_TAG"); + IElementType FAIL_TAG = new M68kTokenType("FAIL_TAG"); IElementType GLOBAL_LABEL_DEF = new M68kTokenType("GLOBAL_LABEL_DEF"); - IElementType HASH = new M68kTokenType("#"); + IElementType HASH = new M68kTokenType("HASH"); IElementType HEXADECIMAL = new M68kTokenType("HEXADECIMAL"); IElementType IF_TAG = new M68kTokenType("IF_TAG"); - IElementType INCBIN_TAG = new M68kTokenType("incbin"); - IElementType INCLUDE_TAG = new M68kTokenType("include"); + IElementType INCBIN_TAG = new M68kTokenType("INCBIN_TAG"); + IElementType INCLUDE_TAG = new M68kTokenType("INCLUDE_TAG"); IElementType LOCAL_LABEL_DEF = new M68kTokenType("LOCAL_LABEL_DEF"); - IElementType MACRO_END_TAG = new M68kTokenType("endm"); - IElementType MACRO_TAG = new M68kTokenType("macro"); + IElementType MACRO_END_TAG = new M68kTokenType("MACRO_END_TAG"); + IElementType MACRO_TAG = new M68kTokenType("MACRO_TAG"); 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 OP_AR_DIV = new M68kTokenType("/"); - IElementType OP_AR_MOD = new M68kTokenType("%"); - IElementType OP_AR_MUL = new M68kTokenType("*"); - IElementType OP_AR_SHIFT_L = new M68kTokenType("<<"); - IElementType OP_AR_SHIFT_R = new M68kTokenType(">>"); - IElementType OP_ASSIGN = new M68kTokenType("="); - IElementType OP_BITWISE_AND = new M68kTokenType("&"); - IElementType OP_BITWISE_OR = new M68kTokenType("|"); - IElementType OP_BITWISE_XOR = new M68kTokenType("^"); - IElementType OP_CMP_EQ = new M68kTokenType("=="); - IElementType OP_CMP_GT = new M68kTokenType(">"); - IElementType OP_CMP_GT_EQ = new M68kTokenType(">="); - IElementType OP_CMP_LT = new M68kTokenType("<"); - IElementType OP_CMP_LT_EQ = new M68kTokenType("<="); - IElementType OP_CMP_NOT_EQ = new M68kTokenType("!="); - IElementType OP_LOGICAL_AND = new M68kTokenType("&&"); - IElementType OP_LOGICAL_OR = new M68kTokenType("||"); - IElementType OP_MINUS = new M68kTokenType("-"); - IElementType OP_PLUS = new M68kTokenType("+"); - IElementType OP_UNARY_COMPL = new M68kTokenType("~"); - IElementType OP_UNARY_NOT = new M68kTokenType("!"); - IElementType PC = new M68kTokenType("pc"); - IElementType REG_CCR = new M68kTokenType("ccr"); - IElementType REG_SR = new M68kTokenType("sr"); - IElementType REG_USP = new M68kTokenType("usp"); - IElementType REG_VBR = new M68kTokenType("vbr"); - IElementType REPT_END_TAG = new M68kTokenType("endr"); - IElementType REPT_TAG = new M68kTokenType("rept"); - IElementType ROUND_L = new M68kTokenType("("); - IElementType ROUND_R = new M68kTokenType(")"); - IElementType SECTION_TAG = new M68kTokenType("section"); - IElementType SEMICOLON = new M68kTokenType(";"); - IElementType SEPARATOR = new M68kTokenType(","); - IElementType SQUARE_L = new M68kTokenType("["); - IElementType SQUARE_R = new M68kTokenType("]"); + 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"); + IElementType OP_AR_SHIFT_L = new M68kTokenType("OP_AR_SHIFT_L"); + IElementType OP_AR_SHIFT_R = new M68kTokenType("OP_AR_SHIFT_R"); + IElementType OP_ASSIGN = new M68kTokenType("OP_ASSIGN"); + IElementType OP_BITWISE_AND = new M68kTokenType("OP_BITWISE_AND"); + IElementType OP_BITWISE_OR = new M68kTokenType("OP_BITWISE_OR"); + IElementType OP_BITWISE_XOR = new M68kTokenType("OP_BITWISE_XOR"); + IElementType OP_CMP_EQ = new M68kTokenType("OP_CMP_EQ"); + IElementType OP_CMP_GT = new M68kTokenType("OP_CMP_GT"); + IElementType OP_CMP_GT_EQ = new M68kTokenType("OP_CMP_GT_EQ"); + IElementType OP_CMP_LT = new M68kTokenType("OP_CMP_LT"); + IElementType OP_CMP_LT_EQ = new M68kTokenType("OP_CMP_LT_EQ"); + IElementType OP_CMP_NOT_EQ = new M68kTokenType("OP_CMP_NOT_EQ"); + IElementType OP_LOGICAL_AND = new M68kTokenType("OP_LOGICAL_AND"); + IElementType OP_LOGICAL_OR = new M68kTokenType("OP_LOGICAL_OR"); + IElementType OP_MINUS = new M68kTokenType("OP_MINUS"); + IElementType OP_PLUS = new M68kTokenType("OP_PLUS"); + IElementType OP_UNARY_COMPL = new M68kTokenType("OP_UNARY_COMPL"); + IElementType OP_UNARY_NOT = new M68kTokenType("OP_UNARY_NOT"); + IElementType PC = new M68kTokenType("PC"); + IElementType REG_CCR = new M68kTokenType("REG_CCR"); + IElementType REG_SR = new M68kTokenType("REG_SR"); + IElementType REG_USP = new M68kTokenType("REG_USP"); + IElementType REG_VBR = new M68kTokenType("REG_VBR"); + IElementType REPT_END_TAG = new M68kTokenType("REPT_END_TAG"); + IElementType REPT_TAG = new M68kTokenType("REPT_TAG"); + IElementType ROUND_L = new M68kTokenType("ROUND_L"); + IElementType ROUND_R = new M68kTokenType("ROUND_R"); + IElementType SECTION_TAG = new M68kTokenType("SECTION_TAG"); + IElementType SEPARATOR = new M68kTokenType("SEPARATOR"); IElementType STRINGLIT = new M68kTokenType("STRINGLIT"); IElementType SYMBOL = new M68kTokenType("SYMBOL"); IElementType SYMBOLDEF = new M68kTokenType("SYMBOLDEF"); diff --git a/src/main/gen/de/platon42/intellij/plugins/m68k/psi/impl/M68kAddressRegisterImpl.java b/src/main/gen/de/platon42/intellij/plugins/m68k/psi/impl/M68kAddressRegisterImpl.java index e438cec..b365232 100644 --- a/src/main/gen/de/platon42/intellij/plugins/m68k/psi/impl/M68kAddressRegisterImpl.java +++ b/src/main/gen/de/platon42/intellij/plugins/m68k/psi/impl/M68kAddressRegisterImpl.java @@ -2,14 +2,11 @@ package de.platon42.intellij.plugins.m68k.psi.impl; import com.intellij.lang.ASTNode; -import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElementVisitor; import de.platon42.intellij.plugins.m68k.psi.M68kAddressRegister; import de.platon42.intellij.plugins.m68k.psi.M68kVisitor; import org.jetbrains.annotations.NotNull; -import static de.platon42.intellij.plugins.m68k.psi.M68kTypes.AREG; - public class M68kAddressRegisterImpl extends M68kRegisterImpl implements M68kAddressRegister { public M68kAddressRegisterImpl(@NotNull ASTNode node) { @@ -27,10 +24,4 @@ public class M68kAddressRegisterImpl extends M68kRegisterImpl implements M68kAdd else super.accept(visitor); } - @Override - @NotNull - public PsiElement getAreg() { - return findNotNullChildByType(AREG); - } - } diff --git a/src/main/gen/de/platon42/intellij/plugins/m68k/psi/impl/M68kAddressSizeImpl.java b/src/main/gen/de/platon42/intellij/plugins/m68k/psi/impl/M68kAddressSizeImpl.java index 752bd4b..9042a40 100644 --- a/src/main/gen/de/platon42/intellij/plugins/m68k/psi/impl/M68kAddressSizeImpl.java +++ b/src/main/gen/de/platon42/intellij/plugins/m68k/psi/impl/M68kAddressSizeImpl.java @@ -3,14 +3,11 @@ package de.platon42.intellij.plugins.m68k.psi.impl; import com.intellij.extapi.psi.ASTWrapperPsiElement; import com.intellij.lang.ASTNode; -import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElementVisitor; import de.platon42.intellij.plugins.m68k.psi.M68kAddressSize; import de.platon42.intellij.plugins.m68k.psi.M68kVisitor; import org.jetbrains.annotations.NotNull; -import static de.platon42.intellij.plugins.m68k.psi.M68kTypes.OPSIZE_WL; - public class M68kAddressSizeImpl extends ASTWrapperPsiElement implements M68kAddressSize { public M68kAddressSizeImpl(@NotNull ASTNode node) { @@ -27,10 +24,4 @@ public class M68kAddressSizeImpl extends ASTWrapperPsiElement implements M68kAdd else super.accept(visitor); } - @Override - @NotNull - public PsiElement getOpsizeWl() { - return findNotNullChildByType(OPSIZE_WL); - } - } diff --git a/src/main/gen/de/platon42/intellij/plugins/m68k/psi/impl/M68kAsmOpImpl.java b/src/main/gen/de/platon42/intellij/plugins/m68k/psi/impl/M68kAsmOpImpl.java index 8894309..1a8cba8 100644 --- a/src/main/gen/de/platon42/intellij/plugins/m68k/psi/impl/M68kAsmOpImpl.java +++ b/src/main/gen/de/platon42/intellij/plugins/m68k/psi/impl/M68kAsmOpImpl.java @@ -3,7 +3,6 @@ package de.platon42.intellij.plugins.m68k.psi.impl; import com.intellij.extapi.psi.ASTWrapperPsiElement; import com.intellij.lang.ASTNode; -import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElementVisitor; import de.platon42.intellij.plugins.m68k.psi.M68kAsmOp; import de.platon42.intellij.plugins.m68k.psi.M68kOperandSize; @@ -11,8 +10,6 @@ import de.platon42.intellij.plugins.m68k.psi.M68kVisitor; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import static de.platon42.intellij.plugins.m68k.psi.M68kTypes.MNEMONIC; - public class M68kAsmOpImpl extends ASTWrapperPsiElement implements M68kAsmOp { public M68kAsmOpImpl(@NotNull ASTNode node) { @@ -35,10 +32,4 @@ public class M68kAsmOpImpl extends ASTWrapperPsiElement implements M68kAsmOp { return findChildByClass(M68kOperandSize.class); } - @Override - @NotNull - public PsiElement getMnemonic() { - return findNotNullChildByType(MNEMONIC); - } - } diff --git a/src/main/gen/de/platon42/intellij/plugins/m68k/psi/impl/M68kDataRegisterImpl.java b/src/main/gen/de/platon42/intellij/plugins/m68k/psi/impl/M68kDataRegisterImpl.java index 2799a30..8d5351f 100644 --- a/src/main/gen/de/platon42/intellij/plugins/m68k/psi/impl/M68kDataRegisterImpl.java +++ b/src/main/gen/de/platon42/intellij/plugins/m68k/psi/impl/M68kDataRegisterImpl.java @@ -2,14 +2,11 @@ package de.platon42.intellij.plugins.m68k.psi.impl; import com.intellij.lang.ASTNode; -import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElementVisitor; import de.platon42.intellij.plugins.m68k.psi.M68kDataRegister; import de.platon42.intellij.plugins.m68k.psi.M68kVisitor; import org.jetbrains.annotations.NotNull; -import static de.platon42.intellij.plugins.m68k.psi.M68kTypes.DREG; - public class M68kDataRegisterImpl extends M68kRegisterImpl implements M68kDataRegister { public M68kDataRegisterImpl(@NotNull ASTNode node) { @@ -27,10 +24,4 @@ public class M68kDataRegisterImpl extends M68kRegisterImpl implements M68kDataRe else super.accept(visitor); } - @Override - @NotNull - public PsiElement getDreg() { - return findNotNullChildByType(DREG); - } - } diff --git a/src/main/gen/de/platon42/intellij/plugins/m68k/psi/impl/M68kDataWidthImpl.java b/src/main/gen/de/platon42/intellij/plugins/m68k/psi/impl/M68kDataWidthImpl.java index 667d934..7da4b13 100644 --- a/src/main/gen/de/platon42/intellij/plugins/m68k/psi/impl/M68kDataWidthImpl.java +++ b/src/main/gen/de/platon42/intellij/plugins/m68k/psi/impl/M68kDataWidthImpl.java @@ -3,14 +3,11 @@ package de.platon42.intellij.plugins.m68k.psi.impl; import com.intellij.extapi.psi.ASTWrapperPsiElement; import com.intellij.lang.ASTNode; -import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElementVisitor; import de.platon42.intellij.plugins.m68k.psi.M68kDataWidth; import de.platon42.intellij.plugins.m68k.psi.M68kVisitor; import org.jetbrains.annotations.NotNull; -import static de.platon42.intellij.plugins.m68k.psi.M68kTypes.OPSIZE_WL; - public class M68kDataWidthImpl extends ASTWrapperPsiElement implements M68kDataWidth { public M68kDataWidthImpl(@NotNull ASTNode node) { @@ -27,10 +24,4 @@ public class M68kDataWidthImpl extends ASTWrapperPsiElement implements M68kDataW else super.accept(visitor); } - @Override - @NotNull - public PsiElement getOpsizeWl() { - return findNotNullChildByType(OPSIZE_WL); - } - } diff --git a/src/main/gen/de/platon42/intellij/plugins/m68k/psi/impl/M68kLiteralExprImpl.java b/src/main/gen/de/platon42/intellij/plugins/m68k/psi/impl/M68kLiteralExprImpl.java index 0bf6bc8..fdd2a3b 100644 --- a/src/main/gen/de/platon42/intellij/plugins/m68k/psi/impl/M68kLiteralExprImpl.java +++ b/src/main/gen/de/platon42/intellij/plugins/m68k/psi/impl/M68kLiteralExprImpl.java @@ -2,14 +2,10 @@ package de.platon42.intellij.plugins.m68k.psi.impl; import com.intellij.lang.ASTNode; -import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElementVisitor; import de.platon42.intellij.plugins.m68k.psi.M68kLiteralExpr; import de.platon42.intellij.plugins.m68k.psi.M68kVisitor; import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; - -import static de.platon42.intellij.plugins.m68k.psi.M68kTypes.*; public class M68kLiteralExprImpl extends M68kExprImpl implements M68kLiteralExpr { @@ -28,34 +24,4 @@ public class M68kLiteralExprImpl extends M68kExprImpl implements M68kLiteralExpr else super.accept(visitor); } - @Override - @Nullable - public PsiElement getBinary() { - return findChildByType(BINARY); - } - - @Override - @Nullable - public PsiElement getDecimal() { - return findChildByType(DECIMAL); - } - - @Override - @Nullable - public PsiElement getHexadecimal() { - return findChildByType(HEXADECIMAL); - } - - @Override - @Nullable - public PsiElement getOctal() { - return findChildByType(OCTAL); - } - - @Override - @Nullable - public PsiElement getStringlit() { - return findChildByType(STRINGLIT); - } - } diff --git a/src/main/gen/de/platon42/intellij/plugins/m68k/psi/impl/M68kMacroCallImpl.java b/src/main/gen/de/platon42/intellij/plugins/m68k/psi/impl/M68kMacroCallImpl.java index f6f4b28..1fa91cd 100644 --- a/src/main/gen/de/platon42/intellij/plugins/m68k/psi/impl/M68kMacroCallImpl.java +++ b/src/main/gen/de/platon42/intellij/plugins/m68k/psi/impl/M68kMacroCallImpl.java @@ -3,7 +3,6 @@ package de.platon42.intellij.plugins.m68k.psi.impl; import com.intellij.extapi.psi.ASTWrapperPsiElement; import com.intellij.lang.ASTNode; -import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElementVisitor; import com.intellij.psi.util.PsiTreeUtil; import de.platon42.intellij.plugins.m68k.psi.M68kExpr; @@ -13,8 +12,6 @@ import org.jetbrains.annotations.NotNull; import java.util.List; -import static de.platon42.intellij.plugins.m68k.psi.M68kTypes.SYMBOL; - public class M68kMacroCallImpl extends ASTWrapperPsiElement implements M68kMacroCall { public M68kMacroCallImpl(@NotNull ASTNode node) { @@ -37,10 +34,4 @@ public class M68kMacroCallImpl extends ASTWrapperPsiElement implements M68kMacro return PsiTreeUtil.getChildrenOfTypeAsList(this, M68kExpr.class); } - @Override - @NotNull - public PsiElement getSymbol() { - return findNotNullChildByType(SYMBOL); - } - } diff --git a/src/main/gen/de/platon42/intellij/plugins/m68k/psi/impl/M68kOperandSizeImpl.java b/src/main/gen/de/platon42/intellij/plugins/m68k/psi/impl/M68kOperandSizeImpl.java index 1bbcfd9..2a07c99 100644 --- a/src/main/gen/de/platon42/intellij/plugins/m68k/psi/impl/M68kOperandSizeImpl.java +++ b/src/main/gen/de/platon42/intellij/plugins/m68k/psi/impl/M68kOperandSizeImpl.java @@ -3,15 +3,10 @@ package de.platon42.intellij.plugins.m68k.psi.impl; import com.intellij.extapi.psi.ASTWrapperPsiElement; import com.intellij.lang.ASTNode; -import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElementVisitor; import de.platon42.intellij.plugins.m68k.psi.M68kOperandSize; import de.platon42.intellij.plugins.m68k.psi.M68kVisitor; import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; - -import static de.platon42.intellij.plugins.m68k.psi.M68kTypes.OPSIZE_BS; -import static de.platon42.intellij.plugins.m68k.psi.M68kTypes.OPSIZE_WL; public class M68kOperandSizeImpl extends ASTWrapperPsiElement implements M68kOperandSize { @@ -29,16 +24,4 @@ public class M68kOperandSizeImpl extends ASTWrapperPsiElement implements M68kOpe else super.accept(visitor); } - @Override - @Nullable - public PsiElement getOpsizeBs() { - return findChildByType(OPSIZE_BS); - } - - @Override - @Nullable - public PsiElement getOpsizeWl() { - return findChildByType(OPSIZE_WL); - } - } diff --git a/src/main/gen/de/platon42/intellij/plugins/m68k/psi/impl/M68kPreprocessorDirectiveImpl.java b/src/main/gen/de/platon42/intellij/plugins/m68k/psi/impl/M68kPreprocessorDirectiveImpl.java index 2473e86..3fd41c0 100644 --- a/src/main/gen/de/platon42/intellij/plugins/m68k/psi/impl/M68kPreprocessorDirectiveImpl.java +++ b/src/main/gen/de/platon42/intellij/plugins/m68k/psi/impl/M68kPreprocessorDirectiveImpl.java @@ -3,20 +3,15 @@ package de.platon42.intellij.plugins.m68k.psi.impl; import com.intellij.extapi.psi.ASTWrapperPsiElement; import com.intellij.lang.ASTNode; -import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElementVisitor; import com.intellij.psi.util.PsiTreeUtil; import de.platon42.intellij.plugins.m68k.psi.M68kExpr; import de.platon42.intellij.plugins.m68k.psi.M68kPreprocessorDirective; import de.platon42.intellij.plugins.m68k.psi.M68kVisitor; import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; import java.util.List; -import static de.platon42.intellij.plugins.m68k.psi.M68kTypes.IF_TAG; -import static de.platon42.intellij.plugins.m68k.psi.M68kTypes.SYMBOL; - public class M68kPreprocessorDirectiveImpl extends ASTWrapperPsiElement implements M68kPreprocessorDirective { public M68kPreprocessorDirectiveImpl(@NotNull ASTNode node) { @@ -39,16 +34,4 @@ public class M68kPreprocessorDirectiveImpl extends ASTWrapperPsiElement implemen return PsiTreeUtil.getChildrenOfTypeAsList(this, M68kExpr.class); } - @Override - @Nullable - public PsiElement getIfTag() { - return findChildByType(IF_TAG); - } - - @Override - @Nullable - public PsiElement getSymbol() { - return findChildByType(SYMBOL); - } - } diff --git a/src/main/gen/de/platon42/intellij/plugins/m68k/psi/impl/M68kRefExprImpl.java b/src/main/gen/de/platon42/intellij/plugins/m68k/psi/impl/M68kRefExprImpl.java index 10c6d96..73aead1 100644 --- a/src/main/gen/de/platon42/intellij/plugins/m68k/psi/impl/M68kRefExprImpl.java +++ b/src/main/gen/de/platon42/intellij/plugins/m68k/psi/impl/M68kRefExprImpl.java @@ -2,14 +2,11 @@ package de.platon42.intellij.plugins.m68k.psi.impl; import com.intellij.lang.ASTNode; -import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElementVisitor; import de.platon42.intellij.plugins.m68k.psi.M68kRefExpr; import de.platon42.intellij.plugins.m68k.psi.M68kVisitor; import org.jetbrains.annotations.NotNull; -import static de.platon42.intellij.plugins.m68k.psi.M68kTypes.SYMBOL; - public class M68kRefExprImpl extends M68kExprImpl implements M68kRefExpr { public M68kRefExprImpl(@NotNull ASTNode node) { @@ -27,10 +24,4 @@ public class M68kRefExprImpl extends M68kExprImpl implements M68kRefExpr { else super.accept(visitor); } - @Override - @NotNull - public PsiElement getSymbol() { - return findNotNullChildByType(SYMBOL); - } - } diff --git a/src/main/java/de/platon42/intellij/plugins/m68k/M68kFileType.kt b/src/main/java/de/platon42/intellij/plugins/m68k/M68kFileType.kt index bc8c97d..51ed048 100644 --- a/src/main/java/de/platon42/intellij/plugins/m68k/M68kFileType.kt +++ b/src/main/java/de/platon42/intellij/plugins/m68k/M68kFileType.kt @@ -6,7 +6,7 @@ import org.jetbrains.annotations.NonNls import javax.swing.Icon @Suppress("unused") -class M68kFileType private constructor() : LanguageFileType(M68kLanguage.INSTANCE, true) { +class M68kFileType private constructor() : LanguageFileType(M68kLanguage.INSTANCE, false) { @NonNls override fun getName(): String { return "M68k Assembler" 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 e39546b..c75f8bc 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 @@ -136,14 +136,14 @@ HASH_COMMENT=([#;*].*+) "&" { return OP_BITWISE_AND; } "|" { return OP_BITWISE_OR; } "^" { return OP_BITWISE_XOR; } - ":" { return COLON; } - ";" { return SEMICOLON; } - "[" { return SQUARE_L; } - "]" { return SQUARE_R; } +// ":" { return COLON; } +// ";" { return SEMICOLON; } +// "[" { return SQUARE_L; } +// "]" { return SQUARE_R; } "(" { return ROUND_L; } ")" { return ROUND_R; } - "." { return DOT; } - "$" { return DOLLAR; } +// "." { return DOT; } +// "$" { return DOLLAR; } "=" { return OP_ASSIGN; } "!" { return OP_UNARY_NOT; } "~" { return OP_UNARY_COMPL; } @@ -193,16 +193,16 @@ HASH_COMMENT=([#;*].*+) "&" { return OP_BITWISE_AND; } "|" { return OP_BITWISE_OR; } "^" { return OP_BITWISE_XOR; } - ":" { return COLON; } - ";" { return SEMICOLON; } - "[" { return SQUARE_L; } - "]" { return SQUARE_R; } +// ":" { return COLON; } +// ";" { return SEMICOLON; } +// "[" { return SQUARE_L; } +// "]" { return SQUARE_R; } "(" { return ROUND_L; } ")" { return ROUND_R; } "," { return SEPARATOR; } - "." { return DOT; } +// "." { return DOT; } "#" { return HASH; } - "$" { return DOLLAR; } +// "$" { return DOLLAR; } "=" { return OP_ASSIGN; } "!" { return OP_UNARY_NOT; } "~" { return OP_UNARY_COMPL; } diff --git a/src/main/java/de/platon42/intellij/plugins/m68k/m68k.bnf b/src/main/java/de/platon42/intellij/plugins/m68k/m68k.bnf index cc87242..d6fa404 100644 --- a/src/main/java/de/platon42/intellij/plugins/m68k/m68k.bnf +++ b/src/main/java/de/platon42/intellij/plugins/m68k/m68k.bnf @@ -30,84 +30,84 @@ EOL = 'regexp:\R' WHITE_SPACE = 'regexp:\p{Blank}+' - EQU = 'equ' +// EQU = 'equ' +// +// EVEN_TAG = 'even' +// CNOP_TAG = 'cnop' +// SECTION_TAG = 'section' +// +// INCLUDE_TAG = 'include' +// INCBIN_TAG = 'incbin' +// +// IF_TAG = 'regexp:(if\p{Alpha}*)' +// ELSE_TAG = 'else' +// ENDC_TAG = 'endc' +// MACRO_TAG = 'macro' +// MACRO_END_TAG = 'endm' +// REPT_TAG = 'rept' +// REPT_END_TAG = 'endr' +// FAIL_TAG = 'fail' +// END_TAG = 'end' - EVEN_TAG = 'even' - CNOP_TAG = 'cnop' - SECTION_TAG = 'section' - - INCLUDE_TAG = 'include' - INCBIN_TAG = 'incbin' - - IF_TAG = 'regexp:(if\p{Alpha}*)' - ELSE_TAG = 'else' - ENDC_TAG = 'endc' - MACRO_TAG = 'macro' - MACRO_END_TAG = 'endm' - REPT_TAG = 'rept' - REPT_END_TAG = 'endr' - FAIL_TAG = 'fail' - END_TAG = 'end' - - AREG = 'regexp:((a[0-7])|sp)' - DREG = 'regexp:(d[0-7])' - PC = 'pc' - REG_CCR = 'ccr' - REG_SR = 'sr' - REG_USP = 'usp' - REG_VBR = 'vbr' +// AREG = 'regexp:((a[0-7])|sp)' +// DREG = 'regexp:(d[0-7])' +// PC = 'pc' +// REG_CCR = 'ccr' +// REG_SR = 'sr' +// REG_USP = 'usp' +// REG_VBR = 'vbr' // ASSIGNMENT = 'regexp:((\p{Alpha}|_)(\p{Alnum}|_)*)((\p{Blank}+equ\p{Blank})|=)' // LOCAL_LABEL_OC = 'regexp:(!(\p{Blank}+)\.(\p{Alpha}|_)(\p{Alnum}|_)*:?)|(!(\p{Blank}+)(\p{Alpha}|_)(\p{Alnum}|_)*\$:?)|((\p{Blank}*)?\.(\p{Alpha}|_)(\p{Alnum}|_)*:)|((\p{Blank}*)?(\p{Alpha}|_)(\p{Alnum}|_)*\$:)|(\.(\p{Alpha}|_)(\p{Alnum}|_)*:)|((\p{Alpha}|_)(\p{Alnum}|_)*\$:)' // GLOBAL_LABEL_OC = 'regexp:(!(\p{Blank}+)(\p{Alpha}|_)(\p{Alnum}|_)*:?:?)|((\p{Blank}*)?(\p{Alpha}|_)(\p{Alnum}|_)*::?)' - MNEMONIC = 'regexp:((\p{Alpha})+)' - SYMBOL = 'regexp:((\p{Alpha}|_)(\p{Alnum}|_)*)' - OPSIZE_BS = 'regexp:(\.[bs])' - OPSIZE_WL = 'regexp:(\.[wl])' +// MNEMONIC = 'regexp:((\p{Alpha})+)' +// SYMBOL = 'regexp:((\p{Alpha}|_)(\p{Alnum}|_)*)' +// OPSIZE_BS = 'regexp:(\.[bs])' +// OPSIZE_WL = 'regexp:(\.[wl])' - BINARY = 'regexp:(%[01]+)' - HEXADECIMAL = 'regexp:(\$[0-9a-f]+)' - OCTAL = 'regexp:(@[0-7]+)' - DECIMAL = 'regexp:([0-9]+)' +// BINARY = 'regexp:(%[01]+)' +// HEXADECIMAL = 'regexp:(\$[0-9a-f]+)' +// OCTAL = 'regexp:(@[0-7]+)' +// DECIMAL = 'regexp:([0-9]+)' - STRINGLIT = "regexp:(`([^`\\]|\\.)*`|'([^'\\]|\\.)*'|\"([^\"\\]|\\.)*\")|<([^`\\]|\\.)*>" +// STRINGLIT = "regexp:(`([^`\\]|\\.)*`|'([^'\\]|\\.)*'|\"([^\"\\]|\\.)*\")|<([^`\\]|\\.)*>" - COLON = ':' - SEMICOLON = ';' - SQUARE_L = '[' - SQUARE_R = ']' - ROUND_L = '(' - ROUND_R = ')' - SEPARATOR = ',' - DOT = '.' - HASH = '#' - DOLLAR = '$' - - OP_ASSIGN = '=' - - OP_UNARY_NOT = '!' - OP_UNARY_COMPL = '~' - - OP_PLUS = '+' - OP_MINUS = '-' - OP_AR_MUL = '*' - OP_AR_DIV = '/' - OP_AR_MOD = '%' - OP_AR_SHIFT_L = '<<' - OP_AR_SHIFT_R = '>>' - OP_BITWISE_AND = '&' - OP_BITWISE_OR = '|' - OP_BITWISE_XOR = '^' - OP_LOGICAL_AND = '&&' - OP_LOGICAL_OR = '||' - - OP_CMP_EQ = '==' - OP_CMP_LT = '<' - OP_CMP_GT = '>' - OP_CMP_GT_EQ = '>=' - OP_CMP_LT_EQ = '<=' - OP_CMP_NOT_EQ = '!=' +// COLON = ':' +// SEMICOLON = ';' +// SQUARE_L = '[' +// SQUARE_R = ']' +// ROUND_L = '(' +// ROUND_R = ')' +// SEPARATOR = ',' +// DOT = '.' +// HASH = '#' +// DOLLAR = '$' +// +// OP_ASSIGN = '=' +// +// OP_UNARY_NOT = '!' +// OP_UNARY_COMPL = '~' +// +// OP_PLUS = '+' +// OP_MINUS = '-' +// OP_AR_MUL = '*' +// OP_AR_DIV = '/' +// OP_AR_MOD = '%' +// OP_AR_SHIFT_L = '<<' +// OP_AR_SHIFT_R = '>>' +// OP_BITWISE_AND = '&' +// OP_BITWISE_OR = '|' +// OP_BITWISE_XOR = '^' +// OP_LOGICAL_AND = '&&' +// OP_LOGICAL_OR = '||' +// +// OP_CMP_EQ = '==' +// OP_CMP_LT = '<' +// OP_CMP_GT = '>' +// OP_CMP_GT_EQ = '>=' +// OP_CMP_LT_EQ = '<=' +// OP_CMP_NOT_EQ = '!=' // OP_CMP_NOT_EQ2 = '<>' COMMENT = 'regexp:(\p{Blank}*?[;*].*+)'//|(!\s#+.*+)' diff --git a/src/main/java/de/platon42/intellij/plugins/m68k/syntax/M68kColorSettingsPage.kt b/src/main/java/de/platon42/intellij/plugins/m68k/syntax/M68kColorSettingsPage.kt new file mode 100644 index 0000000..79499c0 --- /dev/null +++ b/src/main/java/de/platon42/intellij/plugins/m68k/syntax/M68kColorSettingsPage.kt @@ -0,0 +1,93 @@ +package de.platon42.intellij.plugins.m68k.syntax + +import com.intellij.openapi.editor.colors.TextAttributesKey +import com.intellij.openapi.fileTypes.SyntaxHighlighter +import com.intellij.openapi.options.colors.AttributesDescriptor +import com.intellij.openapi.options.colors.ColorDescriptor +import com.intellij.openapi.options.colors.ColorSettingsPage +import com.intellij.openapi.util.NlsContexts.ConfigurableName +import de.platon42.intellij.plugins.m68k.M68kIcons.FILE +import de.platon42.intellij.plugins.m68k.syntax.M68kSyntaxHighlighter.Companion.AREG +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.DREG +import de.platon42.intellij.plugins.m68k.syntax.M68kSyntaxHighlighter.Companion.GLOBAL_LABEL +import de.platon42.intellij.plugins.m68k.syntax.M68kSyntaxHighlighter.Companion.KEYWORD +import de.platon42.intellij.plugins.m68k.syntax.M68kSyntaxHighlighter.Companion.LOCAL_LABEL +import de.platon42.intellij.plugins.m68k.syntax.M68kSyntaxHighlighter.Companion.MNEMONIC +import de.platon42.intellij.plugins.m68k.syntax.M68kSyntaxHighlighter.Companion.NUMBER +import de.platon42.intellij.plugins.m68k.syntax.M68kSyntaxHighlighter.Companion.PREPROCESSOR +import de.platon42.intellij.plugins.m68k.syntax.M68kSyntaxHighlighter.Companion.SEPARATOR +import de.platon42.intellij.plugins.m68k.syntax.M68kSyntaxHighlighter.Companion.SPECIAL_REG +import de.platon42.intellij.plugins.m68k.syntax.M68kSyntaxHighlighter.Companion.STRING +import de.platon42.intellij.plugins.m68k.syntax.M68kSyntaxHighlighter.Companion.SYMBOL +import org.jetbrains.annotations.NonNls +import javax.swing.Icon + +class M68kColorSettingsPage : ColorSettingsPage { + + override fun getIcon(): Icon { + return FILE + } + + override fun getHighlighter(): SyntaxHighlighter { + return M68kSyntaxHighlighter() + } + + @NonNls + override fun getDemoText(): String { + return """; This is an example assembly language program +PIC_HEIGHT = 256 + + include "../includes/hardware/custom.i" + +BLTHOGON MACRO + 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 + moveq.l #0,d0 + move.w #PIC_HEIGHT-1,d7 +.loop move.l d0,(a0)+ ; local label + dbra d7,.loop + POPM + rts +""" + } + + override fun getAdditionalHighlightingTagToDescriptorMap(): Map? { + return null + } + + override fun getAttributeDescriptors(): Array { + return DESCRIPTORS + } + + override fun getColorDescriptors(): Array { + return ColorDescriptor.EMPTY_ARRAY + } + + override fun getDisplayName(): @ConfigurableName String { + return "M68k Assembly" + } + + companion object { + private val DESCRIPTORS = arrayOf( + AttributesDescriptor("SEPARATOR", SEPARATOR), + AttributesDescriptor("GLOBAL_LABEL", GLOBAL_LABEL), + AttributesDescriptor("LOCAL_LABEL", LOCAL_LABEL), + AttributesDescriptor("SYMBOL", SYMBOL), + AttributesDescriptor("MNEMONIC", MNEMONIC), + AttributesDescriptor("KEYWORD", KEYWORD), + AttributesDescriptor("PREPROCESSOR", PREPROCESSOR), + AttributesDescriptor("STRING", STRING), + AttributesDescriptor("NUMBER", NUMBER), + AttributesDescriptor("AREG", AREG), + AttributesDescriptor("DREG", DREG), + AttributesDescriptor("SPECIAL_REG", SPECIAL_REG), + AttributesDescriptor("COMMENT", COMMENT), + AttributesDescriptor("BAD_CHARACTER", BAD_CHARACTER)) + } +} \ No newline at end of file diff --git a/src/main/java/de/platon42/intellij/plugins/m68k/syntax/M68kSyntaxHighlighter.kt b/src/main/java/de/platon42/intellij/plugins/m68k/syntax/M68kSyntaxHighlighter.kt new file mode 100644 index 0000000..7287f5f --- /dev/null +++ b/src/main/java/de/platon42/intellij/plugins/m68k/syntax/M68kSyntaxHighlighter.kt @@ -0,0 +1,54 @@ +package de.platon42.intellij.plugins.m68k.syntax + +import com.intellij.lexer.Lexer +import com.intellij.openapi.editor.DefaultLanguageHighlighterColors +import com.intellij.openapi.editor.HighlighterColors +import com.intellij.openapi.editor.colors.TextAttributesKey +import com.intellij.openapi.fileTypes.SyntaxHighlighterBase +import com.intellij.psi.TokenType +import com.intellij.psi.tree.IElementType +import de.platon42.intellij.plugins.m68k.lexer.M68kLexer +import de.platon42.intellij.plugins.m68k.psi.M68kTypes + +class M68kSyntaxHighlighter : SyntaxHighlighterBase() { + override fun getHighlightingLexer(): Lexer { + return M68kLexer() + } + + override fun getTokenHighlights(tokenType: IElementType): Array { + return when (tokenType) { + M68kTypes.SEPARATOR -> arrayOf(SEPARATOR) + M68kTypes.GLOBAL_LABEL_DEF, M68kTypes.GLOBAL_LABEL -> arrayOf(GLOBAL_LABEL) + M68kTypes.LOCAL_LABEL_DEF, M68kTypes.LOCAL_LABEL_DEF -> arrayOf(LOCAL_LABEL) + M68kTypes.SYMBOLDEF, M68kTypes.SYMBOL -> arrayOf(SYMBOL) + M68kTypes.MNEMONIC, M68kTypes.ASM_OP -> arrayOf(MNEMONIC) + M68kTypes.OPERAND_SIZE, M68kTypes.DATA_WIDTH, M68kTypes.ADDRESS_SIZE -> arrayOf(MNEMONIC) + 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) + M68kTypes.PREPROCESSOR_DIRECTIVE -> arrayOf(PREPROCESSOR) + M68kTypes.COMMENT -> arrayOf(COMMENT) + M68kTypes.DECIMAL, M68kTypes.HEXADECIMAL, M68kTypes.OCTAL -> arrayOf(NUMBER) + M68kTypes.STRINGLIT -> arrayOf(STRING) + TokenType.BAD_CHARACTER -> arrayOf(BAD_CHARACTER) + else -> emptyArray() + } + } + + companion object { + val SEPARATOR = TextAttributesKey.createTextAttributesKey("M68K_SEPARATOR", DefaultLanguageHighlighterColors.COMMA) + val GLOBAL_LABEL = TextAttributesKey.createTextAttributesKey("M68K_LOCAL_LABEL", DefaultLanguageHighlighterColors.LOCAL_VARIABLE) + val LOCAL_LABEL = TextAttributesKey.createTextAttributesKey("M68K_GLOBAL_LABEL", DefaultLanguageHighlighterColors.GLOBAL_VARIABLE) + val SYMBOL = TextAttributesKey.createTextAttributesKey("M68K_SYMBOL", DefaultLanguageHighlighterColors.IDENTIFIER) + val MNEMONIC = TextAttributesKey.createTextAttributesKey("M68K_MNEMONIC", DefaultLanguageHighlighterColors.FUNCTION_CALL) + val KEYWORD = TextAttributesKey.createTextAttributesKey("M68K_KEYWORD", DefaultLanguageHighlighterColors.KEYWORD) + val PREPROCESSOR = TextAttributesKey.createTextAttributesKey("M68K_PREPROCESSOR", DefaultLanguageHighlighterColors.KEYWORD) + val STRING = TextAttributesKey.createTextAttributesKey("M68K_STRING", DefaultLanguageHighlighterColors.STRING) + val NUMBER = TextAttributesKey.createTextAttributesKey("M68K_NUMBER", DefaultLanguageHighlighterColors.NUMBER) + val AREG = TextAttributesKey.createTextAttributesKey("M68K_AREG", DefaultLanguageHighlighterColors.CONSTANT) + val DREG = TextAttributesKey.createTextAttributesKey("M68K_DREG", DefaultLanguageHighlighterColors.CONSTANT) + val SPECIAL_REG = TextAttributesKey.createTextAttributesKey("M68K_SPECIALREG", DefaultLanguageHighlighterColors.CONSTANT) + val COMMENT = TextAttributesKey.createTextAttributesKey("M68K_COMMENT", DefaultLanguageHighlighterColors.LINE_COMMENT) + val BAD_CHARACTER = TextAttributesKey.createTextAttributesKey("M68K_BAD_CHARACTER", HighlighterColors.BAD_CHARACTER) + } +} \ No newline at end of file diff --git a/src/main/java/de/platon42/intellij/plugins/m68k/syntax/M68kSyntaxHighlighterFactory.kt b/src/main/java/de/platon42/intellij/plugins/m68k/syntax/M68kSyntaxHighlighterFactory.kt new file mode 100644 index 0000000..e96aef5 --- /dev/null +++ b/src/main/java/de/platon42/intellij/plugins/m68k/syntax/M68kSyntaxHighlighterFactory.kt @@ -0,0 +1,9 @@ +package de.platon42.intellij.plugins.m68k.syntax + +import com.intellij.openapi.fileTypes.SyntaxHighlighterFactory +import com.intellij.openapi.project.Project +import com.intellij.openapi.vfs.VirtualFile + +class M68kSyntaxHighlighterFactory : SyntaxHighlighterFactory() { + override fun getSyntaxHighlighter(project: Project?, virtualFile: VirtualFile?) = M68kSyntaxHighlighter() +} \ No newline at end of file diff --git a/src/main/resources/META-INF/plugin.xml b/src/main/resources/META-INF/plugin.xml index be2795b..31b6e24 100644 --- a/src/main/resources/META-INF/plugin.xml +++ b/src/main/resources/META-INF/plugin.xml @@ -18,6 +18,9 @@ fieldName="INSTANCE" language="M68k" extensions="asm;ASM;s;S;i"/> + + diff --git a/src/test/resources/parser/addressingmodes/absolute_address.txt b/src/test/resources/parser/addressingmodes/absolute_address.txt index 87f7ff1..4482e6a 100644 --- a/src/test/resources/parser/addressingmodes/absolute_address.txt +++ b/src/test/resources/parser/addressingmodes/absolute_address.txt @@ -13,7 +13,7 @@ Assembly File: a.asm PsiElement(M68kTokenType.DECIMAL)('4') M68kAddressSizeImpl(ADDRESS_SIZE) PsiElement(M68kTokenType.OPSIZE_WL)('.w') - PsiElement(M68kTokenType.,)(',') + PsiElement(M68kTokenType.SEPARATOR)(',') M68kAddressRegisterDirectAddressingModeImpl(ADDRESS_REGISTER_DIRECT_ADDRESSING_MODE) M68kAddressRegisterImpl(ADDRESS_REGISTER) PsiElement(M68kTokenType.AREG)('a6') diff --git a/src/test/resources/parser/addressingmodes/immediate_data.txt b/src/test/resources/parser/addressingmodes/immediate_data.txt index 8932f37..88586fd 100644 --- a/src/test/resources/parser/addressingmodes/immediate_data.txt +++ b/src/test/resources/parser/addressingmodes/immediate_data.txt @@ -9,10 +9,10 @@ Assembly File: a.asm PsiWhiteSpace(' ') M68kAsmOperandsImpl(ASM_OPERANDS) M68kImmediateDataImpl(IMMEDIATE_DATA) - PsiElement(M68kTokenType.#)('#') + PsiElement(M68kTokenType.HASH)('#') M68kRefExprImpl(REF_EXPR) PsiElement(M68kTokenType.SYMBOL)('FOO_BAR') - PsiElement(M68kTokenType.,)(',') + PsiElement(M68kTokenType.SEPARATOR)(',') M68kDataRegisterDirectAddressingModeImpl(DATA_REGISTER_DIRECT_ADDRESSING_MODE) M68kDataRegisterImpl(DATA_REGISTER) PsiElement(M68kTokenType.DREG)('d0') diff --git a/src/test/resources/parser/addressingmodes/movem_register_list.txt b/src/test/resources/parser/addressingmodes/movem_register_list.txt index 15e05f0..6099653 100644 --- a/src/test/resources/parser/addressingmodes/movem_register_list.txt +++ b/src/test/resources/parser/addressingmodes/movem_register_list.txt @@ -11,26 +11,26 @@ Assembly File: a.asm M68kRegisterListAddressingModeImpl(REGISTER_LIST_ADDRESSING_MODE) M68kDataRegisterImpl(DATA_REGISTER) PsiElement(M68kTokenType.DREG)('d0') - PsiElement(M68kTokenType.-)('-') + PsiElement(M68kTokenType.OP_MINUS)('-') M68kDataRegisterImpl(DATA_REGISTER) PsiElement(M68kTokenType.DREG)('d2') - PsiElement(M68kTokenType./)('/') + PsiElement(M68kTokenType.OP_AR_DIV)('/') M68kDataRegisterImpl(DATA_REGISTER) PsiElement(M68kTokenType.DREG)('d4') - PsiElement(M68kTokenType./)('/') + PsiElement(M68kTokenType.OP_AR_DIV)('/') M68kAddressRegisterImpl(ADDRESS_REGISTER) PsiElement(M68kTokenType.AREG)('a0') - PsiElement(M68kTokenType.-)('-') + PsiElement(M68kTokenType.OP_MINUS)('-') M68kAddressRegisterImpl(ADDRESS_REGISTER) PsiElement(M68kTokenType.AREG)('a2') - PsiElement(M68kTokenType./)('/') + PsiElement(M68kTokenType.OP_AR_DIV)('/') M68kAddressRegisterImpl(ADDRESS_REGISTER) PsiElement(M68kTokenType.AREG)('a4') - PsiElement(M68kTokenType.,)(',') + PsiElement(M68kTokenType.SEPARATOR)(',') M68kAddressRegisterIndirectPreDecAddressingModeImpl(ADDRESS_REGISTER_INDIRECT_PRE_DEC_ADDRESSING_MODE) - PsiElement(M68kTokenType.-)('-') - PsiElement(M68kTokenType.()('(') + PsiElement(M68kTokenType.OP_MINUS)('-') + PsiElement(M68kTokenType.ROUND_L)('(') M68kAddressRegisterImpl(ADDRESS_REGISTER) PsiElement(M68kTokenType.AREG)('sp') - PsiElement(M68kTokenType.))(')') + PsiElement(M68kTokenType.ROUND_R)(')') PsiElement(M68kTokenType.EOL)('\n') \ No newline at end of file diff --git a/src/test/resources/parser/addressingmodes/pc_indirect_special_case_without_offset.txt b/src/test/resources/parser/addressingmodes/pc_indirect_special_case_without_offset.txt index cc3fac1..743c1c3 100644 --- a/src/test/resources/parser/addressingmodes/pc_indirect_special_case_without_offset.txt +++ b/src/test/resources/parser/addressingmodes/pc_indirect_special_case_without_offset.txt @@ -9,10 +9,10 @@ Assembly File: a.asm PsiWhiteSpace(' ') M68kAsmOperandsImpl(ASM_OPERANDS) M68kProgramCounterIndirectWithDisplacementOldAddressingModeImpl(PROGRAM_COUNTER_INDIRECT_WITH_DISPLACEMENT_OLD_ADDRESSING_MODE) - PsiElement(M68kTokenType.()('(') - PsiElement(M68kTokenType.pc)('pc') - PsiElement(M68kTokenType.))(')') - PsiElement(M68kTokenType.,)(',') + PsiElement(M68kTokenType.ROUND_L)('(') + PsiElement(M68kTokenType.PC)('pc') + PsiElement(M68kTokenType.ROUND_R)(')') + PsiElement(M68kTokenType.SEPARATOR)(',') M68kDataRegisterDirectAddressingModeImpl(DATA_REGISTER_DIRECT_ADDRESSING_MODE) M68kDataRegisterImpl(DATA_REGISTER) PsiElement(M68kTokenType.DREG)('d6') diff --git a/src/test/resources/parser/addressingmodes/pc_indirect_with_index_and_offset_new_syntax.txt b/src/test/resources/parser/addressingmodes/pc_indirect_with_index_and_offset_new_syntax.txt index 7708ccf..ccc2289 100644 --- a/src/test/resources/parser/addressingmodes/pc_indirect_with_index_and_offset_new_syntax.txt +++ b/src/test/resources/parser/addressingmodes/pc_indirect_with_index_and_offset_new_syntax.txt @@ -9,43 +9,43 @@ Assembly File: a.asm PsiWhiteSpace(' ') M68kAsmOperandsImpl(ASM_OPERANDS) M68kProgramCounterIndirectWithIndexNewAddressingModeImpl(PROGRAM_COUNTER_INDIRECT_WITH_INDEX_NEW_ADDRESSING_MODE) - PsiElement(M68kTokenType.()('(') + PsiElement(M68kTokenType.ROUND_L)('(') M68kBinaryAddExprImpl(BINARY_ADD_EXPR) M68kUnaryMinusExprImpl(UNARY_MINUS_EXPR) - PsiElement(M68kTokenType.-)('-') + PsiElement(M68kTokenType.OP_MINUS)('-') M68kLiteralExprImpl(LITERAL_EXPR) PsiElement(M68kTokenType.DECIMAL)('4') - PsiElement(M68kTokenType.+)('+') + PsiElement(M68kTokenType.OP_PLUS)('+') M68kRefExprImpl(REF_EXPR) PsiElement(M68kTokenType.SYMBOL)('foo') - PsiElement(M68kTokenType.,)(',') - PsiElement(M68kTokenType.pc)('pc') - PsiElement(M68kTokenType.,)(',') + PsiElement(M68kTokenType.SEPARATOR)(',') + PsiElement(M68kTokenType.PC)('pc') + PsiElement(M68kTokenType.SEPARATOR)(',') M68kAddressRegisterImpl(ADDRESS_REGISTER) PsiElement(M68kTokenType.AREG)('a0') - PsiElement(M68kTokenType.))(')') - PsiElement(M68kTokenType.,)(',') + PsiElement(M68kTokenType.ROUND_R)(')') + PsiElement(M68kTokenType.SEPARATOR)(',') M68kProgramCounterIndirectWithIndexNewAddressingModeImpl(PROGRAM_COUNTER_INDIRECT_WITH_INDEX_NEW_ADDRESSING_MODE) - PsiElement(M68kTokenType.()('(') + PsiElement(M68kTokenType.ROUND_L)('(') M68kParenExprImpl(PAREN_EXPR) - PsiElement(M68kTokenType.()('(') + PsiElement(M68kTokenType.ROUND_L)('(') M68kBinaryAddExprImpl(BINARY_ADD_EXPR) M68kBinaryMulExprImpl(BINARY_MUL_EXPR) M68kLiteralExprImpl(LITERAL_EXPR) PsiElement(M68kTokenType.DECIMAL)('10') - PsiElement(M68kTokenType.*)('*') + PsiElement(M68kTokenType.OP_AR_MUL)('*') M68kLiteralExprImpl(LITERAL_EXPR) PsiElement(M68kTokenType.DECIMAL)('20') - PsiElement(M68kTokenType.+)('+') + PsiElement(M68kTokenType.OP_PLUS)('+') M68kLiteralExprImpl(LITERAL_EXPR) PsiElement(M68kTokenType.DECIMAL)('4') - PsiElement(M68kTokenType.))(')') - PsiElement(M68kTokenType.,)(',') - PsiElement(M68kTokenType.pc)('pc') - PsiElement(M68kTokenType.,)(',') + PsiElement(M68kTokenType.ROUND_R)(')') + PsiElement(M68kTokenType.SEPARATOR)(',') + PsiElement(M68kTokenType.PC)('pc') + PsiElement(M68kTokenType.SEPARATOR)(',') M68kDataRegisterImpl(DATA_REGISTER) PsiElement(M68kTokenType.DREG)('d5') M68kDataWidthImpl(DATA_WIDTH) PsiElement(M68kTokenType.OPSIZE_WL)('.l') - PsiElement(M68kTokenType.))(')') + PsiElement(M68kTokenType.ROUND_R)(')') PsiElement(M68kTokenType.EOL)('\n') \ No newline at end of file diff --git a/src/test/resources/parser/addressingmodes/pc_indirect_with_index_and_offset_old_syntax.txt b/src/test/resources/parser/addressingmodes/pc_indirect_with_index_and_offset_old_syntax.txt index 17f21c9..582a8ae 100644 --- a/src/test/resources/parser/addressingmodes/pc_indirect_with_index_and_offset_old_syntax.txt +++ b/src/test/resources/parser/addressingmodes/pc_indirect_with_index_and_offset_old_syntax.txt @@ -11,39 +11,39 @@ Assembly File: a.asm M68kProgramCounterIndirectWithIndexOldAddressingModeImpl(PROGRAM_COUNTER_INDIRECT_WITH_INDEX_OLD_ADDRESSING_MODE) M68kBinaryAddExprImpl(BINARY_ADD_EXPR) M68kUnaryMinusExprImpl(UNARY_MINUS_EXPR) - PsiElement(M68kTokenType.-)('-') + PsiElement(M68kTokenType.OP_MINUS)('-') M68kLiteralExprImpl(LITERAL_EXPR) PsiElement(M68kTokenType.DECIMAL)('4') - PsiElement(M68kTokenType.+)('+') + PsiElement(M68kTokenType.OP_PLUS)('+') M68kRefExprImpl(REF_EXPR) PsiElement(M68kTokenType.SYMBOL)('foo') - PsiElement(M68kTokenType.()('(') - PsiElement(M68kTokenType.pc)('pc') - PsiElement(M68kTokenType.,)(',') + PsiElement(M68kTokenType.ROUND_L)('(') + PsiElement(M68kTokenType.PC)('pc') + PsiElement(M68kTokenType.SEPARATOR)(',') M68kDataRegisterImpl(DATA_REGISTER) PsiElement(M68kTokenType.DREG)('d0') M68kDataWidthImpl(DATA_WIDTH) PsiElement(M68kTokenType.OPSIZE_WL)('.w') - PsiElement(M68kTokenType.))(')') - PsiElement(M68kTokenType.,)(',') + PsiElement(M68kTokenType.ROUND_R)(')') + PsiElement(M68kTokenType.SEPARATOR)(',') M68kProgramCounterIndirectWithIndexOldAddressingModeImpl(PROGRAM_COUNTER_INDIRECT_WITH_INDEX_OLD_ADDRESSING_MODE) M68kParenExprImpl(PAREN_EXPR) - PsiElement(M68kTokenType.()('(') + PsiElement(M68kTokenType.ROUND_L)('(') M68kBinaryAddExprImpl(BINARY_ADD_EXPR) M68kBinaryMulExprImpl(BINARY_MUL_EXPR) M68kLiteralExprImpl(LITERAL_EXPR) PsiElement(M68kTokenType.DECIMAL)('10') - PsiElement(M68kTokenType.*)('*') + PsiElement(M68kTokenType.OP_AR_MUL)('*') M68kLiteralExprImpl(LITERAL_EXPR) PsiElement(M68kTokenType.DECIMAL)('20') - PsiElement(M68kTokenType.+)('+') + PsiElement(M68kTokenType.OP_PLUS)('+') M68kLiteralExprImpl(LITERAL_EXPR) PsiElement(M68kTokenType.DECIMAL)('4') - PsiElement(M68kTokenType.))(')') - PsiElement(M68kTokenType.()('(') - PsiElement(M68kTokenType.pc)('pc') - PsiElement(M68kTokenType.,)(',') + PsiElement(M68kTokenType.ROUND_R)(')') + PsiElement(M68kTokenType.ROUND_L)('(') + PsiElement(M68kTokenType.PC)('pc') + PsiElement(M68kTokenType.SEPARATOR)(',') M68kAddressRegisterImpl(ADDRESS_REGISTER) PsiElement(M68kTokenType.AREG)('a3') - PsiElement(M68kTokenType.))(')') + PsiElement(M68kTokenType.ROUND_R)(')') PsiElement(M68kTokenType.EOL)('\n') \ No newline at end of file diff --git a/src/test/resources/parser/addressingmodes/pc_indirect_with_index_special_case_without_offset.txt b/src/test/resources/parser/addressingmodes/pc_indirect_with_index_special_case_without_offset.txt index 32611aa..fe07180 100644 --- a/src/test/resources/parser/addressingmodes/pc_indirect_with_index_special_case_without_offset.txt +++ b/src/test/resources/parser/addressingmodes/pc_indirect_with_index_special_case_without_offset.txt @@ -9,20 +9,20 @@ Assembly File: a.asm PsiWhiteSpace(' ') M68kAsmOperandsImpl(ASM_OPERANDS) M68kProgramCounterIndirectWithIndexNewAddressingModeImpl(PROGRAM_COUNTER_INDIRECT_WITH_INDEX_NEW_ADDRESSING_MODE) - PsiElement(M68kTokenType.()('(') - PsiElement(M68kTokenType.pc)('pc') - PsiElement(M68kTokenType.,)(',') + PsiElement(M68kTokenType.ROUND_L)('(') + PsiElement(M68kTokenType.PC)('pc') + PsiElement(M68kTokenType.SEPARATOR)(',') M68kDataRegisterImpl(DATA_REGISTER) PsiElement(M68kTokenType.DREG)('d0') M68kDataWidthImpl(DATA_WIDTH) PsiElement(M68kTokenType.OPSIZE_WL)('.w') - PsiElement(M68kTokenType.))(')') - PsiElement(M68kTokenType.,)(',') + PsiElement(M68kTokenType.ROUND_R)(')') + PsiElement(M68kTokenType.SEPARATOR)(',') M68kProgramCounterIndirectWithIndexNewAddressingModeImpl(PROGRAM_COUNTER_INDIRECT_WITH_INDEX_NEW_ADDRESSING_MODE) - PsiElement(M68kTokenType.()('(') - PsiElement(M68kTokenType.pc)('pc') - PsiElement(M68kTokenType.,)(',') + PsiElement(M68kTokenType.ROUND_L)('(') + PsiElement(M68kTokenType.PC)('pc') + PsiElement(M68kTokenType.SEPARATOR)(',') M68kAddressRegisterImpl(ADDRESS_REGISTER) PsiElement(M68kTokenType.AREG)('a3') - PsiElement(M68kTokenType.))(')') + PsiElement(M68kTokenType.ROUND_R)(')') PsiElement(M68kTokenType.EOL)('\n') \ No newline at end of file diff --git a/src/test/resources/parser/addressingmodes/pc_indirect_with_offset_new_syntax.txt b/src/test/resources/parser/addressingmodes/pc_indirect_with_offset_new_syntax.txt index 01952fc..18e4712 100644 --- a/src/test/resources/parser/addressingmodes/pc_indirect_with_offset_new_syntax.txt +++ b/src/test/resources/parser/addressingmodes/pc_indirect_with_offset_new_syntax.txt @@ -9,38 +9,38 @@ Assembly File: a.asm PsiWhiteSpace(' ') M68kAsmOperandsImpl(ASM_OPERANDS) M68kProgramCounterIndirectWithDisplacementNewAddressingModeImpl(PROGRAM_COUNTER_INDIRECT_WITH_DISPLACEMENT_NEW_ADDRESSING_MODE) - PsiElement(M68kTokenType.()('(') + PsiElement(M68kTokenType.ROUND_L)('(') M68kParenExprImpl(PAREN_EXPR) - PsiElement(M68kTokenType.()('(') + PsiElement(M68kTokenType.ROUND_L)('(') M68kBinaryAddExprImpl(BINARY_ADD_EXPR) M68kUnaryMinusExprImpl(UNARY_MINUS_EXPR) - PsiElement(M68kTokenType.-)('-') + PsiElement(M68kTokenType.OP_MINUS)('-') M68kLiteralExprImpl(LITERAL_EXPR) PsiElement(M68kTokenType.DECIMAL)('4') - PsiElement(M68kTokenType.+)('+') + PsiElement(M68kTokenType.OP_PLUS)('+') M68kRefExprImpl(REF_EXPR) PsiElement(M68kTokenType.SYMBOL)('foo') - PsiElement(M68kTokenType.))(')') - PsiElement(M68kTokenType.,)(',') - PsiElement(M68kTokenType.pc)('pc') - PsiElement(M68kTokenType.))(')') - PsiElement(M68kTokenType.,)(',') + PsiElement(M68kTokenType.ROUND_R)(')') + PsiElement(M68kTokenType.SEPARATOR)(',') + PsiElement(M68kTokenType.PC)('pc') + PsiElement(M68kTokenType.ROUND_R)(')') + PsiElement(M68kTokenType.SEPARATOR)(',') M68kProgramCounterIndirectWithDisplacementNewAddressingModeImpl(PROGRAM_COUNTER_INDIRECT_WITH_DISPLACEMENT_NEW_ADDRESSING_MODE) - PsiElement(M68kTokenType.()('(') + PsiElement(M68kTokenType.ROUND_L)('(') M68kParenExprImpl(PAREN_EXPR) - PsiElement(M68kTokenType.()('(') + PsiElement(M68kTokenType.ROUND_L)('(') M68kBinaryAddExprImpl(BINARY_ADD_EXPR) M68kBinaryMulExprImpl(BINARY_MUL_EXPR) M68kLiteralExprImpl(LITERAL_EXPR) PsiElement(M68kTokenType.DECIMAL)('10') - PsiElement(M68kTokenType.*)('*') + PsiElement(M68kTokenType.OP_AR_MUL)('*') M68kLiteralExprImpl(LITERAL_EXPR) PsiElement(M68kTokenType.DECIMAL)('20') - PsiElement(M68kTokenType.+)('+') + PsiElement(M68kTokenType.OP_PLUS)('+') M68kLiteralExprImpl(LITERAL_EXPR) PsiElement(M68kTokenType.DECIMAL)('4') - PsiElement(M68kTokenType.))(')') - PsiElement(M68kTokenType.,)(',') - PsiElement(M68kTokenType.pc)('pc') - PsiElement(M68kTokenType.))(')') + PsiElement(M68kTokenType.ROUND_R)(')') + PsiElement(M68kTokenType.SEPARATOR)(',') + PsiElement(M68kTokenType.PC)('pc') + PsiElement(M68kTokenType.ROUND_R)(')') PsiElement(M68kTokenType.EOL)('\n') \ No newline at end of file diff --git a/src/test/resources/parser/addressingmodes/pc_indirect_with_offset_old_syntax.txt b/src/test/resources/parser/addressingmodes/pc_indirect_with_offset_old_syntax.txt index 2dd2306..82d53e8 100644 --- a/src/test/resources/parser/addressingmodes/pc_indirect_with_offset_old_syntax.txt +++ b/src/test/resources/parser/addressingmodes/pc_indirect_with_offset_old_syntax.txt @@ -11,22 +11,22 @@ Assembly File: a.asm M68kProgramCounterIndirectWithDisplacementOldAddressingModeImpl(PROGRAM_COUNTER_INDIRECT_WITH_DISPLACEMENT_OLD_ADDRESSING_MODE) M68kBinaryMulExprImpl(BINARY_MUL_EXPR) M68kUnaryMinusExprImpl(UNARY_MINUS_EXPR) - PsiElement(M68kTokenType.-)('-') + PsiElement(M68kTokenType.OP_MINUS)('-') M68kLiteralExprImpl(LITERAL_EXPR) PsiElement(M68kTokenType.DECIMAL)('4') - PsiElement(M68kTokenType.*)('*') + PsiElement(M68kTokenType.OP_AR_MUL)('*') M68kLiteralExprImpl(LITERAL_EXPR) PsiElement(M68kTokenType.DECIMAL)('4') - PsiElement(M68kTokenType.()('(') - PsiElement(M68kTokenType.pc)('pc') - PsiElement(M68kTokenType.))(')') - PsiElement(M68kTokenType.,)(',') + PsiElement(M68kTokenType.ROUND_L)('(') + PsiElement(M68kTokenType.PC)('pc') + PsiElement(M68kTokenType.ROUND_R)(')') + PsiElement(M68kTokenType.SEPARATOR)(',') M68kProgramCounterIndirectWithDisplacementOldAddressingModeImpl(PROGRAM_COUNTER_INDIRECT_WITH_DISPLACEMENT_OLD_ADDRESSING_MODE) M68kUnaryPlusExprImpl(UNARY_PLUS_EXPR) - PsiElement(M68kTokenType.+)('+') + PsiElement(M68kTokenType.OP_PLUS)('+') M68kLiteralExprImpl(LITERAL_EXPR) PsiElement(M68kTokenType.DECIMAL)('4') - PsiElement(M68kTokenType.()('(') - PsiElement(M68kTokenType.pc)('pc') - PsiElement(M68kTokenType.))(')') + PsiElement(M68kTokenType.ROUND_L)('(') + PsiElement(M68kTokenType.PC)('pc') + PsiElement(M68kTokenType.ROUND_R)(')') PsiElement(M68kTokenType.EOL)('\n') \ No newline at end of file diff --git a/src/test/resources/parser/addressingmodes/register_direct.txt b/src/test/resources/parser/addressingmodes/register_direct.txt index cec5c83..583884d 100644 --- a/src/test/resources/parser/addressingmodes/register_direct.txt +++ b/src/test/resources/parser/addressingmodes/register_direct.txt @@ -11,7 +11,7 @@ Assembly File: a.asm M68kDataRegisterDirectAddressingModeImpl(DATA_REGISTER_DIRECT_ADDRESSING_MODE) M68kDataRegisterImpl(DATA_REGISTER) PsiElement(M68kTokenType.DREG)('d0') - PsiElement(M68kTokenType.,)(',') + PsiElement(M68kTokenType.SEPARATOR)(',') M68kAddressRegisterDirectAddressingModeImpl(ADDRESS_REGISTER_DIRECT_ADDRESSING_MODE) M68kAddressRegisterImpl(ADDRESS_REGISTER) PsiElement(M68kTokenType.AREG)('a7') diff --git a/src/test/resources/parser/addressingmodes/register_indirect.txt b/src/test/resources/parser/addressingmodes/register_indirect.txt index b17d968..a6fc9f5 100644 --- a/src/test/resources/parser/addressingmodes/register_indirect.txt +++ b/src/test/resources/parser/addressingmodes/register_indirect.txt @@ -9,14 +9,14 @@ Assembly File: a.asm PsiWhiteSpace(' ') M68kAsmOperandsImpl(ASM_OPERANDS) M68kAddressRegisterIndirectAddressingModeImpl(ADDRESS_REGISTER_INDIRECT_ADDRESSING_MODE) - PsiElement(M68kTokenType.()('(') + PsiElement(M68kTokenType.ROUND_L)('(') M68kAddressRegisterImpl(ADDRESS_REGISTER) PsiElement(M68kTokenType.AREG)('sp') - PsiElement(M68kTokenType.))(')') - PsiElement(M68kTokenType.,)(',') + PsiElement(M68kTokenType.ROUND_R)(')') + PsiElement(M68kTokenType.SEPARATOR)(',') M68kAddressRegisterIndirectAddressingModeImpl(ADDRESS_REGISTER_INDIRECT_ADDRESSING_MODE) - PsiElement(M68kTokenType.()('(') + PsiElement(M68kTokenType.ROUND_L)('(') M68kAddressRegisterImpl(ADDRESS_REGISTER) PsiElement(M68kTokenType.AREG)('a0') - PsiElement(M68kTokenType.))(')') + PsiElement(M68kTokenType.ROUND_R)(')') PsiElement(M68kTokenType.EOL)('\n') \ No newline at end of file diff --git a/src/test/resources/parser/addressingmodes/register_indirect_predecrement_postincrement.txt b/src/test/resources/parser/addressingmodes/register_indirect_predecrement_postincrement.txt index c2dc36b..545605c 100644 --- a/src/test/resources/parser/addressingmodes/register_indirect_predecrement_postincrement.txt +++ b/src/test/resources/parser/addressingmodes/register_indirect_predecrement_postincrement.txt @@ -9,16 +9,16 @@ Assembly File: a.asm PsiWhiteSpace(' ') M68kAsmOperandsImpl(ASM_OPERANDS) M68kAddressRegisterIndirectPostIncAddressingModeImpl(ADDRESS_REGISTER_INDIRECT_POST_INC_ADDRESSING_MODE) - PsiElement(M68kTokenType.()('(') + PsiElement(M68kTokenType.ROUND_L)('(') M68kAddressRegisterImpl(ADDRESS_REGISTER) PsiElement(M68kTokenType.AREG)('a1') - PsiElement(M68kTokenType.))(')') - PsiElement(M68kTokenType.+)('+') - PsiElement(M68kTokenType.,)(',') + PsiElement(M68kTokenType.ROUND_R)(')') + PsiElement(M68kTokenType.OP_PLUS)('+') + PsiElement(M68kTokenType.SEPARATOR)(',') M68kAddressRegisterIndirectPreDecAddressingModeImpl(ADDRESS_REGISTER_INDIRECT_PRE_DEC_ADDRESSING_MODE) - PsiElement(M68kTokenType.-)('-') - PsiElement(M68kTokenType.()('(') + PsiElement(M68kTokenType.OP_MINUS)('-') + PsiElement(M68kTokenType.ROUND_L)('(') M68kAddressRegisterImpl(ADDRESS_REGISTER) PsiElement(M68kTokenType.AREG)('sp') - PsiElement(M68kTokenType.))(')') + PsiElement(M68kTokenType.ROUND_R)(')') PsiElement(M68kTokenType.EOL)('\n') \ No newline at end of file diff --git a/src/test/resources/parser/addressingmodes/register_indirect_with_index_and_offset_new_syntax.txt b/src/test/resources/parser/addressingmodes/register_indirect_with_index_and_offset_new_syntax.txt index 050cfdf..1908f19 100644 --- a/src/test/resources/parser/addressingmodes/register_indirect_with_index_and_offset_new_syntax.txt +++ b/src/test/resources/parser/addressingmodes/register_indirect_with_index_and_offset_new_syntax.txt @@ -9,45 +9,45 @@ Assembly File: a.asm PsiWhiteSpace(' ') M68kAsmOperandsImpl(ASM_OPERANDS) M68kAddressRegisterIndirectWithIndexNewAddressingModeImpl(ADDRESS_REGISTER_INDIRECT_WITH_INDEX_NEW_ADDRESSING_MODE) - PsiElement(M68kTokenType.()('(') + PsiElement(M68kTokenType.ROUND_L)('(') M68kBinaryAddExprImpl(BINARY_ADD_EXPR) M68kUnaryMinusExprImpl(UNARY_MINUS_EXPR) - PsiElement(M68kTokenType.-)('-') + PsiElement(M68kTokenType.OP_MINUS)('-') M68kLiteralExprImpl(LITERAL_EXPR) PsiElement(M68kTokenType.DECIMAL)('4') - PsiElement(M68kTokenType.+)('+') + PsiElement(M68kTokenType.OP_PLUS)('+') M68kRefExprImpl(REF_EXPR) PsiElement(M68kTokenType.SYMBOL)('foo') - PsiElement(M68kTokenType.,)(',') + PsiElement(M68kTokenType.SEPARATOR)(',') M68kAddressRegisterImpl(ADDRESS_REGISTER) PsiElement(M68kTokenType.AREG)('sp') - PsiElement(M68kTokenType.,)(',') + PsiElement(M68kTokenType.SEPARATOR)(',') M68kAddressRegisterImpl(ADDRESS_REGISTER) PsiElement(M68kTokenType.AREG)('a0') - PsiElement(M68kTokenType.))(')') - PsiElement(M68kTokenType.,)(',') + PsiElement(M68kTokenType.ROUND_R)(')') + PsiElement(M68kTokenType.SEPARATOR)(',') M68kAddressRegisterIndirectWithIndexNewAddressingModeImpl(ADDRESS_REGISTER_INDIRECT_WITH_INDEX_NEW_ADDRESSING_MODE) - PsiElement(M68kTokenType.()('(') + PsiElement(M68kTokenType.ROUND_L)('(') M68kParenExprImpl(PAREN_EXPR) - PsiElement(M68kTokenType.()('(') + PsiElement(M68kTokenType.ROUND_L)('(') M68kBinaryAddExprImpl(BINARY_ADD_EXPR) M68kBinaryMulExprImpl(BINARY_MUL_EXPR) M68kLiteralExprImpl(LITERAL_EXPR) PsiElement(M68kTokenType.DECIMAL)('10') - PsiElement(M68kTokenType.*)('*') + PsiElement(M68kTokenType.OP_AR_MUL)('*') M68kLiteralExprImpl(LITERAL_EXPR) PsiElement(M68kTokenType.DECIMAL)('20') - PsiElement(M68kTokenType.+)('+') + PsiElement(M68kTokenType.OP_PLUS)('+') M68kLiteralExprImpl(LITERAL_EXPR) PsiElement(M68kTokenType.DECIMAL)('4') - PsiElement(M68kTokenType.))(')') - PsiElement(M68kTokenType.,)(',') + PsiElement(M68kTokenType.ROUND_R)(')') + PsiElement(M68kTokenType.SEPARATOR)(',') M68kAddressRegisterImpl(ADDRESS_REGISTER) PsiElement(M68kTokenType.AREG)('a1') - PsiElement(M68kTokenType.,)(',') + PsiElement(M68kTokenType.SEPARATOR)(',') M68kDataRegisterImpl(DATA_REGISTER) PsiElement(M68kTokenType.DREG)('d5') M68kDataWidthImpl(DATA_WIDTH) PsiElement(M68kTokenType.OPSIZE_WL)('.l') - PsiElement(M68kTokenType.))(')') + PsiElement(M68kTokenType.ROUND_R)(')') PsiElement(M68kTokenType.EOL)('\n') \ No newline at end of file diff --git a/src/test/resources/parser/addressingmodes/register_indirect_with_index_and_offset_old_syntax.txt b/src/test/resources/parser/addressingmodes/register_indirect_with_index_and_offset_old_syntax.txt index 08e2c72..b6f6ca3 100644 --- a/src/test/resources/parser/addressingmodes/register_indirect_with_index_and_offset_old_syntax.txt +++ b/src/test/resources/parser/addressingmodes/register_indirect_with_index_and_offset_old_syntax.txt @@ -11,41 +11,41 @@ Assembly File: a.asm M68kAddressRegisterIndirectWithIndexOldAddressingModeImpl(ADDRESS_REGISTER_INDIRECT_WITH_INDEX_OLD_ADDRESSING_MODE) M68kBinaryAddExprImpl(BINARY_ADD_EXPR) M68kUnaryMinusExprImpl(UNARY_MINUS_EXPR) - PsiElement(M68kTokenType.-)('-') + PsiElement(M68kTokenType.OP_MINUS)('-') M68kLiteralExprImpl(LITERAL_EXPR) PsiElement(M68kTokenType.DECIMAL)('4') - PsiElement(M68kTokenType.+)('+') + PsiElement(M68kTokenType.OP_PLUS)('+') M68kRefExprImpl(REF_EXPR) PsiElement(M68kTokenType.SYMBOL)('foo') - PsiElement(M68kTokenType.()('(') + PsiElement(M68kTokenType.ROUND_L)('(') M68kAddressRegisterImpl(ADDRESS_REGISTER) PsiElement(M68kTokenType.AREG)('sp') - PsiElement(M68kTokenType.,)(',') + PsiElement(M68kTokenType.SEPARATOR)(',') M68kDataRegisterImpl(DATA_REGISTER) PsiElement(M68kTokenType.DREG)('d0') M68kDataWidthImpl(DATA_WIDTH) PsiElement(M68kTokenType.OPSIZE_WL)('.w') - PsiElement(M68kTokenType.))(')') - PsiElement(M68kTokenType.,)(',') + PsiElement(M68kTokenType.ROUND_R)(')') + PsiElement(M68kTokenType.SEPARATOR)(',') M68kAddressRegisterIndirectWithIndexOldAddressingModeImpl(ADDRESS_REGISTER_INDIRECT_WITH_INDEX_OLD_ADDRESSING_MODE) M68kParenExprImpl(PAREN_EXPR) - PsiElement(M68kTokenType.()('(') + PsiElement(M68kTokenType.ROUND_L)('(') M68kBinaryAddExprImpl(BINARY_ADD_EXPR) M68kBinaryMulExprImpl(BINARY_MUL_EXPR) M68kLiteralExprImpl(LITERAL_EXPR) PsiElement(M68kTokenType.DECIMAL)('10') - PsiElement(M68kTokenType.*)('*') + PsiElement(M68kTokenType.OP_AR_MUL)('*') M68kLiteralExprImpl(LITERAL_EXPR) PsiElement(M68kTokenType.DECIMAL)('20') - PsiElement(M68kTokenType.+)('+') + PsiElement(M68kTokenType.OP_PLUS)('+') M68kLiteralExprImpl(LITERAL_EXPR) PsiElement(M68kTokenType.DECIMAL)('4') - PsiElement(M68kTokenType.))(')') - PsiElement(M68kTokenType.()('(') + PsiElement(M68kTokenType.ROUND_R)(')') + PsiElement(M68kTokenType.ROUND_L)('(') M68kAddressRegisterImpl(ADDRESS_REGISTER) PsiElement(M68kTokenType.AREG)('a1') - PsiElement(M68kTokenType.,)(',') + PsiElement(M68kTokenType.SEPARATOR)(',') M68kAddressRegisterImpl(ADDRESS_REGISTER) PsiElement(M68kTokenType.AREG)('a3') - PsiElement(M68kTokenType.))(')') + PsiElement(M68kTokenType.ROUND_R)(')') PsiElement(M68kTokenType.EOL)('\n') \ No newline at end of file diff --git a/src/test/resources/parser/addressingmodes/register_indirect_with_index_special_case_without_offset.txt b/src/test/resources/parser/addressingmodes/register_indirect_with_index_special_case_without_offset.txt index 45c255d..319a991 100644 --- a/src/test/resources/parser/addressingmodes/register_indirect_with_index_special_case_without_offset.txt +++ b/src/test/resources/parser/addressingmodes/register_indirect_with_index_special_case_without_offset.txt @@ -9,22 +9,22 @@ Assembly File: a.asm PsiWhiteSpace(' ') M68kAsmOperandsImpl(ASM_OPERANDS) M68kAddressRegisterIndirectWithIndexNewAddressingModeImpl(ADDRESS_REGISTER_INDIRECT_WITH_INDEX_NEW_ADDRESSING_MODE) - PsiElement(M68kTokenType.()('(') + PsiElement(M68kTokenType.ROUND_L)('(') M68kAddressRegisterImpl(ADDRESS_REGISTER) PsiElement(M68kTokenType.AREG)('sp') - PsiElement(M68kTokenType.,)(',') + PsiElement(M68kTokenType.SEPARATOR)(',') M68kDataRegisterImpl(DATA_REGISTER) PsiElement(M68kTokenType.DREG)('d0') M68kDataWidthImpl(DATA_WIDTH) PsiElement(M68kTokenType.OPSIZE_WL)('.w') - PsiElement(M68kTokenType.))(')') - PsiElement(M68kTokenType.,)(',') + PsiElement(M68kTokenType.ROUND_R)(')') + PsiElement(M68kTokenType.SEPARATOR)(',') M68kAddressRegisterIndirectWithIndexNewAddressingModeImpl(ADDRESS_REGISTER_INDIRECT_WITH_INDEX_NEW_ADDRESSING_MODE) - PsiElement(M68kTokenType.()('(') + PsiElement(M68kTokenType.ROUND_L)('(') M68kAddressRegisterImpl(ADDRESS_REGISTER) PsiElement(M68kTokenType.AREG)('a1') - PsiElement(M68kTokenType.,)(',') + PsiElement(M68kTokenType.SEPARATOR)(',') M68kAddressRegisterImpl(ADDRESS_REGISTER) PsiElement(M68kTokenType.AREG)('a3') - PsiElement(M68kTokenType.))(')') + PsiElement(M68kTokenType.ROUND_R)(')') PsiElement(M68kTokenType.EOL)('\n') \ No newline at end of file diff --git a/src/test/resources/parser/addressingmodes/register_indirect_with_offset_new_syntax.txt b/src/test/resources/parser/addressingmodes/register_indirect_with_offset_new_syntax.txt index 3fd3196..4d2059b 100644 --- a/src/test/resources/parser/addressingmodes/register_indirect_with_offset_new_syntax.txt +++ b/src/test/resources/parser/addressingmodes/register_indirect_with_offset_new_syntax.txt @@ -9,37 +9,37 @@ Assembly File: a.asm PsiWhiteSpace(' ') M68kAsmOperandsImpl(ASM_OPERANDS) M68kAddressRegisterIndirectWithDisplacementNewAddressingModeImpl(ADDRESS_REGISTER_INDIRECT_WITH_DISPLACEMENT_NEW_ADDRESSING_MODE) - PsiElement(M68kTokenType.()('(') + PsiElement(M68kTokenType.ROUND_L)('(') M68kBinaryAddExprImpl(BINARY_ADD_EXPR) M68kUnaryMinusExprImpl(UNARY_MINUS_EXPR) - PsiElement(M68kTokenType.-)('-') + PsiElement(M68kTokenType.OP_MINUS)('-') M68kLiteralExprImpl(LITERAL_EXPR) PsiElement(M68kTokenType.DECIMAL)('4') - PsiElement(M68kTokenType.+)('+') + PsiElement(M68kTokenType.OP_PLUS)('+') M68kRefExprImpl(REF_EXPR) PsiElement(M68kTokenType.SYMBOL)('foo') - PsiElement(M68kTokenType.,)(',') + PsiElement(M68kTokenType.SEPARATOR)(',') M68kAddressRegisterImpl(ADDRESS_REGISTER) PsiElement(M68kTokenType.AREG)('sp') - PsiElement(M68kTokenType.))(')') - PsiElement(M68kTokenType.,)(',') + PsiElement(M68kTokenType.ROUND_R)(')') + PsiElement(M68kTokenType.SEPARATOR)(',') M68kAddressRegisterIndirectWithDisplacementNewAddressingModeImpl(ADDRESS_REGISTER_INDIRECT_WITH_DISPLACEMENT_NEW_ADDRESSING_MODE) - PsiElement(M68kTokenType.()('(') + PsiElement(M68kTokenType.ROUND_L)('(') M68kParenExprImpl(PAREN_EXPR) - PsiElement(M68kTokenType.()('(') + PsiElement(M68kTokenType.ROUND_L)('(') M68kBinaryAddExprImpl(BINARY_ADD_EXPR) M68kBinaryMulExprImpl(BINARY_MUL_EXPR) M68kLiteralExprImpl(LITERAL_EXPR) PsiElement(M68kTokenType.DECIMAL)('10') - PsiElement(M68kTokenType.*)('*') + PsiElement(M68kTokenType.OP_AR_MUL)('*') M68kLiteralExprImpl(LITERAL_EXPR) PsiElement(M68kTokenType.DECIMAL)('20') - PsiElement(M68kTokenType.+)('+') + PsiElement(M68kTokenType.OP_PLUS)('+') M68kLiteralExprImpl(LITERAL_EXPR) PsiElement(M68kTokenType.DECIMAL)('4') - PsiElement(M68kTokenType.))(')') - PsiElement(M68kTokenType.,)(',') + PsiElement(M68kTokenType.ROUND_R)(')') + PsiElement(M68kTokenType.SEPARATOR)(',') M68kAddressRegisterImpl(ADDRESS_REGISTER) PsiElement(M68kTokenType.AREG)('a1') - PsiElement(M68kTokenType.))(')') + PsiElement(M68kTokenType.ROUND_R)(')') PsiElement(M68kTokenType.EOL)('\n') \ No newline at end of file diff --git a/src/test/resources/parser/addressingmodes/register_indirect_with_offset_old_syntax.txt b/src/test/resources/parser/addressingmodes/register_indirect_with_offset_old_syntax.txt index d0a3cd1..d574072 100644 --- a/src/test/resources/parser/addressingmodes/register_indirect_with_offset_old_syntax.txt +++ b/src/test/resources/parser/addressingmodes/register_indirect_with_offset_old_syntax.txt @@ -11,33 +11,33 @@ Assembly File: a.asm M68kAddressRegisterIndirectWithDisplacementOldAddressingModeImpl(ADDRESS_REGISTER_INDIRECT_WITH_DISPLACEMENT_OLD_ADDRESSING_MODE) M68kBinaryAddExprImpl(BINARY_ADD_EXPR) M68kUnaryMinusExprImpl(UNARY_MINUS_EXPR) - PsiElement(M68kTokenType.-)('-') + PsiElement(M68kTokenType.OP_MINUS)('-') M68kLiteralExprImpl(LITERAL_EXPR) PsiElement(M68kTokenType.DECIMAL)('4') - PsiElement(M68kTokenType.+)('+') + PsiElement(M68kTokenType.OP_PLUS)('+') M68kRefExprImpl(REF_EXPR) PsiElement(M68kTokenType.SYMBOL)('foo') - PsiElement(M68kTokenType.()('(') + PsiElement(M68kTokenType.ROUND_L)('(') M68kAddressRegisterImpl(ADDRESS_REGISTER) PsiElement(M68kTokenType.AREG)('sp') - PsiElement(M68kTokenType.))(')') - PsiElement(M68kTokenType.,)(',') + PsiElement(M68kTokenType.ROUND_R)(')') + PsiElement(M68kTokenType.SEPARATOR)(',') M68kAddressRegisterIndirectWithDisplacementOldAddressingModeImpl(ADDRESS_REGISTER_INDIRECT_WITH_DISPLACEMENT_OLD_ADDRESSING_MODE) M68kParenExprImpl(PAREN_EXPR) - PsiElement(M68kTokenType.()('(') + PsiElement(M68kTokenType.ROUND_L)('(') M68kBinaryAddExprImpl(BINARY_ADD_EXPR) M68kBinaryMulExprImpl(BINARY_MUL_EXPR) M68kLiteralExprImpl(LITERAL_EXPR) PsiElement(M68kTokenType.DECIMAL)('10') - PsiElement(M68kTokenType.*)('*') + PsiElement(M68kTokenType.OP_AR_MUL)('*') M68kLiteralExprImpl(LITERAL_EXPR) PsiElement(M68kTokenType.DECIMAL)('20') - PsiElement(M68kTokenType.+)('+') + PsiElement(M68kTokenType.OP_PLUS)('+') M68kLiteralExprImpl(LITERAL_EXPR) PsiElement(M68kTokenType.DECIMAL)('4') - PsiElement(M68kTokenType.))(')') - PsiElement(M68kTokenType.()('(') + PsiElement(M68kTokenType.ROUND_R)(')') + PsiElement(M68kTokenType.ROUND_L)('(') M68kAddressRegisterImpl(ADDRESS_REGISTER) PsiElement(M68kTokenType.AREG)('a1') - PsiElement(M68kTokenType.))(')') + PsiElement(M68kTokenType.ROUND_R)(')') PsiElement(M68kTokenType.EOL)('\n') \ No newline at end of file diff --git a/src/test/resources/parser/addressingmodes/special_register_move.txt b/src/test/resources/parser/addressingmodes/special_register_move.txt index f6a3538..460fcde 100644 --- a/src/test/resources/parser/addressingmodes/special_register_move.txt +++ b/src/test/resources/parser/addressingmodes/special_register_move.txt @@ -10,8 +10,8 @@ Assembly File: a.asm M68kAsmOperandsImpl(ASM_OPERANDS) M68kSpecialRegisterDirectAddressingModeImpl(SPECIAL_REGISTER_DIRECT_ADDRESSING_MODE) M68kSpecialRegisterImpl(SPECIAL_REGISTER) - PsiElement(M68kTokenType.usp)('usp') - PsiElement(M68kTokenType.,)(',') + PsiElement(M68kTokenType.REG_USP)('usp') + PsiElement(M68kTokenType.SEPARATOR)(',') M68kAddressRegisterDirectAddressingModeImpl(ADDRESS_REGISTER_DIRECT_ADDRESSING_MODE) M68kAddressRegisterImpl(ADDRESS_REGISTER) PsiElement(M68kTokenType.AREG)('a0') @@ -28,8 +28,8 @@ Assembly File: a.asm M68kAddressRegisterDirectAddressingModeImpl(ADDRESS_REGISTER_DIRECT_ADDRESSING_MODE) M68kAddressRegisterImpl(ADDRESS_REGISTER) PsiElement(M68kTokenType.AREG)('a5') - PsiElement(M68kTokenType.,)(',') + PsiElement(M68kTokenType.SEPARATOR)(',') M68kSpecialRegisterDirectAddressingModeImpl(SPECIAL_REGISTER_DIRECT_ADDRESSING_MODE) M68kSpecialRegisterImpl(SPECIAL_REGISTER) - PsiElement(M68kTokenType.usp)('usp') + PsiElement(M68kTokenType.REG_USP)('usp') PsiElement(M68kTokenType.EOL)('\n') \ No newline at end of file diff --git a/src/test/resources/parser/basic/basic_block_of_code.txt b/src/test/resources/parser/basic/basic_block_of_code.txt index 4410ceb..d59022d 100644 --- a/src/test/resources/parser/basic/basic_block_of_code.txt +++ b/src/test/resources/parser/basic/basic_block_of_code.txt @@ -11,7 +11,7 @@ Assembly File: a.asm M68kDataRegisterDirectAddressingModeImpl(DATA_REGISTER_DIRECT_ADDRESSING_MODE) M68kDataRegisterImpl(DATA_REGISTER) PsiElement(M68kTokenType.DREG)('d0') - PsiElement(M68kTokenType.,)(',') + PsiElement(M68kTokenType.SEPARATOR)(',') M68kDataRegisterDirectAddressingModeImpl(DATA_REGISTER_DIRECT_ADDRESSING_MODE) M68kDataRegisterImpl(DATA_REGISTER) PsiElement(M68kTokenType.DREG)('d0') @@ -24,10 +24,10 @@ Assembly File: a.asm PsiWhiteSpace(' ') M68kAsmOperandsImpl(ASM_OPERANDS) M68kImmediateDataImpl(IMMEDIATE_DATA) - PsiElement(M68kTokenType.#)('#') + PsiElement(M68kTokenType.HASH)('#') M68kLiteralExprImpl(LITERAL_EXPR) PsiElement(M68kTokenType.DECIMAL)('10') - PsiElement(M68kTokenType.,)(',') + PsiElement(M68kTokenType.SEPARATOR)(',') M68kDataRegisterDirectAddressingModeImpl(DATA_REGISTER_DIRECT_ADDRESSING_MODE) M68kDataRegisterImpl(DATA_REGISTER) PsiElement(M68kTokenType.DREG)('d1') diff --git a/src/test/resources/parser/comments/end_of_line_comments.txt b/src/test/resources/parser/comments/end_of_line_comments.txt index e813018..15d5e8b 100644 --- a/src/test/resources/parser/comments/end_of_line_comments.txt +++ b/src/test/resources/parser/comments/end_of_line_comments.txt @@ -3,7 +3,7 @@ Assembly File: a.asm M68kAssignmentImpl(ASSIGNMENT) PsiElement(M68kTokenType.SYMBOLDEF)('foo') PsiWhiteSpace(' ') - PsiElement(M68kTokenType.=)('=') + PsiElement(M68kTokenType.OP_ASSIGN)('=') PsiWhiteSpace(' ') M68kLiteralExprImpl(LITERAL_EXPR) PsiElement(M68kTokenType.DECIMAL)('1234') @@ -30,7 +30,7 @@ Assembly File: a.asm M68kDataRegisterDirectAddressingModeImpl(DATA_REGISTER_DIRECT_ADDRESSING_MODE) M68kDataRegisterImpl(DATA_REGISTER) PsiElement(M68kTokenType.DREG)('d0') - PsiElement(M68kTokenType.,)(',') + PsiElement(M68kTokenType.SEPARATOR)(',') M68kDataRegisterDirectAddressingModeImpl(DATA_REGISTER_DIRECT_ADDRESSING_MODE) M68kDataRegisterImpl(DATA_REGISTER) PsiElement(M68kTokenType.DREG)('d0') diff --git a/src/test/resources/parser/labels/complex_label_test.txt b/src/test/resources/parser/labels/complex_label_test.txt index 40fc3b9..b057b0f 100644 --- a/src/test/resources/parser/labels/complex_label_test.txt +++ b/src/test/resources/parser/labels/complex_label_test.txt @@ -17,14 +17,14 @@ Assembly File: a.asm PsiWhiteSpace(' ') M68kAsmOperandsImpl(ASM_OPERANDS) M68kImmediateDataImpl(IMMEDIATE_DATA) - PsiElement(M68kTokenType.#)('#') + PsiElement(M68kTokenType.HASH)('#') M68kBinarySubExprImpl(BINARY_SUB_EXPR) M68kLiteralExprImpl(LITERAL_EXPR) PsiElement(M68kTokenType.DECIMAL)('17') - PsiElement(M68kTokenType.-)('-') + PsiElement(M68kTokenType.OP_MINUS)('-') M68kLiteralExprImpl(LITERAL_EXPR) PsiElement(M68kTokenType.DECIMAL)('1') - PsiElement(M68kTokenType.,)(',') + PsiElement(M68kTokenType.SEPARATOR)(',') M68kDataRegisterDirectAddressingModeImpl(DATA_REGISTER_DIRECT_ADDRESSING_MODE) M68kDataRegisterImpl(DATA_REGISTER) PsiElement(M68kTokenType.DREG)('d7') @@ -43,18 +43,18 @@ Assembly File: a.asm PsiWhiteSpace(' ') M68kAsmOperandsImpl(ASM_OPERANDS) M68kAddressRegisterIndirectPostIncAddressingModeImpl(ADDRESS_REGISTER_INDIRECT_POST_INC_ADDRESSING_MODE) - PsiElement(M68kTokenType.()('(') + PsiElement(M68kTokenType.ROUND_L)('(') M68kAddressRegisterImpl(ADDRESS_REGISTER) PsiElement(M68kTokenType.AREG)('a0') - PsiElement(M68kTokenType.))(')') - PsiElement(M68kTokenType.+)('+') - PsiElement(M68kTokenType.,)(',') + PsiElement(M68kTokenType.ROUND_R)(')') + PsiElement(M68kTokenType.OP_PLUS)('+') + PsiElement(M68kTokenType.SEPARATOR)(',') M68kAddressRegisterIndirectPostIncAddressingModeImpl(ADDRESS_REGISTER_INDIRECT_POST_INC_ADDRESSING_MODE) - PsiElement(M68kTokenType.()('(') + PsiElement(M68kTokenType.ROUND_L)('(') M68kAddressRegisterImpl(ADDRESS_REGISTER) PsiElement(M68kTokenType.AREG)('a1') - PsiElement(M68kTokenType.))(')') - PsiElement(M68kTokenType.+)('+') + PsiElement(M68kTokenType.ROUND_R)(')') + PsiElement(M68kTokenType.OP_PLUS)('+') PsiWhiteSpace(' ') PsiComment(M68kTokenType.COMMENT)('; copy stuff') PsiElement(M68kTokenType.EOL)('\n') @@ -68,7 +68,7 @@ Assembly File: a.asm M68kDataRegisterDirectAddressingModeImpl(DATA_REGISTER_DIRECT_ADDRESSING_MODE) M68kDataRegisterImpl(DATA_REGISTER) PsiElement(M68kTokenType.DREG)('d7') - PsiElement(M68kTokenType.,)(',') + PsiElement(M68kTokenType.SEPARATOR)(',') M68kAbsoluteAddressAddressingModeImpl(ABSOLUTE_ADDRESS_ADDRESSING_MODE) M68kRefExprImpl(REF_EXPR) PsiElement(M68kTokenType.SYMBOL)('innerloop$')