From 031d5ff4ab61e43e2908c2e15e067498d9a55b9f Mon Sep 17 00:00:00 2001 From: chrisly42 Date: Fri, 8 Oct 2021 17:52:57 +0200 Subject: [PATCH] Missing files and fix for optional values in Memory Indirect mode. --- README.md | 7 +- build.gradle | 1 + .../plugins/m68k/parser/M68kParser.java | 117 ++++++++++++++---- ...thIndexBaseDisplacementAddressingMode.java | 17 +++ ...moryIndirectPostIndexedAddressingMode.java | 2 +- ...emoryIndirectPreIndexedAddressingMode.java | 4 +- ...thIndexBaseDisplacementAddressingMode.java | 14 +++ .../plugins/m68k/psi/M68kVisitor.java | 8 +- ...dexBaseDisplacementAddressingModeImpl.java | 46 +++++++ ...yIndirectPreIndexedAddressingModeImpl.java | 4 +- ...dexBaseDisplacementAddressingModeImpl.java | 43 +++++++ .../platon42/intellij/plugins/m68k/m68k.bnf | 11 +- .../plugins/m68k/psi/M68kAddressModeUtil.kt | 8 +- .../m68k/parser/AddressingModesTest.kt | 15 +++ ..._post_indexed_without_address_register.txt | 45 +++++++ ...y_indirect_pre_indexed_only_with_index.txt | 37 ++++++ ...t_pre_indexed_without_address_register.txt | 49 ++++++++ 17 files changed, 380 insertions(+), 48 deletions(-) create mode 100644 src/main/gen/de/platon42/intellij/plugins/m68k/psi/M68kAddressRegisterIndirectWithIndexBaseDisplacementAddressingMode.java create mode 100644 src/main/gen/de/platon42/intellij/plugins/m68k/psi/M68kProgramCounterIndirectWithIndexBaseDisplacementAddressingMode.java create mode 100644 src/main/gen/de/platon42/intellij/plugins/m68k/psi/impl/M68kAddressRegisterIndirectWithIndexBaseDisplacementAddressingModeImpl.java create mode 100644 src/main/gen/de/platon42/intellij/plugins/m68k/psi/impl/M68kProgramCounterIndirectWithIndexBaseDisplacementAddressingModeImpl.java create mode 100644 src/test/resources/parser/addressingmodes/memory_indirect_post_indexed_without_address_register.txt create mode 100644 src/test/resources/parser/addressingmodes/memory_indirect_pre_indexed_only_with_index.txt create mode 100644 src/test/resources/parser/addressingmodes/memory_indirect_pre_indexed_without_address_register.txt diff --git a/README.md b/README.md index 0697c30..03b7d42 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ _MC68000 Assembly Language Plugin_ is plugin for Jetbrains IDEs (CLion, IntelliJ ## Purpose -This plugin delivers support for MC68000 assembly language files ([VAsm](http://sun.hasenbraten.de/vasm/) / DevPac-Style). +This plugin delivers support for MC680xx assembly language files ([VAsm](http://sun.hasenbraten.de/vasm/) / DevPac-Style). It adds a language parser with syntax highlighting, referencing and refactoring support, and a few more features. @@ -25,8 +25,8 @@ to get started, and I can return to demo coding with its current state. ## Features -- Parser / Lexer for MC68000 (yes, only 68000 right now!) assembly language files in VAsm / DevPac style -- Validates the assembly syntax against the 68000 ISA. +- Parser / Lexer for MC680xx assembly language files in VAsm / DevPac style +- Validates the assembly syntax against the 68000 ISA and 68020+ addressing modes (no complete >68020 support yet!) - Syntax highlighting and Color Settings Page (you should really modify the color settings to your likings!) - Mnemonics code completion - Symbols / labels / macros code completion @@ -163,6 +163,7 @@ are appreciated. It really is keeping me motivated to continue development. ### V0.8 (unreleased) +- New: Support for MC68020+ addressing modes! However, MC68020+ specific instructions have not been added yet. - Enhancement: Label documentation now also works for local labels and includes end-of-line comment for label, too. - Enhancement: Symbol definition documentation now also includes comments in the same way as the label documentation does. - New: Macro definition / invocation documentation provider that even tries to expand macros. diff --git a/build.gradle b/build.gradle index 2f8f26b..81a893c 100644 --- a/build.gradle +++ b/build.gradle @@ -60,6 +60,7 @@ patchPluginXml {

I still got zero feedback and zero ratings :-(

V0.8 (unreleased)