680b811e22
Macro definition / invocation documentation provider that even tries to expand macros.
...
Moved some util classes around.
2021-10-03 20:26:33 +02:00
cbffc3d841
Label documentation now also works for local labels and includes end-of-line comment for label, too.
...
Symbol definition documentation now also includes comments in the same way as the label documentation does.
Refactored some code.
2021-10-03 18:55:42 +02:00
c4051a0377
'END' detection was breaking parsing, causing havoc.
2021-09-25 17:20:45 +02:00
a03de6c394
Added documentation provider info for global labels. Shows directives and comments above.
...
Fixed BNF for labels with preprocessor statements.
Bumped versions.
2021-09-25 15:19:05 +02:00
1bff1a12c2
Documentation for instruction with special register shows specific register expected.
2021-09-05 18:42:20 +02:00
3bb6165a58
Courtesy of Yann:
...
Bugfix: Special registers for address mode matching only worked with lower case register names.
Bugfix: movem with pc-relative mode was missing for weird immediate mode.
Bugfix: btst with pc-relative and weird immediate mode was missing.
Enhancement: Assembler syntax with implicit immediate 1 for shifts and rotations no longer cause syntax errors.
2021-09-04 14:08:10 +02:00
0cb90ff8d7
'END' directive stops parsing. Prepared next release.
2021-08-09 12:14:02 +02:00
431caf64fd
Added inspection for unresolved symbols, macros and labels.
2021-08-09 11:26:13 +02:00
a3f7ddb4f7
New: Added inspection suppression possibility and quickfix.
2021-08-09 10:08:41 +02:00
593719043e
New: Code completion for local label definitions, suggesting undefined labels already referenced.
2021-08-08 13:40:01 +02:00
e0cdfef42b
New: Files in 'include' directives can be referenced and renamed/refactored.
2021-08-06 20:03:47 +02:00
8d7977927f
Added M68kIncludeFileProvider, but dunno what it's actually for.
2021-08-06 19:12:54 +02:00
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
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
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
6c9a726b86
Preprocessor statements now abort Dead Write analysis.
2021-08-05 15:46:16 +02:00
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
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
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
954f42bf63
Tweaking for M68kRegisterFlowDocumentationProvider regarding colors, formatting and abbreviated documentation on hover. Prepared next release.
2021-08-03 07:59:47 +02:00
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
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
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
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
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
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
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
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
b966623765
Fixed tests.
2021-07-19 13:35:45 +02:00
66fa728a45
Added local label reference (not final yet), but referencing kind of works.
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
9ebc93fd15
Added Mnemonics auto-completion.
2021-07-16 15:23:30 +02:00
d53a1fbac8
Nosfe also likes to place assignments with colons. Fixed assignment symbol detection (again :-/).
2021-07-16 14:13:29 +02:00
213150e51f
Nosfe likes unquoted file paths with backslashes in include statements :-(
2021-07-16 12:20:36 +02:00
84104c86cd
Added support for single = as comparison in expressions.
2021-07-16 12:01:39 +02:00
99ba1014e1
Similar enhanced expression parser asm-ops.
2021-07-16 10:38:58 +02:00