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.
This commit is contained in:
+5
-3
@@ -2,11 +2,13 @@ Assembly File: a.asm
|
||||
PsiWhiteSpace(' ')
|
||||
M68kStatementImpl(STATEMENT)
|
||||
M68kMacroCallImpl(MACRO_CALL)
|
||||
PsiElement(M68kTokenType.MACRO_INVOKATION)('PUSHM')
|
||||
PsiElement(M68kTokenType.MACRO_INVOCATION)('PUSHM')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiElement(M68kTokenType.STRINGLIT)('d0')
|
||||
M68kLiteralExprImpl(LITERAL_EXPR)
|
||||
PsiElement(M68kTokenType.STRINGLIT)('d0')
|
||||
PsiElement(M68kTokenType.SEPARATOR)(',')
|
||||
PsiElement(M68kTokenType.STRINGLIT)('d0')
|
||||
M68kLiteralExprImpl(LITERAL_EXPR)
|
||||
PsiElement(M68kTokenType.STRINGLIT)('d0')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiComment(M68kTokenType.COMMENT)('hey comment')
|
||||
PsiElement(M68kTokenType.EOL)('\n')
|
||||
+5
-3
@@ -2,12 +2,14 @@ Assembly File: a.asm
|
||||
PsiWhiteSpace(' ')
|
||||
M68kStatementImpl(STATEMENT)
|
||||
M68kMacroCallImpl(MACRO_CALL)
|
||||
PsiElement(M68kTokenType.MACRO_INVOKATION)('PUSHM')
|
||||
PsiElement(M68kTokenType.MACRO_INVOCATION)('PUSHM')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiElement(M68kTokenType.STRINGLIT)('d0')
|
||||
M68kLiteralExprImpl(LITERAL_EXPR)
|
||||
PsiElement(M68kTokenType.STRINGLIT)('d0')
|
||||
PsiElement(M68kTokenType.SEPARATOR)(',')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiElement(M68kTokenType.STRINGLIT)('d0')
|
||||
M68kLiteralExprImpl(LITERAL_EXPR)
|
||||
PsiElement(M68kTokenType.STRINGLIT)('d0')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiComment(M68kTokenType.COMMENT)('; hey comment')
|
||||
PsiElement(M68kTokenType.EOL)('\n')
|
||||
@@ -2,5 +2,5 @@ Assembly File: a.asm
|
||||
PsiWhiteSpace(' ')
|
||||
PsiErrorElement:'.' unexpected
|
||||
PsiElement(BAD_CHARACTER)('.')
|
||||
PsiElement(M68kTokenType.MACRO_INVOKATION)('local_label')
|
||||
PsiElement(M68kTokenType.MACRO_INVOCATION)('local_label')
|
||||
PsiElement(M68kTokenType.EOL)('\n')
|
||||
@@ -2,6 +2,7 @@ Assembly File: a.asm
|
||||
PsiWhiteSpace(' ')
|
||||
M68kStatementImpl(STATEMENT)
|
||||
M68kMacroCallImpl(MACRO_CALL)
|
||||
PsiElement(M68kTokenType.MACRO_INVOKATION)('local_label')
|
||||
PsiElement(M68kTokenType.STRINGLIT)('$')
|
||||
PsiElement(M68kTokenType.MACRO_INVOCATION)('local_label')
|
||||
M68kLiteralExprImpl(LITERAL_EXPR)
|
||||
PsiElement(M68kTokenType.STRINGLIT)('$')
|
||||
PsiElement(M68kTokenType.EOL)('\n')
|
||||
@@ -2,9 +2,11 @@ Assembly File: a.asm
|
||||
PsiWhiteSpace(' ')
|
||||
M68kStatementImpl(STATEMENT)
|
||||
M68kMacroCallImpl(MACRO_CALL)
|
||||
PsiElement(M68kTokenType.MACRO_INVOKATION)('COPIMOVE')
|
||||
PsiElement(M68kTokenType.MACRO_INVOCATION)('COPIMOVE')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiElement(M68kTokenType.STRINGLIT)('(3<<0)|(3<<3)|(1<<6)')
|
||||
M68kLiteralExprImpl(LITERAL_EXPR)
|
||||
PsiElement(M68kTokenType.STRINGLIT)('(3<<0)|(3<<3)|(1<<6)')
|
||||
PsiElement(M68kTokenType.SEPARATOR)(',')
|
||||
PsiElement(M68kTokenType.STRINGLIT)('bplcon2')
|
||||
M68kLiteralExprImpl(LITERAL_EXPR)
|
||||
PsiElement(M68kTokenType.STRINGLIT)('bplcon2')
|
||||
PsiElement(M68kTokenType.EOL)('\n')
|
||||
@@ -0,0 +1,13 @@
|
||||
Assembly File: a.asm
|
||||
M68kStatementImpl(STATEMENT)
|
||||
M68kGlobalLabelImpl(GLOBAL_LABEL)
|
||||
PsiElement(M68kTokenType.GLOBAL_LABEL_DEF)('label')
|
||||
PsiWhiteSpace(' ')
|
||||
M68kMacroCallImpl(MACRO_CALL)
|
||||
PsiElement(M68kTokenType.MACRO_INVOCATION)('FOOBAR')
|
||||
PsiWhiteSpace(' ')
|
||||
M68kLiteralExprImpl(LITERAL_EXPR)
|
||||
PsiElement(M68kTokenType.STRINGLIT)('narf')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiComment(M68kTokenType.COMMENT)('; wut?')
|
||||
PsiElement(M68kTokenType.EOL)('\n')
|
||||
@@ -2,9 +2,10 @@ Assembly File: a.asm
|
||||
PsiWhiteSpace(' ')
|
||||
M68kStatementImpl(STATEMENT)
|
||||
M68kMacroCallImpl(MACRO_CALL)
|
||||
PsiElement(M68kTokenType.MACRO_INVOKATION)('PUSHM')
|
||||
PsiElement(M68kTokenType.MACRO_INVOCATION)('PUSHM')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiElement(M68kTokenType.STRINGLIT)('d0/d3/d5-d7/a0-a2/a4-a6')
|
||||
M68kLiteralExprImpl(LITERAL_EXPR)
|
||||
PsiElement(M68kTokenType.STRINGLIT)('d0/d3/d5-d7/a0-a2/a4-a6')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiComment(M68kTokenType.COMMENT)('; save a couple of registers')
|
||||
PsiElement(M68kTokenType.EOL)('\n')
|
||||
+13
-7
@@ -2,17 +2,23 @@ Assembly File: a.asm
|
||||
PsiWhiteSpace('\t')
|
||||
M68kStatementImpl(STATEMENT)
|
||||
M68kMacroCallImpl(MACRO_CALL)
|
||||
PsiElement(M68kTokenType.MACRO_INVOKATION)('PUTMSG')
|
||||
PsiElement(M68kTokenType.MACRO_INVOCATION)('PUTMSG')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiElement(M68kTokenType.STRINGLIT)('10')
|
||||
M68kLiteralExprImpl(LITERAL_EXPR)
|
||||
PsiElement(M68kTokenType.STRINGLIT)('10')
|
||||
PsiElement(M68kTokenType.SEPARATOR)(',')
|
||||
PsiElement(M68kTokenType.STRINGLIT)('<"%s has left the building at %d:%d",10,'Yup!'>')
|
||||
M68kLiteralExprImpl(LITERAL_EXPR)
|
||||
PsiElement(M68kTokenType.STRINGLIT)('<"%s has left the building at %d:%d",10,'Yup!'>')
|
||||
PsiElement(M68kTokenType.SEPARATOR)(',')
|
||||
PsiElement(M68kTokenType.STRINGLIT)('a0')
|
||||
M68kLiteralExprImpl(LITERAL_EXPR)
|
||||
PsiElement(M68kTokenType.STRINGLIT)('a0')
|
||||
PsiElement(M68kTokenType.SEPARATOR)(',')
|
||||
PsiElement(M68kTokenType.STRINGLIT)('$42(a1')
|
||||
M68kLiteralExprImpl(LITERAL_EXPR)
|
||||
PsiElement(M68kTokenType.STRINGLIT)('$42(a1')
|
||||
PsiElement(M68kTokenType.SEPARATOR)(',')
|
||||
PsiElement(M68kTokenType.STRINGLIT)('d0.w)')
|
||||
M68kLiteralExprImpl(LITERAL_EXPR)
|
||||
PsiElement(M68kTokenType.STRINGLIT)('d0.w)')
|
||||
PsiElement(M68kTokenType.SEPARATOR)(',')
|
||||
PsiElement(M68kTokenType.STRINGLIT)('#42')
|
||||
M68kLiteralExprImpl(LITERAL_EXPR)
|
||||
PsiElement(M68kTokenType.STRINGLIT)('#42')
|
||||
PsiElement(M68kTokenType.EOL)('\n')
|
||||
@@ -2,5 +2,5 @@ Assembly File: a.asm
|
||||
PsiWhiteSpace(' ')
|
||||
M68kStatementImpl(STATEMENT)
|
||||
M68kMacroCallImpl(MACRO_CALL)
|
||||
PsiElement(M68kTokenType.MACRO_INVOKATION)('BLT_HOG_ON')
|
||||
PsiElement(M68kTokenType.MACRO_INVOCATION)('BLT_HOG_ON')
|
||||
PsiElement(M68kTokenType.EOL)('\n')
|
||||
@@ -0,0 +1,13 @@
|
||||
PUTMSG MACRO
|
||||
printf
|
||||
ENDM
|
||||
|
||||
UAEExitWarp MACRO
|
||||
ENDM
|
||||
|
||||
main PUTM<caret>SG 10,<"Enter MAIN!">,d0
|
||||
rts
|
||||
|
||||
exit PUTMSG 10,<"Exit!">,d0
|
||||
illegal
|
||||
rts
|
||||
@@ -0,0 +1,13 @@
|
||||
PRINTF MACRO
|
||||
printf
|
||||
ENDM
|
||||
|
||||
UAEExitWarp MACRO
|
||||
ENDM
|
||||
|
||||
main PRINTF 10,<"Enter MAIN!">,d0
|
||||
rts
|
||||
|
||||
exit PRINTF 10,<"Exit!">,d0
|
||||
illegal
|
||||
rts
|
||||
@@ -2,6 +2,14 @@ PIC_WIDTH = 320
|
||||
PIC_HEIGHT equ 256
|
||||
DEBUG_LEVEL set 10
|
||||
|
||||
BLTHOGON MACRO
|
||||
foo
|
||||
ENDM
|
||||
|
||||
BLTHOGOFF MACRO
|
||||
bar
|
||||
ENDM
|
||||
|
||||
entry:
|
||||
bsr init
|
||||
bsr main
|
||||
|
||||
Reference in New Issue
Block a user