Commit Graph

118 Commits

Author SHA1 Message Date
94001c8b87 Added explicit IndexRegister-PSI-Element. Major rework to support new DocumentationProvider on registers.
When asking for documentation on registers, a code flow analysis is done.
2021-08-02 20:54:30 +02:00
55403f89a6 Added a few tests for M68kSyntaxInspection. 2021-08-02 10:07:25 +02:00
7744b589d4 Added support for movem with register list crossing from data to address (e.g. d0-a6) as found in p61a source. 2021-08-02 09:43:42 +02:00
19e3b519db Bugfix: Macro definitions with colons and without space supported (as found in P61a source). 2021-08-02 09:41:51 +02:00
587b284d25 Fix in movem ISA (supports pc relative if first parameter). Also, single registers must also work (often optimized by the assembler). Increased default max macro parsing length to 250 lines. 2021-08-02 09:41:51 +02:00
719460ebfe Minor code refactoring. 2021-08-01 20:02:36 +02:00
44a4721d77 Added names for Adressing Modes.
Added Documentation Provider for symbol definitions (shows assigned declaration).
Added Documentation Provider for mnemonics (simple version, generated out of ISA information).
Work in progress for Register Flow Documentation Provider.
New minimum required version of IDE is now 2020.3.
2021-08-01 19:51:42 +02:00
09a4e62c7c Bugfix: Interpretation of register lists was wrong in BNF.
Massively extended M68kIsa with description on register modifications (not yet used in production code).
Changed BNF for additional AddressingMode interfaces.
2021-08-01 10:08:01 +02:00
ce3cdbbed6 Bugfix: Uppercase hexadecimal literals were not parsed (JFlex bug?) 2021-07-31 14:12:58 +02:00
27b7593de8 Added several missing assembler directives (opt, machine, etc.) 2021-07-31 14:04:18 +02:00
3aeb415974 Massively reworked and extended ISA-Description class.
Added inspection to validate the correctness of a MC68000 instruction regarding operation size and address modes.
2021-07-31 13:56:07 +02:00
128330d2c7 Added Structure View filters for Symbols, Macros and Labels. 2021-07-30 15:25:48 +02:00
ef900e9c19 Added LICENSE.TXT, changed build.gradle to 2021.2 and added new build to plugin verification. Minor change to README.md regarding caching of coveralls badge. 2021-07-30 14:05:37 +02:00
8ea70f0dfa Docs update. Prepared next release. 2021-07-28 08:00:09 +02:00
fa1ef0b3d5 Reduced lexer code by combining state rules. Removed one rule, that seemed to be wrong. 2021-07-27 20:27:58 +02:00
3de9e9eba2 Restored compatibility with IDEs versions < 2021.1. Added PluginVerifier to build.gradle. 2021-07-27 17:46:11 +02:00
25450a9bf8 Macro definitions are now word and indexed, macro calls reference to definition.
Macro definition refactoring and find usages support.
Structural View also shows macro definitions.
Missing REPT and ENDR assembler directives added.
Changed or added some icons at various places.
Reference search for global labels and symbols now uses stub index.
2021-07-27 16:34:49 +02:00
6e683eb6a0 Started working on macro support. Macro-Definition are now plain, unparsed lines. Added Syntax-Highlighter options. 2021-07-27 12:42:26 +02:00
f006199201 Prepared next release. 2021-07-27 08:01:03 +02:00
9553da6a1c Minor fix for ExpressionsTest. 2021-07-26 20:02:20 +02:00
5ffffb5680 Added M68kGlobalLabelSymbolCompletionContributor to replace variants returned by M68kGlobalLabelSymbolReference, to have more control over resolution. Contributor also adds registers to code completion. Code tidying. 2021-07-26 19:52:48 +02:00
fc5e1f6bf7 Enhanced ISA description (no functional changes). 2021-07-26 15:44:13 +02:00
ad3b207362 Added missing test for comparing expressions. Deleted unused generated file for Label-Implementation, noticed problem in inheritance hierarchy and removed base interface M68kLabel, too. 2021-07-26 14:13:12 +02:00
72db8ad8b2 Changes to File stubbing, maybe this fixes some strange errors in log. 2021-07-26 13:10:56 +02:00
82feb8c43c Fixed syntax error for files ending on non-empty line 2021-07-26 10:59:40 +02:00
3165d99fc2 Changed LookupUtil to use stub indexes instead of iterating over global labels and symbol definitions. Added basic test for Structure View. 2021-07-26 10:50:22 +02:00
89ecaeb613 Added stubbing and stub index for symbol definitions. 2021-07-25 20:13:13 +02:00
83d2ca3304 Added first stubbing and stub index for global labels. 2021-07-25 19:53:06 +02:00
a800b13a3e Call Word-Index for Global Labels and Symbols instead of iterating over the files. Removed unused file. 2021-07-24 19:46:28 +02:00
d872feeec4 Added plugin icon. 2021-07-24 18:27:41 +02:00
884624e833 Oops. Not good at dates :-/ 2021-07-20 17:19:38 +02:00
27d9d3c543 Decreased minimum build version to allow the compatible CLion 2019.3.6. 2021-07-20 17:08:53 +02:00
3319fc1c45 Fixed compatibility with older IntelliJ versions. Minimum version now 2019.3.5, though. Converted a few missing files from Java to Kotlin. 2021-07-20 14:25:41 +02:00
25245bea10 Rename .java to .kt 2021-07-20 14:25:41 +02:00
1620f18e37 Added minimal docs and screenshot. 2021-07-20 12:54:44 +02:00
c0e2da6c38 Added structure view. 2021-07-20 12:31:38 +02:00
331b88c05f Added ChooseByNameContributor. 2021-07-20 11:18:42 +02:00
9a37b9c569 Added separate syntax highlighting for stack pointer vs. normal address registers. 2021-07-20 11:02:11 +02:00
c00a403638 Added support for referencing / refactoring of global variables and symbols. Added getPresentation() for structural view, but does not seem to be working yet. Also Find Usages still reports "Unclassified" :-/ 2021-07-20 10:31:50 +02:00
5edaf47f28 Renamed Language from M68k to MC68000 to allow coexistence with Yann Cébron's M68k-Plugin (unreleased). 2021-07-19 15:56:08 +02:00
b966623765 Fixed tests. 2021-07-19 13:35:45 +02:00
c13e488ab8 Added M68kSymbolReferenceElementManipulator to allow refactoring of local labels. 2021-07-19 13:07:08 +02:00
56697ac1df Added caching for local label references. 2021-07-19 12:44:46 +02:00
66fa728a45 Added local label reference (not final yet), but referencing kind of works. 2021-07-19 12:08:47 +02:00
6073cd86ac Rename .java to .kt 2021-07-19 12:08:47 +02:00
25c755d729 Reworked BNF for symbol references and program counter. Enhanced syntax highlighting. Continued work on referencing (not yet working). Fixed renaming of Labels and Symbols. Added M68kRenameInputValidator for correct renaming of symbols and labels (allow local labels with dot or dollar). Added UsagesProvider (not sure if working). Added PairedBraceMatcher. 2021-07-18 15:05:59 +02:00
349372f6b3 Added M68kLexerPrefs (preliminary). Added support for optional space-introducing comments. 2021-07-17 16:49:50 +02:00
618a4eee01 Minor test extension. 2021-07-17 12:51:55 +02:00
63c38f68c3 Reworked label handling: Colons are no longer part of the label definition itself. Added PsiNamedElement for Labels. 2021-07-17 10:18:36 +02:00
14dd7de763 Migrated to latest gradle plugin. Upgraded kotlin and assertj version. 2021-07-16 20:00:57 +02:00