chrisly42
8d7977927f
Added M68kIncludeFileProvider, but dunno what it's actually for.
2021-08-06 19:12:54 +02:00
chrisly42
ddf78ec210
Slightly reworked lexer to for a few directives:
...
'opt' and several other directives ('printt', 'fail' etc.) no longer causes a syntax error when unquoted.
'include', 'incdir' and 'incbin' and 'output' with '<pathname>' quotes no longer cause syntax error.
2021-08-06 10:06:48 +02:00
chrisly42
2c3daf28f7
TODO list. Prepared next release (for tomorrow).
v0.5
2021-08-05 19:02:55 +02:00
chrisly42
1dcf288d27
Added inspection to warn about unexpected condition code unaffecting instructions before conditional instructions.
...
Extended documentation.
Bugfix in M68kDeadWriteInspection.
2021-08-05 18:42:32 +02:00
chrisly42
2abb5af8b0
Macros with register name now abort Dead Write analysis. Fix for modifying statements extending the with of the written data.
2021-08-05 16:21:32 +02:00
chrisly42
6c9a726b86
Preprocessor statements now abort Dead Write analysis.
2021-08-05 15:46:16 +02:00
chrisly42
921449cbb8
Refactored stuff.
...
Added control flow information to ISA.
In ISA exg is no longer treated as setting a definitive value.
Added inspection find dead writes to registers.
2021-08-04 17:39:54 +02:00
chrisly42
6f99c2ffcc
Moved Condition-Code stuff to separate file, added reverse mapping function.
...
Reworked Instruction Documentation provider, now shows condition codes.
Cosmetics: Removed MutableList information where unnecessary
2021-08-04 12:24:16 +02:00
chrisly42
5881dcdaf8
Optimized mnemonic lookup.
2021-08-03 18:28:53 +02:00
chrisly42
71398f51d2
Reworked and extended ISA to hold condition code testing and affecting information (not used yet).
...
Minor fix for `andi/eori/ori to ccr` which were not byte sized in ISA.
Added alternate condition code tests HS (=CC) and LO (=CS).
2021-08-03 13:45:44 +02:00
chrisly42
eb26793a20
movem ISA was wrong regarding movem.w <ea>,<registerlist> (sign extends registers).
...
Changed Register Flow Documentation wording from 'reads' to 'uses' and from 'modifies' to 'changes'.
Updated screenshot. Added another test case for M68kRegisterFlowDocumentationProviderTest.
2021-08-03 10:57:53 +02:00
chrisly42
954f42bf63
Tweaking for M68kRegisterFlowDocumentationProvider regarding colors, formatting and abbreviated documentation on hover. Prepared next release.
v0.4
2021-08-03 07:59:47 +02:00
chrisly42
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
chrisly42
55403f89a6
Added a few tests for M68kSyntaxInspection.
2021-08-02 10:07:25 +02:00
chrisly42
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
chrisly42
19e3b519db
Bugfix: Macro definitions with colons and without space supported (as found in P61a source).
2021-08-02 09:41:51 +02:00
chrisly42
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
chrisly42
719460ebfe
Minor code refactoring.
2021-08-01 20:02:36 +02:00
chrisly42
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
chrisly42
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
chrisly42
ce3cdbbed6
Bugfix: Uppercase hexadecimal literals were not parsed (JFlex bug?)
2021-07-31 14:12:58 +02:00
chrisly42
27b7593de8
Added several missing assembler directives (opt, machine, etc.)
2021-07-31 14:04:18 +02:00
chrisly42
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
chrisly42
128330d2c7
Added Structure View filters for Symbols, Macros and Labels.
2021-07-30 15:25:48 +02:00
chrisly42
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
chrisly42
8ea70f0dfa
Docs update. Prepared next release.
v0.3
2021-07-28 08:00:09 +02:00
chrisly42
fa1ef0b3d5
Reduced lexer code by combining state rules. Removed one rule, that seemed to be wrong.
2021-07-27 20:27:58 +02:00
chrisly42
3de9e9eba2
Restored compatibility with IDEs versions < 2021.1. Added PluginVerifier to build.gradle.
2021-07-27 17:46:11 +02:00
chrisly42
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
chrisly42
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
chrisly42
f006199201
Prepared next release.
v0.2
2021-07-27 08:01:03 +02:00
chrisly42
9553da6a1c
Minor fix for ExpressionsTest.
2021-07-26 20:02:20 +02:00
chrisly42
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
chrisly42
fc5e1f6bf7
Enhanced ISA description (no functional changes).
2021-07-26 15:44:13 +02:00
chrisly42
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
chrisly42
72db8ad8b2
Changes to File stubbing, maybe this fixes some strange errors in log.
2021-07-26 13:10:56 +02:00
chrisly42
82feb8c43c
Fixed syntax error for files ending on non-empty line
2021-07-26 10:59:40 +02:00
chrisly42
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
chrisly42
89ecaeb613
Added stubbing and stub index for symbol definitions.
2021-07-25 20:13:13 +02:00
chrisly42
83d2ca3304
Added first stubbing and stub index for global labels.
2021-07-25 19:53:06 +02:00
chrisly42
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
chrisly42
d872feeec4
Added plugin icon.
2021-07-24 18:27:41 +02:00
chrisly42
884624e833
Oops. Not good at dates :-/
2021-07-20 17:19:38 +02:00
chrisly42
27d9d3c543
Decreased minimum build version to allow the compatible CLion 2019.3.6.
2021-07-20 17:08:53 +02:00
chrisly42
3319fc1c45
Fixed compatibility with older IntelliJ versions. Minimum version now 2019.3.5, though. Converted a few missing files from Java to Kotlin.
v0.1
2021-07-20 14:25:41 +02:00
chrisly42
25245bea10
Rename .java to .kt
2021-07-20 14:25:41 +02:00
chrisly42
1620f18e37
Added minimal docs and screenshot.
2021-07-20 12:54:44 +02:00
chrisly42
c0e2da6c38
Added structure view.
2021-07-20 12:31:38 +02:00
chrisly42
331b88c05f
Added ChooseByNameContributor.
2021-07-20 11:18:42 +02:00
chrisly42
9a37b9c569
Added separate syntax highlighting for stack pointer vs. normal address registers.
2021-07-20 11:02:11 +02:00