Added first version of Syntax Highlighting. Commented out some tokens.

This commit is contained in:
Chris Hodges 2021-07-15 16:40:17 +02:00
parent 03c11ecef9
commit f482948abe
50 changed files with 881 additions and 962 deletions

View File

@ -1,12 +1,6 @@
// This is a generated file. Not intended for manual editing.
package de.platon42.intellij.plugins.m68k.psi;
import com.intellij.psi.PsiElement;
import org.jetbrains.annotations.NotNull;
public interface M68kAddressRegister extends M68kRegister {
@NotNull
PsiElement getAreg();
}

View File

@ -2,11 +2,7 @@
package de.platon42.intellij.plugins.m68k.psi;
import com.intellij.psi.PsiElement;
import org.jetbrains.annotations.NotNull;
public interface M68kAddressSize extends PsiElement {
@NotNull
PsiElement getOpsizeWl();
}

View File

@ -2,7 +2,6 @@
package de.platon42.intellij.plugins.m68k.psi;
import com.intellij.psi.PsiElement;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
public interface M68kAsmOp extends PsiElement {
@ -10,7 +9,4 @@ public interface M68kAsmOp extends PsiElement {
@Nullable
M68kOperandSize getOperandSize();
@NotNull
PsiElement getMnemonic();
}

View File

@ -1,12 +1,6 @@
// This is a generated file. Not intended for manual editing.
package de.platon42.intellij.plugins.m68k.psi;
import com.intellij.psi.PsiElement;
import org.jetbrains.annotations.NotNull;
public interface M68kDataRegister extends M68kRegister {
@NotNull
PsiElement getDreg();
}

View File

@ -2,11 +2,7 @@
package de.platon42.intellij.plugins.m68k.psi;
import com.intellij.psi.PsiElement;
import org.jetbrains.annotations.NotNull;
public interface M68kDataWidth extends PsiElement {
@NotNull
PsiElement getOpsizeWl();
}

View File

@ -1,24 +1,6 @@
// This is a generated file. Not intended for manual editing.
package de.platon42.intellij.plugins.m68k.psi;
import com.intellij.psi.PsiElement;
import org.jetbrains.annotations.Nullable;
public interface M68kLiteralExpr extends M68kExpr {
@Nullable
PsiElement getBinary();
@Nullable
PsiElement getDecimal();
@Nullable
PsiElement getHexadecimal();
@Nullable
PsiElement getOctal();
@Nullable
PsiElement getStringlit();
}

View File

@ -11,7 +11,4 @@ public interface M68kMacroCall extends PsiElement {
@NotNull
List<M68kExpr> getExprList();
@NotNull
PsiElement getSymbol();
}

View File

@ -2,14 +2,7 @@
package de.platon42.intellij.plugins.m68k.psi;
import com.intellij.psi.PsiElement;
import org.jetbrains.annotations.Nullable;
public interface M68kOperandSize extends PsiElement {
@Nullable
PsiElement getOpsizeBs();
@Nullable
PsiElement getOpsizeWl();
}

View File

@ -3,7 +3,6 @@ package de.platon42.intellij.plugins.m68k.psi;
import com.intellij.psi.PsiElement;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.List;
@ -12,10 +11,4 @@ public interface M68kPreprocessorDirective extends PsiElement {
@NotNull
List<M68kExpr> getExprList();
@Nullable
PsiElement getIfTag();
@Nullable
PsiElement getSymbol();
}

View File

@ -1,12 +1,6 @@
// This is a generated file. Not intended for manual editing.
package de.platon42.intellij.plugins.m68k.psi;
import com.intellij.psi.PsiElement;
import org.jetbrains.annotations.NotNull;
public interface M68kRefExpr extends M68kExpr {
@NotNull
PsiElement getSymbol();
}

View File

@ -72,68 +72,62 @@ public interface M68kTypes {
IElementType AREG = new M68kTokenType("AREG");
IElementType BINARY = new M68kTokenType("BINARY");
IElementType CNOP_TAG = new M68kTokenType("cnop");
IElementType COLON = new M68kTokenType(":");
IElementType CNOP_TAG = new M68kTokenType("CNOP_TAG");
IElementType COMMENT = new M68kTokenType("COMMENT");
IElementType DECIMAL = new M68kTokenType("DECIMAL");
IElementType DOLLAR = new M68kTokenType("$");
IElementType DOT = new M68kTokenType(".");
IElementType DREG = new M68kTokenType("DREG");
IElementType ELSE_TAG = new M68kTokenType("else");
IElementType ENDC_TAG = new M68kTokenType("endc");
IElementType END_TAG = new M68kTokenType("end");
IElementType ELSE_TAG = new M68kTokenType("ELSE_TAG");
IElementType ENDC_TAG = new M68kTokenType("ENDC_TAG");
IElementType END_TAG = new M68kTokenType("END_TAG");
IElementType EOL = new M68kTokenType("EOL");
IElementType EQU = new M68kTokenType("equ");
IElementType EVEN_TAG = new M68kTokenType("even");
IElementType FAIL_TAG = new M68kTokenType("fail");
IElementType EQU = new M68kTokenType("EQU");
IElementType EVEN_TAG = new M68kTokenType("EVEN_TAG");
IElementType FAIL_TAG = new M68kTokenType("FAIL_TAG");
IElementType GLOBAL_LABEL_DEF = new M68kTokenType("GLOBAL_LABEL_DEF");
IElementType HASH = new M68kTokenType("#");
IElementType HASH = new M68kTokenType("HASH");
IElementType HEXADECIMAL = new M68kTokenType("HEXADECIMAL");
IElementType IF_TAG = new M68kTokenType("IF_TAG");
IElementType INCBIN_TAG = new M68kTokenType("incbin");
IElementType INCLUDE_TAG = new M68kTokenType("include");
IElementType INCBIN_TAG = new M68kTokenType("INCBIN_TAG");
IElementType INCLUDE_TAG = new M68kTokenType("INCLUDE_TAG");
IElementType LOCAL_LABEL_DEF = new M68kTokenType("LOCAL_LABEL_DEF");
IElementType MACRO_END_TAG = new M68kTokenType("endm");
IElementType MACRO_TAG = new M68kTokenType("macro");
IElementType MACRO_END_TAG = new M68kTokenType("MACRO_END_TAG");
IElementType MACRO_TAG = new M68kTokenType("MACRO_TAG");
IElementType MNEMONIC = new M68kTokenType("MNEMONIC");
IElementType OCTAL = new M68kTokenType("OCTAL");
IElementType OPSIZE_BS = new M68kTokenType("OPSIZE_BS");
IElementType OPSIZE_WL = new M68kTokenType("OPSIZE_WL");
IElementType OP_AR_DIV = new M68kTokenType("/");
IElementType OP_AR_MOD = new M68kTokenType("%");
IElementType OP_AR_MUL = new M68kTokenType("*");
IElementType OP_AR_SHIFT_L = new M68kTokenType("<<");
IElementType OP_AR_SHIFT_R = new M68kTokenType(">>");
IElementType OP_ASSIGN = new M68kTokenType("=");
IElementType OP_BITWISE_AND = new M68kTokenType("&");
IElementType OP_BITWISE_OR = new M68kTokenType("|");
IElementType OP_BITWISE_XOR = new M68kTokenType("^");
IElementType OP_CMP_EQ = new M68kTokenType("==");
IElementType OP_CMP_GT = new M68kTokenType(">");
IElementType OP_CMP_GT_EQ = new M68kTokenType(">=");
IElementType OP_CMP_LT = new M68kTokenType("<");
IElementType OP_CMP_LT_EQ = new M68kTokenType("<=");
IElementType OP_CMP_NOT_EQ = new M68kTokenType("!=");
IElementType OP_LOGICAL_AND = new M68kTokenType("&&");
IElementType OP_LOGICAL_OR = new M68kTokenType("||");
IElementType OP_MINUS = new M68kTokenType("-");
IElementType OP_PLUS = new M68kTokenType("+");
IElementType OP_UNARY_COMPL = new M68kTokenType("~");
IElementType OP_UNARY_NOT = new M68kTokenType("!");
IElementType PC = new M68kTokenType("pc");
IElementType REG_CCR = new M68kTokenType("ccr");
IElementType REG_SR = new M68kTokenType("sr");
IElementType REG_USP = new M68kTokenType("usp");
IElementType REG_VBR = new M68kTokenType("vbr");
IElementType REPT_END_TAG = new M68kTokenType("endr");
IElementType REPT_TAG = new M68kTokenType("rept");
IElementType ROUND_L = new M68kTokenType("(");
IElementType ROUND_R = new M68kTokenType(")");
IElementType SECTION_TAG = new M68kTokenType("section");
IElementType SEMICOLON = new M68kTokenType(";");
IElementType SEPARATOR = new M68kTokenType(",");
IElementType SQUARE_L = new M68kTokenType("[");
IElementType SQUARE_R = new M68kTokenType("]");
IElementType OP_AR_DIV = new M68kTokenType("OP_AR_DIV");
IElementType OP_AR_MOD = new M68kTokenType("OP_AR_MOD");
IElementType OP_AR_MUL = new M68kTokenType("OP_AR_MUL");
IElementType OP_AR_SHIFT_L = new M68kTokenType("OP_AR_SHIFT_L");
IElementType OP_AR_SHIFT_R = new M68kTokenType("OP_AR_SHIFT_R");
IElementType OP_ASSIGN = new M68kTokenType("OP_ASSIGN");
IElementType OP_BITWISE_AND = new M68kTokenType("OP_BITWISE_AND");
IElementType OP_BITWISE_OR = new M68kTokenType("OP_BITWISE_OR");
IElementType OP_BITWISE_XOR = new M68kTokenType("OP_BITWISE_XOR");
IElementType OP_CMP_EQ = new M68kTokenType("OP_CMP_EQ");
IElementType OP_CMP_GT = new M68kTokenType("OP_CMP_GT");
IElementType OP_CMP_GT_EQ = new M68kTokenType("OP_CMP_GT_EQ");
IElementType OP_CMP_LT = new M68kTokenType("OP_CMP_LT");
IElementType OP_CMP_LT_EQ = new M68kTokenType("OP_CMP_LT_EQ");
IElementType OP_CMP_NOT_EQ = new M68kTokenType("OP_CMP_NOT_EQ");
IElementType OP_LOGICAL_AND = new M68kTokenType("OP_LOGICAL_AND");
IElementType OP_LOGICAL_OR = new M68kTokenType("OP_LOGICAL_OR");
IElementType OP_MINUS = new M68kTokenType("OP_MINUS");
IElementType OP_PLUS = new M68kTokenType("OP_PLUS");
IElementType OP_UNARY_COMPL = new M68kTokenType("OP_UNARY_COMPL");
IElementType OP_UNARY_NOT = new M68kTokenType("OP_UNARY_NOT");
IElementType PC = new M68kTokenType("PC");
IElementType REG_CCR = new M68kTokenType("REG_CCR");
IElementType REG_SR = new M68kTokenType("REG_SR");
IElementType REG_USP = new M68kTokenType("REG_USP");
IElementType REG_VBR = new M68kTokenType("REG_VBR");
IElementType REPT_END_TAG = new M68kTokenType("REPT_END_TAG");
IElementType REPT_TAG = new M68kTokenType("REPT_TAG");
IElementType ROUND_L = new M68kTokenType("ROUND_L");
IElementType ROUND_R = new M68kTokenType("ROUND_R");
IElementType SECTION_TAG = new M68kTokenType("SECTION_TAG");
IElementType SEPARATOR = new M68kTokenType("SEPARATOR");
IElementType STRINGLIT = new M68kTokenType("STRINGLIT");
IElementType SYMBOL = new M68kTokenType("SYMBOL");
IElementType SYMBOLDEF = new M68kTokenType("SYMBOLDEF");

View File

@ -2,14 +2,11 @@
package de.platon42.intellij.plugins.m68k.psi.impl;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import de.platon42.intellij.plugins.m68k.psi.M68kAddressRegister;
import de.platon42.intellij.plugins.m68k.psi.M68kVisitor;
import org.jetbrains.annotations.NotNull;
import static de.platon42.intellij.plugins.m68k.psi.M68kTypes.AREG;
public class M68kAddressRegisterImpl extends M68kRegisterImpl implements M68kAddressRegister {
public M68kAddressRegisterImpl(@NotNull ASTNode node) {
@ -27,10 +24,4 @@ public class M68kAddressRegisterImpl extends M68kRegisterImpl implements M68kAdd
else super.accept(visitor);
}
@Override
@NotNull
public PsiElement getAreg() {
return findNotNullChildByType(AREG);
}
}

View File

@ -3,14 +3,11 @@ package de.platon42.intellij.plugins.m68k.psi.impl;
import com.intellij.extapi.psi.ASTWrapperPsiElement;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import de.platon42.intellij.plugins.m68k.psi.M68kAddressSize;
import de.platon42.intellij.plugins.m68k.psi.M68kVisitor;
import org.jetbrains.annotations.NotNull;
import static de.platon42.intellij.plugins.m68k.psi.M68kTypes.OPSIZE_WL;
public class M68kAddressSizeImpl extends ASTWrapperPsiElement implements M68kAddressSize {
public M68kAddressSizeImpl(@NotNull ASTNode node) {
@ -27,10 +24,4 @@ public class M68kAddressSizeImpl extends ASTWrapperPsiElement implements M68kAdd
else super.accept(visitor);
}
@Override
@NotNull
public PsiElement getOpsizeWl() {
return findNotNullChildByType(OPSIZE_WL);
}
}

View File

@ -3,7 +3,6 @@ package de.platon42.intellij.plugins.m68k.psi.impl;
import com.intellij.extapi.psi.ASTWrapperPsiElement;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import de.platon42.intellij.plugins.m68k.psi.M68kAsmOp;
import de.platon42.intellij.plugins.m68k.psi.M68kOperandSize;
@ -11,8 +10,6 @@ import de.platon42.intellij.plugins.m68k.psi.M68kVisitor;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import static de.platon42.intellij.plugins.m68k.psi.M68kTypes.MNEMONIC;
public class M68kAsmOpImpl extends ASTWrapperPsiElement implements M68kAsmOp {
public M68kAsmOpImpl(@NotNull ASTNode node) {
@ -35,10 +32,4 @@ public class M68kAsmOpImpl extends ASTWrapperPsiElement implements M68kAsmOp {
return findChildByClass(M68kOperandSize.class);
}
@Override
@NotNull
public PsiElement getMnemonic() {
return findNotNullChildByType(MNEMONIC);
}
}

View File

@ -2,14 +2,11 @@
package de.platon42.intellij.plugins.m68k.psi.impl;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import de.platon42.intellij.plugins.m68k.psi.M68kDataRegister;
import de.platon42.intellij.plugins.m68k.psi.M68kVisitor;
import org.jetbrains.annotations.NotNull;
import static de.platon42.intellij.plugins.m68k.psi.M68kTypes.DREG;
public class M68kDataRegisterImpl extends M68kRegisterImpl implements M68kDataRegister {
public M68kDataRegisterImpl(@NotNull ASTNode node) {
@ -27,10 +24,4 @@ public class M68kDataRegisterImpl extends M68kRegisterImpl implements M68kDataRe
else super.accept(visitor);
}
@Override
@NotNull
public PsiElement getDreg() {
return findNotNullChildByType(DREG);
}
}

View File

@ -3,14 +3,11 @@ package de.platon42.intellij.plugins.m68k.psi.impl;
import com.intellij.extapi.psi.ASTWrapperPsiElement;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import de.platon42.intellij.plugins.m68k.psi.M68kDataWidth;
import de.platon42.intellij.plugins.m68k.psi.M68kVisitor;
import org.jetbrains.annotations.NotNull;
import static de.platon42.intellij.plugins.m68k.psi.M68kTypes.OPSIZE_WL;
public class M68kDataWidthImpl extends ASTWrapperPsiElement implements M68kDataWidth {
public M68kDataWidthImpl(@NotNull ASTNode node) {
@ -27,10 +24,4 @@ public class M68kDataWidthImpl extends ASTWrapperPsiElement implements M68kDataW
else super.accept(visitor);
}
@Override
@NotNull
public PsiElement getOpsizeWl() {
return findNotNullChildByType(OPSIZE_WL);
}
}

View File

@ -2,14 +2,10 @@
package de.platon42.intellij.plugins.m68k.psi.impl;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import de.platon42.intellij.plugins.m68k.psi.M68kLiteralExpr;
import de.platon42.intellij.plugins.m68k.psi.M68kVisitor;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import static de.platon42.intellij.plugins.m68k.psi.M68kTypes.*;
public class M68kLiteralExprImpl extends M68kExprImpl implements M68kLiteralExpr {
@ -28,34 +24,4 @@ public class M68kLiteralExprImpl extends M68kExprImpl implements M68kLiteralExpr
else super.accept(visitor);
}
@Override
@Nullable
public PsiElement getBinary() {
return findChildByType(BINARY);
}
@Override
@Nullable
public PsiElement getDecimal() {
return findChildByType(DECIMAL);
}
@Override
@Nullable
public PsiElement getHexadecimal() {
return findChildByType(HEXADECIMAL);
}
@Override
@Nullable
public PsiElement getOctal() {
return findChildByType(OCTAL);
}
@Override
@Nullable
public PsiElement getStringlit() {
return findChildByType(STRINGLIT);
}
}

View File

@ -3,7 +3,6 @@ package de.platon42.intellij.plugins.m68k.psi.impl;
import com.intellij.extapi.psi.ASTWrapperPsiElement;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.intellij.psi.util.PsiTreeUtil;
import de.platon42.intellij.plugins.m68k.psi.M68kExpr;
@ -13,8 +12,6 @@ import org.jetbrains.annotations.NotNull;
import java.util.List;
import static de.platon42.intellij.plugins.m68k.psi.M68kTypes.SYMBOL;
public class M68kMacroCallImpl extends ASTWrapperPsiElement implements M68kMacroCall {
public M68kMacroCallImpl(@NotNull ASTNode node) {
@ -37,10 +34,4 @@ public class M68kMacroCallImpl extends ASTWrapperPsiElement implements M68kMacro
return PsiTreeUtil.getChildrenOfTypeAsList(this, M68kExpr.class);
}
@Override
@NotNull
public PsiElement getSymbol() {
return findNotNullChildByType(SYMBOL);
}
}

View File

@ -3,15 +3,10 @@ package de.platon42.intellij.plugins.m68k.psi.impl;
import com.intellij.extapi.psi.ASTWrapperPsiElement;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import de.platon42.intellij.plugins.m68k.psi.M68kOperandSize;
import de.platon42.intellij.plugins.m68k.psi.M68kVisitor;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import static de.platon42.intellij.plugins.m68k.psi.M68kTypes.OPSIZE_BS;
import static de.platon42.intellij.plugins.m68k.psi.M68kTypes.OPSIZE_WL;
public class M68kOperandSizeImpl extends ASTWrapperPsiElement implements M68kOperandSize {
@ -29,16 +24,4 @@ public class M68kOperandSizeImpl extends ASTWrapperPsiElement implements M68kOpe
else super.accept(visitor);
}
@Override
@Nullable
public PsiElement getOpsizeBs() {
return findChildByType(OPSIZE_BS);
}
@Override
@Nullable
public PsiElement getOpsizeWl() {
return findChildByType(OPSIZE_WL);
}
}

View File

@ -3,20 +3,15 @@ package de.platon42.intellij.plugins.m68k.psi.impl;
import com.intellij.extapi.psi.ASTWrapperPsiElement;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.intellij.psi.util.PsiTreeUtil;
import de.platon42.intellij.plugins.m68k.psi.M68kExpr;
import de.platon42.intellij.plugins.m68k.psi.M68kPreprocessorDirective;
import de.platon42.intellij.plugins.m68k.psi.M68kVisitor;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.List;
import static de.platon42.intellij.plugins.m68k.psi.M68kTypes.IF_TAG;
import static de.platon42.intellij.plugins.m68k.psi.M68kTypes.SYMBOL;
public class M68kPreprocessorDirectiveImpl extends ASTWrapperPsiElement implements M68kPreprocessorDirective {
public M68kPreprocessorDirectiveImpl(@NotNull ASTNode node) {
@ -39,16 +34,4 @@ public class M68kPreprocessorDirectiveImpl extends ASTWrapperPsiElement implemen
return PsiTreeUtil.getChildrenOfTypeAsList(this, M68kExpr.class);
}
@Override
@Nullable
public PsiElement getIfTag() {
return findChildByType(IF_TAG);
}
@Override
@Nullable
public PsiElement getSymbol() {
return findChildByType(SYMBOL);
}
}

View File

@ -2,14 +2,11 @@
package de.platon42.intellij.plugins.m68k.psi.impl;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import de.platon42.intellij.plugins.m68k.psi.M68kRefExpr;
import de.platon42.intellij.plugins.m68k.psi.M68kVisitor;
import org.jetbrains.annotations.NotNull;
import static de.platon42.intellij.plugins.m68k.psi.M68kTypes.SYMBOL;
public class M68kRefExprImpl extends M68kExprImpl implements M68kRefExpr {
public M68kRefExprImpl(@NotNull ASTNode node) {
@ -27,10 +24,4 @@ public class M68kRefExprImpl extends M68kExprImpl implements M68kRefExpr {
else super.accept(visitor);
}
@Override
@NotNull
public PsiElement getSymbol() {
return findNotNullChildByType(SYMBOL);
}
}

View File

@ -6,7 +6,7 @@ import org.jetbrains.annotations.NonNls
import javax.swing.Icon
@Suppress("unused")
class M68kFileType private constructor() : LanguageFileType(M68kLanguage.INSTANCE, true) {
class M68kFileType private constructor() : LanguageFileType(M68kLanguage.INSTANCE, false) {
@NonNls
override fun getName(): String {
return "M68k Assembler"

View File

@ -136,14 +136,14 @@ HASH_COMMENT=([#;*].*+)
"&" { return OP_BITWISE_AND; }
"|" { return OP_BITWISE_OR; }
"^" { return OP_BITWISE_XOR; }
":" { return COLON; }
";" { return SEMICOLON; }
"[" { return SQUARE_L; }
"]" { return SQUARE_R; }
// ":" { return COLON; }
// ";" { return SEMICOLON; }
// "[" { return SQUARE_L; }
// "]" { return SQUARE_R; }
"(" { return ROUND_L; }
")" { return ROUND_R; }
"." { return DOT; }
"$" { return DOLLAR; }
// "." { return DOT; }
// "$" { return DOLLAR; }
"=" { return OP_ASSIGN; }
"!" { return OP_UNARY_NOT; }
"~" { return OP_UNARY_COMPL; }
@ -193,16 +193,16 @@ HASH_COMMENT=([#;*].*+)
"&" { return OP_BITWISE_AND; }
"|" { return OP_BITWISE_OR; }
"^" { return OP_BITWISE_XOR; }
":" { return COLON; }
";" { return SEMICOLON; }
"[" { return SQUARE_L; }
"]" { return SQUARE_R; }
// ":" { return COLON; }
// ";" { return SEMICOLON; }
// "[" { return SQUARE_L; }
// "]" { return SQUARE_R; }
"(" { return ROUND_L; }
")" { return ROUND_R; }
"," { return SEPARATOR; }
"." { return DOT; }
// "." { return DOT; }
"#" { return HASH; }
"$" { return DOLLAR; }
// "$" { return DOLLAR; }
"=" { return OP_ASSIGN; }
"!" { return OP_UNARY_NOT; }
"~" { return OP_UNARY_COMPL; }

View File

@ -30,84 +30,84 @@
EOL = 'regexp:\R'
WHITE_SPACE = 'regexp:\p{Blank}+'
EQU = 'equ'
// EQU = 'equ'
//
// EVEN_TAG = 'even'
// CNOP_TAG = 'cnop'
// SECTION_TAG = 'section'
//
// INCLUDE_TAG = 'include'
// INCBIN_TAG = 'incbin'
//
// IF_TAG = 'regexp:(if\p{Alpha}*)'
// ELSE_TAG = 'else'
// ENDC_TAG = 'endc'
// MACRO_TAG = 'macro'
// MACRO_END_TAG = 'endm'
// REPT_TAG = 'rept'
// REPT_END_TAG = 'endr'
// FAIL_TAG = 'fail'
// END_TAG = 'end'
EVEN_TAG = 'even'
CNOP_TAG = 'cnop'
SECTION_TAG = 'section'
INCLUDE_TAG = 'include'
INCBIN_TAG = 'incbin'
IF_TAG = 'regexp:(if\p{Alpha}*)'
ELSE_TAG = 'else'
ENDC_TAG = 'endc'
MACRO_TAG = 'macro'
MACRO_END_TAG = 'endm'
REPT_TAG = 'rept'
REPT_END_TAG = 'endr'
FAIL_TAG = 'fail'
END_TAG = 'end'
AREG = 'regexp:((a[0-7])|sp)'
DREG = 'regexp:(d[0-7])'
PC = 'pc'
REG_CCR = 'ccr'
REG_SR = 'sr'
REG_USP = 'usp'
REG_VBR = 'vbr'
// AREG = 'regexp:((a[0-7])|sp)'
// DREG = 'regexp:(d[0-7])'
// PC = 'pc'
// REG_CCR = 'ccr'
// REG_SR = 'sr'
// REG_USP = 'usp'
// REG_VBR = 'vbr'
// ASSIGNMENT = 'regexp:((\p{Alpha}|_)(\p{Alnum}|_)*)((\p{Blank}+equ\p{Blank})|=)'
// LOCAL_LABEL_OC = 'regexp:(!(\p{Blank}+)\.(\p{Alpha}|_)(\p{Alnum}|_)*:?)|(!(\p{Blank}+)(\p{Alpha}|_)(\p{Alnum}|_)*\$:?)|((\p{Blank}*)?\.(\p{Alpha}|_)(\p{Alnum}|_)*:)|((\p{Blank}*)?(\p{Alpha}|_)(\p{Alnum}|_)*\$:)|(\.(\p{Alpha}|_)(\p{Alnum}|_)*:)|((\p{Alpha}|_)(\p{Alnum}|_)*\$:)'
// GLOBAL_LABEL_OC = 'regexp:(!(\p{Blank}+)(\p{Alpha}|_)(\p{Alnum}|_)*:?:?)|((\p{Blank}*)?(\p{Alpha}|_)(\p{Alnum}|_)*::?)'
MNEMONIC = 'regexp:((\p{Alpha})+)'
SYMBOL = 'regexp:((\p{Alpha}|_)(\p{Alnum}|_)*)'
OPSIZE_BS = 'regexp:(\.[bs])'
OPSIZE_WL = 'regexp:(\.[wl])'
// MNEMONIC = 'regexp:((\p{Alpha})+)'
// SYMBOL = 'regexp:((\p{Alpha}|_)(\p{Alnum}|_)*)'
// OPSIZE_BS = 'regexp:(\.[bs])'
// OPSIZE_WL = 'regexp:(\.[wl])'
BINARY = 'regexp:(%[01]+)'
HEXADECIMAL = 'regexp:(\$[0-9a-f]+)'
OCTAL = 'regexp:(@[0-7]+)'
DECIMAL = 'regexp:([0-9]+)'
// BINARY = 'regexp:(%[01]+)'
// HEXADECIMAL = 'regexp:(\$[0-9a-f]+)'
// OCTAL = 'regexp:(@[0-7]+)'
// DECIMAL = 'regexp:([0-9]+)'
STRINGLIT = "regexp:(`([^`\\]|\\.)*`|'([^'\\]|\\.)*'|\"([^\"\\]|\\.)*\")|<([^`\\]|\\.)*>"
// STRINGLIT = "regexp:(`([^`\\]|\\.)*`|'([^'\\]|\\.)*'|\"([^\"\\]|\\.)*\")|<([^`\\]|\\.)*>"
COLON = ':'
SEMICOLON = ';'
SQUARE_L = '['
SQUARE_R = ']'
ROUND_L = '('
ROUND_R = ')'
SEPARATOR = ','
DOT = '.'
HASH = '#'
DOLLAR = '$'
OP_ASSIGN = '='
OP_UNARY_NOT = '!'
OP_UNARY_COMPL = '~'
OP_PLUS = '+'
OP_MINUS = '-'
OP_AR_MUL = '*'
OP_AR_DIV = '/'
OP_AR_MOD = '%'
OP_AR_SHIFT_L = '<<'
OP_AR_SHIFT_R = '>>'
OP_BITWISE_AND = '&'
OP_BITWISE_OR = '|'
OP_BITWISE_XOR = '^'
OP_LOGICAL_AND = '&&'
OP_LOGICAL_OR = '||'
OP_CMP_EQ = '=='
OP_CMP_LT = '<'
OP_CMP_GT = '>'
OP_CMP_GT_EQ = '>='
OP_CMP_LT_EQ = '<='
OP_CMP_NOT_EQ = '!='
// COLON = ':'
// SEMICOLON = ';'
// SQUARE_L = '['
// SQUARE_R = ']'
// ROUND_L = '('
// ROUND_R = ')'
// SEPARATOR = ','
// DOT = '.'
// HASH = '#'
// DOLLAR = '$'
//
// OP_ASSIGN = '='
//
// OP_UNARY_NOT = '!'
// OP_UNARY_COMPL = '~'
//
// OP_PLUS = '+'
// OP_MINUS = '-'
// OP_AR_MUL = '*'
// OP_AR_DIV = '/'
// OP_AR_MOD = '%'
// OP_AR_SHIFT_L = '<<'
// OP_AR_SHIFT_R = '>>'
// OP_BITWISE_AND = '&'
// OP_BITWISE_OR = '|'
// OP_BITWISE_XOR = '^'
// OP_LOGICAL_AND = '&&'
// OP_LOGICAL_OR = '||'
//
// OP_CMP_EQ = '=='
// OP_CMP_LT = '<'
// OP_CMP_GT = '>'
// OP_CMP_GT_EQ = '>='
// OP_CMP_LT_EQ = '<='
// OP_CMP_NOT_EQ = '!='
// OP_CMP_NOT_EQ2 = '<>'
COMMENT = 'regexp:(\p{Blank}*?[;*].*+)'//|(!\s#+.*+)'

View File

@ -0,0 +1,93 @@
package de.platon42.intellij.plugins.m68k.syntax
import com.intellij.openapi.editor.colors.TextAttributesKey
import com.intellij.openapi.fileTypes.SyntaxHighlighter
import com.intellij.openapi.options.colors.AttributesDescriptor
import com.intellij.openapi.options.colors.ColorDescriptor
import com.intellij.openapi.options.colors.ColorSettingsPage
import com.intellij.openapi.util.NlsContexts.ConfigurableName
import de.platon42.intellij.plugins.m68k.M68kIcons.FILE
import de.platon42.intellij.plugins.m68k.syntax.M68kSyntaxHighlighter.Companion.AREG
import de.platon42.intellij.plugins.m68k.syntax.M68kSyntaxHighlighter.Companion.BAD_CHARACTER
import de.platon42.intellij.plugins.m68k.syntax.M68kSyntaxHighlighter.Companion.COMMENT
import de.platon42.intellij.plugins.m68k.syntax.M68kSyntaxHighlighter.Companion.DREG
import de.platon42.intellij.plugins.m68k.syntax.M68kSyntaxHighlighter.Companion.GLOBAL_LABEL
import de.platon42.intellij.plugins.m68k.syntax.M68kSyntaxHighlighter.Companion.KEYWORD
import de.platon42.intellij.plugins.m68k.syntax.M68kSyntaxHighlighter.Companion.LOCAL_LABEL
import de.platon42.intellij.plugins.m68k.syntax.M68kSyntaxHighlighter.Companion.MNEMONIC
import de.platon42.intellij.plugins.m68k.syntax.M68kSyntaxHighlighter.Companion.NUMBER
import de.platon42.intellij.plugins.m68k.syntax.M68kSyntaxHighlighter.Companion.PREPROCESSOR
import de.platon42.intellij.plugins.m68k.syntax.M68kSyntaxHighlighter.Companion.SEPARATOR
import de.platon42.intellij.plugins.m68k.syntax.M68kSyntaxHighlighter.Companion.SPECIAL_REG
import de.platon42.intellij.plugins.m68k.syntax.M68kSyntaxHighlighter.Companion.STRING
import de.platon42.intellij.plugins.m68k.syntax.M68kSyntaxHighlighter.Companion.SYMBOL
import org.jetbrains.annotations.NonNls
import javax.swing.Icon
class M68kColorSettingsPage : ColorSettingsPage {
override fun getIcon(): Icon {
return FILE
}
override fun getHighlighter(): SyntaxHighlighter {
return M68kSyntaxHighlighter()
}
@NonNls
override fun getDemoText(): String {
return """; This is an example assembly language program
PIC_HEIGHT = 256
include "../includes/hardware/custom.i"
BLTHOGON MACRO
move.w #DMAF_SETCLR|DMAF_BLITHOG,dmacon(a5)
ENDM
demo_init ; global label
PUSHM d0-d7/a0-a6 ; this is a macro
lea pd_ModViewTable(a4),a0
moveq.l #0,d0
move.w #PIC_HEIGHT-1,d7
.loop move.l d0,(a0)+ ; local label
dbra d7,.loop
POPM
rts
"""
}
override fun getAdditionalHighlightingTagToDescriptorMap(): Map<String, TextAttributesKey>? {
return null
}
override fun getAttributeDescriptors(): Array<AttributesDescriptor> {
return DESCRIPTORS
}
override fun getColorDescriptors(): Array<ColorDescriptor> {
return ColorDescriptor.EMPTY_ARRAY
}
override fun getDisplayName(): @ConfigurableName String {
return "M68k Assembly"
}
companion object {
private val DESCRIPTORS = arrayOf(
AttributesDescriptor("SEPARATOR", SEPARATOR),
AttributesDescriptor("GLOBAL_LABEL", GLOBAL_LABEL),
AttributesDescriptor("LOCAL_LABEL", LOCAL_LABEL),
AttributesDescriptor("SYMBOL", SYMBOL),
AttributesDescriptor("MNEMONIC", MNEMONIC),
AttributesDescriptor("KEYWORD", KEYWORD),
AttributesDescriptor("PREPROCESSOR", PREPROCESSOR),
AttributesDescriptor("STRING", STRING),
AttributesDescriptor("NUMBER", NUMBER),
AttributesDescriptor("AREG", AREG),
AttributesDescriptor("DREG", DREG),
AttributesDescriptor("SPECIAL_REG", SPECIAL_REG),
AttributesDescriptor("COMMENT", COMMENT),
AttributesDescriptor("BAD_CHARACTER", BAD_CHARACTER))
}
}

View File

@ -0,0 +1,54 @@
package de.platon42.intellij.plugins.m68k.syntax
import com.intellij.lexer.Lexer
import com.intellij.openapi.editor.DefaultLanguageHighlighterColors
import com.intellij.openapi.editor.HighlighterColors
import com.intellij.openapi.editor.colors.TextAttributesKey
import com.intellij.openapi.fileTypes.SyntaxHighlighterBase
import com.intellij.psi.TokenType
import com.intellij.psi.tree.IElementType
import de.platon42.intellij.plugins.m68k.lexer.M68kLexer
import de.platon42.intellij.plugins.m68k.psi.M68kTypes
class M68kSyntaxHighlighter : SyntaxHighlighterBase() {
override fun getHighlightingLexer(): Lexer {
return M68kLexer()
}
override fun getTokenHighlights(tokenType: IElementType): Array<TextAttributesKey> {
return when (tokenType) {
M68kTypes.SEPARATOR -> arrayOf(SEPARATOR)
M68kTypes.GLOBAL_LABEL_DEF, M68kTypes.GLOBAL_LABEL -> arrayOf(GLOBAL_LABEL)
M68kTypes.LOCAL_LABEL_DEF, M68kTypes.LOCAL_LABEL_DEF -> arrayOf(LOCAL_LABEL)
M68kTypes.SYMBOLDEF, M68kTypes.SYMBOL -> arrayOf(SYMBOL)
M68kTypes.MNEMONIC, M68kTypes.ASM_OP -> arrayOf(MNEMONIC)
M68kTypes.OPERAND_SIZE, M68kTypes.DATA_WIDTH, M68kTypes.ADDRESS_SIZE -> arrayOf(MNEMONIC)
M68kTypes.ADDRESS_REGISTER, M68kTypes.AREG -> arrayOf(AREG)
M68kTypes.DATA_REGISTER, M68kTypes.DREG -> arrayOf(DREG)
M68kTypes.SPECIAL_REGISTER, M68kTypes.REG_USP, M68kTypes.REG_SR, M68kTypes.REG_CCR -> arrayOf(SPECIAL_REG)
M68kTypes.PREPROCESSOR_DIRECTIVE -> arrayOf(PREPROCESSOR)
M68kTypes.COMMENT -> arrayOf(COMMENT)
M68kTypes.DECIMAL, M68kTypes.HEXADECIMAL, M68kTypes.OCTAL -> arrayOf(NUMBER)
M68kTypes.STRINGLIT -> arrayOf(STRING)
TokenType.BAD_CHARACTER -> arrayOf(BAD_CHARACTER)
else -> emptyArray()
}
}
companion object {
val SEPARATOR = TextAttributesKey.createTextAttributesKey("M68K_SEPARATOR", DefaultLanguageHighlighterColors.COMMA)
val GLOBAL_LABEL = TextAttributesKey.createTextAttributesKey("M68K_LOCAL_LABEL", DefaultLanguageHighlighterColors.LOCAL_VARIABLE)
val LOCAL_LABEL = TextAttributesKey.createTextAttributesKey("M68K_GLOBAL_LABEL", DefaultLanguageHighlighterColors.GLOBAL_VARIABLE)
val SYMBOL = TextAttributesKey.createTextAttributesKey("M68K_SYMBOL", DefaultLanguageHighlighterColors.IDENTIFIER)
val MNEMONIC = TextAttributesKey.createTextAttributesKey("M68K_MNEMONIC", DefaultLanguageHighlighterColors.FUNCTION_CALL)
val KEYWORD = TextAttributesKey.createTextAttributesKey("M68K_KEYWORD", DefaultLanguageHighlighterColors.KEYWORD)
val PREPROCESSOR = TextAttributesKey.createTextAttributesKey("M68K_PREPROCESSOR", DefaultLanguageHighlighterColors.KEYWORD)
val STRING = TextAttributesKey.createTextAttributesKey("M68K_STRING", DefaultLanguageHighlighterColors.STRING)
val NUMBER = TextAttributesKey.createTextAttributesKey("M68K_NUMBER", DefaultLanguageHighlighterColors.NUMBER)
val AREG = TextAttributesKey.createTextAttributesKey("M68K_AREG", DefaultLanguageHighlighterColors.CONSTANT)
val DREG = TextAttributesKey.createTextAttributesKey("M68K_DREG", DefaultLanguageHighlighterColors.CONSTANT)
val SPECIAL_REG = TextAttributesKey.createTextAttributesKey("M68K_SPECIALREG", DefaultLanguageHighlighterColors.CONSTANT)
val COMMENT = TextAttributesKey.createTextAttributesKey("M68K_COMMENT", DefaultLanguageHighlighterColors.LINE_COMMENT)
val BAD_CHARACTER = TextAttributesKey.createTextAttributesKey("M68K_BAD_CHARACTER", HighlighterColors.BAD_CHARACTER)
}
}

View File

@ -0,0 +1,9 @@
package de.platon42.intellij.plugins.m68k.syntax
import com.intellij.openapi.fileTypes.SyntaxHighlighterFactory
import com.intellij.openapi.project.Project
import com.intellij.openapi.vfs.VirtualFile
class M68kSyntaxHighlighterFactory : SyntaxHighlighterFactory() {
override fun getSyntaxHighlighter(project: Project?, virtualFile: VirtualFile?) = M68kSyntaxHighlighter()
}

View File

@ -18,6 +18,9 @@
fieldName="INSTANCE" language="M68k" extensions="asm;ASM;s;S;i"/>
<lang.parserDefinition language="M68k"
implementationClass="de.platon42.intellij.plugins.m68k.parser.M68kParserDefinition"/>
<lang.syntaxHighlighterFactory language="M68k"
implementationClass="de.platon42.intellij.plugins.m68k.syntax.M68kSyntaxHighlighterFactory"/>
<colorSettingsPage implementation="de.platon42.intellij.plugins.m68k.syntax.M68kColorSettingsPage"/>
</extensions>
<actions>

View File

@ -13,7 +13,7 @@ Assembly File: a.asm
PsiElement(M68kTokenType.DECIMAL)('4')
M68kAddressSizeImpl(ADDRESS_SIZE)
PsiElement(M68kTokenType.OPSIZE_WL)('.w')
PsiElement(M68kTokenType.,)(',')
PsiElement(M68kTokenType.SEPARATOR)(',')
M68kAddressRegisterDirectAddressingModeImpl(ADDRESS_REGISTER_DIRECT_ADDRESSING_MODE)
M68kAddressRegisterImpl(ADDRESS_REGISTER)
PsiElement(M68kTokenType.AREG)('a6')

View File

@ -9,10 +9,10 @@ Assembly File: a.asm
PsiWhiteSpace(' ')
M68kAsmOperandsImpl(ASM_OPERANDS)
M68kImmediateDataImpl(IMMEDIATE_DATA)
PsiElement(M68kTokenType.#)('#')
PsiElement(M68kTokenType.HASH)('#')
M68kRefExprImpl(REF_EXPR)
PsiElement(M68kTokenType.SYMBOL)('FOO_BAR')
PsiElement(M68kTokenType.,)(',')
PsiElement(M68kTokenType.SEPARATOR)(',')
M68kDataRegisterDirectAddressingModeImpl(DATA_REGISTER_DIRECT_ADDRESSING_MODE)
M68kDataRegisterImpl(DATA_REGISTER)
PsiElement(M68kTokenType.DREG)('d0')

View File

@ -11,26 +11,26 @@ Assembly File: a.asm
M68kRegisterListAddressingModeImpl(REGISTER_LIST_ADDRESSING_MODE)
M68kDataRegisterImpl(DATA_REGISTER)
PsiElement(M68kTokenType.DREG)('d0')
PsiElement(M68kTokenType.-)('-')
PsiElement(M68kTokenType.OP_MINUS)('-')
M68kDataRegisterImpl(DATA_REGISTER)
PsiElement(M68kTokenType.DREG)('d2')
PsiElement(M68kTokenType./)('/')
PsiElement(M68kTokenType.OP_AR_DIV)('/')
M68kDataRegisterImpl(DATA_REGISTER)
PsiElement(M68kTokenType.DREG)('d4')
PsiElement(M68kTokenType./)('/')
PsiElement(M68kTokenType.OP_AR_DIV)('/')
M68kAddressRegisterImpl(ADDRESS_REGISTER)
PsiElement(M68kTokenType.AREG)('a0')
PsiElement(M68kTokenType.-)('-')
PsiElement(M68kTokenType.OP_MINUS)('-')
M68kAddressRegisterImpl(ADDRESS_REGISTER)
PsiElement(M68kTokenType.AREG)('a2')
PsiElement(M68kTokenType./)('/')
PsiElement(M68kTokenType.OP_AR_DIV)('/')
M68kAddressRegisterImpl(ADDRESS_REGISTER)
PsiElement(M68kTokenType.AREG)('a4')
PsiElement(M68kTokenType.,)(',')
PsiElement(M68kTokenType.SEPARATOR)(',')
M68kAddressRegisterIndirectPreDecAddressingModeImpl(ADDRESS_REGISTER_INDIRECT_PRE_DEC_ADDRESSING_MODE)
PsiElement(M68kTokenType.-)('-')
PsiElement(M68kTokenType.()('(')
PsiElement(M68kTokenType.OP_MINUS)('-')
PsiElement(M68kTokenType.ROUND_L)('(')
M68kAddressRegisterImpl(ADDRESS_REGISTER)
PsiElement(M68kTokenType.AREG)('sp')
PsiElement(M68kTokenType.))(')')
PsiElement(M68kTokenType.ROUND_R)(')')
PsiElement(M68kTokenType.EOL)('\n')

View File

@ -9,10 +9,10 @@ Assembly File: a.asm
PsiWhiteSpace(' ')
M68kAsmOperandsImpl(ASM_OPERANDS)
M68kProgramCounterIndirectWithDisplacementOldAddressingModeImpl(PROGRAM_COUNTER_INDIRECT_WITH_DISPLACEMENT_OLD_ADDRESSING_MODE)
PsiElement(M68kTokenType.()('(')
PsiElement(M68kTokenType.pc)('pc')
PsiElement(M68kTokenType.))(')')
PsiElement(M68kTokenType.,)(',')
PsiElement(M68kTokenType.ROUND_L)('(')
PsiElement(M68kTokenType.PC)('pc')
PsiElement(M68kTokenType.ROUND_R)(')')
PsiElement(M68kTokenType.SEPARATOR)(',')
M68kDataRegisterDirectAddressingModeImpl(DATA_REGISTER_DIRECT_ADDRESSING_MODE)
M68kDataRegisterImpl(DATA_REGISTER)
PsiElement(M68kTokenType.DREG)('d6')

View File

@ -9,43 +9,43 @@ Assembly File: a.asm
PsiWhiteSpace(' ')
M68kAsmOperandsImpl(ASM_OPERANDS)
M68kProgramCounterIndirectWithIndexNewAddressingModeImpl(PROGRAM_COUNTER_INDIRECT_WITH_INDEX_NEW_ADDRESSING_MODE)
PsiElement(M68kTokenType.()('(')
PsiElement(M68kTokenType.ROUND_L)('(')
M68kBinaryAddExprImpl(BINARY_ADD_EXPR)
M68kUnaryMinusExprImpl(UNARY_MINUS_EXPR)
PsiElement(M68kTokenType.-)('-')
PsiElement(M68kTokenType.OP_MINUS)('-')
M68kLiteralExprImpl(LITERAL_EXPR)
PsiElement(M68kTokenType.DECIMAL)('4')
PsiElement(M68kTokenType.+)('+')
PsiElement(M68kTokenType.OP_PLUS)('+')
M68kRefExprImpl(REF_EXPR)
PsiElement(M68kTokenType.SYMBOL)('foo')
PsiElement(M68kTokenType.,)(',')
PsiElement(M68kTokenType.pc)('pc')
PsiElement(M68kTokenType.,)(',')
PsiElement(M68kTokenType.SEPARATOR)(',')
PsiElement(M68kTokenType.PC)('pc')
PsiElement(M68kTokenType.SEPARATOR)(',')
M68kAddressRegisterImpl(ADDRESS_REGISTER)
PsiElement(M68kTokenType.AREG)('a0')
PsiElement(M68kTokenType.))(')')
PsiElement(M68kTokenType.,)(',')
PsiElement(M68kTokenType.ROUND_R)(')')
PsiElement(M68kTokenType.SEPARATOR)(',')
M68kProgramCounterIndirectWithIndexNewAddressingModeImpl(PROGRAM_COUNTER_INDIRECT_WITH_INDEX_NEW_ADDRESSING_MODE)
PsiElement(M68kTokenType.()('(')
PsiElement(M68kTokenType.ROUND_L)('(')
M68kParenExprImpl(PAREN_EXPR)
PsiElement(M68kTokenType.()('(')
PsiElement(M68kTokenType.ROUND_L)('(')
M68kBinaryAddExprImpl(BINARY_ADD_EXPR)
M68kBinaryMulExprImpl(BINARY_MUL_EXPR)
M68kLiteralExprImpl(LITERAL_EXPR)
PsiElement(M68kTokenType.DECIMAL)('10')
PsiElement(M68kTokenType.*)('*')
PsiElement(M68kTokenType.OP_AR_MUL)('*')
M68kLiteralExprImpl(LITERAL_EXPR)
PsiElement(M68kTokenType.DECIMAL)('20')
PsiElement(M68kTokenType.+)('+')
PsiElement(M68kTokenType.OP_PLUS)('+')
M68kLiteralExprImpl(LITERAL_EXPR)
PsiElement(M68kTokenType.DECIMAL)('4')
PsiElement(M68kTokenType.))(')')
PsiElement(M68kTokenType.,)(',')
PsiElement(M68kTokenType.pc)('pc')
PsiElement(M68kTokenType.,)(',')
PsiElement(M68kTokenType.ROUND_R)(')')
PsiElement(M68kTokenType.SEPARATOR)(',')
PsiElement(M68kTokenType.PC)('pc')
PsiElement(M68kTokenType.SEPARATOR)(',')
M68kDataRegisterImpl(DATA_REGISTER)
PsiElement(M68kTokenType.DREG)('d5')
M68kDataWidthImpl(DATA_WIDTH)
PsiElement(M68kTokenType.OPSIZE_WL)('.l')
PsiElement(M68kTokenType.))(')')
PsiElement(M68kTokenType.ROUND_R)(')')
PsiElement(M68kTokenType.EOL)('\n')

View File

@ -11,39 +11,39 @@ Assembly File: a.asm
M68kProgramCounterIndirectWithIndexOldAddressingModeImpl(PROGRAM_COUNTER_INDIRECT_WITH_INDEX_OLD_ADDRESSING_MODE)
M68kBinaryAddExprImpl(BINARY_ADD_EXPR)
M68kUnaryMinusExprImpl(UNARY_MINUS_EXPR)
PsiElement(M68kTokenType.-)('-')
PsiElement(M68kTokenType.OP_MINUS)('-')
M68kLiteralExprImpl(LITERAL_EXPR)
PsiElement(M68kTokenType.DECIMAL)('4')
PsiElement(M68kTokenType.+)('+')
PsiElement(M68kTokenType.OP_PLUS)('+')
M68kRefExprImpl(REF_EXPR)
PsiElement(M68kTokenType.SYMBOL)('foo')
PsiElement(M68kTokenType.()('(')
PsiElement(M68kTokenType.pc)('pc')
PsiElement(M68kTokenType.,)(',')
PsiElement(M68kTokenType.ROUND_L)('(')
PsiElement(M68kTokenType.PC)('pc')
PsiElement(M68kTokenType.SEPARATOR)(',')
M68kDataRegisterImpl(DATA_REGISTER)
PsiElement(M68kTokenType.DREG)('d0')
M68kDataWidthImpl(DATA_WIDTH)
PsiElement(M68kTokenType.OPSIZE_WL)('.w')
PsiElement(M68kTokenType.))(')')
PsiElement(M68kTokenType.,)(',')
PsiElement(M68kTokenType.ROUND_R)(')')
PsiElement(M68kTokenType.SEPARATOR)(',')
M68kProgramCounterIndirectWithIndexOldAddressingModeImpl(PROGRAM_COUNTER_INDIRECT_WITH_INDEX_OLD_ADDRESSING_MODE)
M68kParenExprImpl(PAREN_EXPR)
PsiElement(M68kTokenType.()('(')
PsiElement(M68kTokenType.ROUND_L)('(')
M68kBinaryAddExprImpl(BINARY_ADD_EXPR)
M68kBinaryMulExprImpl(BINARY_MUL_EXPR)
M68kLiteralExprImpl(LITERAL_EXPR)
PsiElement(M68kTokenType.DECIMAL)('10')
PsiElement(M68kTokenType.*)('*')
PsiElement(M68kTokenType.OP_AR_MUL)('*')
M68kLiteralExprImpl(LITERAL_EXPR)
PsiElement(M68kTokenType.DECIMAL)('20')
PsiElement(M68kTokenType.+)('+')
PsiElement(M68kTokenType.OP_PLUS)('+')
M68kLiteralExprImpl(LITERAL_EXPR)
PsiElement(M68kTokenType.DECIMAL)('4')
PsiElement(M68kTokenType.))(')')
PsiElement(M68kTokenType.()('(')
PsiElement(M68kTokenType.pc)('pc')
PsiElement(M68kTokenType.,)(',')
PsiElement(M68kTokenType.ROUND_R)(')')
PsiElement(M68kTokenType.ROUND_L)('(')
PsiElement(M68kTokenType.PC)('pc')
PsiElement(M68kTokenType.SEPARATOR)(',')
M68kAddressRegisterImpl(ADDRESS_REGISTER)
PsiElement(M68kTokenType.AREG)('a3')
PsiElement(M68kTokenType.))(')')
PsiElement(M68kTokenType.ROUND_R)(')')
PsiElement(M68kTokenType.EOL)('\n')

View File

@ -9,20 +9,20 @@ Assembly File: a.asm
PsiWhiteSpace(' ')
M68kAsmOperandsImpl(ASM_OPERANDS)
M68kProgramCounterIndirectWithIndexNewAddressingModeImpl(PROGRAM_COUNTER_INDIRECT_WITH_INDEX_NEW_ADDRESSING_MODE)
PsiElement(M68kTokenType.()('(')
PsiElement(M68kTokenType.pc)('pc')
PsiElement(M68kTokenType.,)(',')
PsiElement(M68kTokenType.ROUND_L)('(')
PsiElement(M68kTokenType.PC)('pc')
PsiElement(M68kTokenType.SEPARATOR)(',')
M68kDataRegisterImpl(DATA_REGISTER)
PsiElement(M68kTokenType.DREG)('d0')
M68kDataWidthImpl(DATA_WIDTH)
PsiElement(M68kTokenType.OPSIZE_WL)('.w')
PsiElement(M68kTokenType.))(')')
PsiElement(M68kTokenType.,)(',')
PsiElement(M68kTokenType.ROUND_R)(')')
PsiElement(M68kTokenType.SEPARATOR)(',')
M68kProgramCounterIndirectWithIndexNewAddressingModeImpl(PROGRAM_COUNTER_INDIRECT_WITH_INDEX_NEW_ADDRESSING_MODE)
PsiElement(M68kTokenType.()('(')
PsiElement(M68kTokenType.pc)('pc')
PsiElement(M68kTokenType.,)(',')
PsiElement(M68kTokenType.ROUND_L)('(')
PsiElement(M68kTokenType.PC)('pc')
PsiElement(M68kTokenType.SEPARATOR)(',')
M68kAddressRegisterImpl(ADDRESS_REGISTER)
PsiElement(M68kTokenType.AREG)('a3')
PsiElement(M68kTokenType.))(')')
PsiElement(M68kTokenType.ROUND_R)(')')
PsiElement(M68kTokenType.EOL)('\n')

View File

@ -9,38 +9,38 @@ Assembly File: a.asm
PsiWhiteSpace(' ')
M68kAsmOperandsImpl(ASM_OPERANDS)
M68kProgramCounterIndirectWithDisplacementNewAddressingModeImpl(PROGRAM_COUNTER_INDIRECT_WITH_DISPLACEMENT_NEW_ADDRESSING_MODE)
PsiElement(M68kTokenType.()('(')
PsiElement(M68kTokenType.ROUND_L)('(')
M68kParenExprImpl(PAREN_EXPR)
PsiElement(M68kTokenType.()('(')
PsiElement(M68kTokenType.ROUND_L)('(')
M68kBinaryAddExprImpl(BINARY_ADD_EXPR)
M68kUnaryMinusExprImpl(UNARY_MINUS_EXPR)
PsiElement(M68kTokenType.-)('-')
PsiElement(M68kTokenType.OP_MINUS)('-')
M68kLiteralExprImpl(LITERAL_EXPR)
PsiElement(M68kTokenType.DECIMAL)('4')
PsiElement(M68kTokenType.+)('+')
PsiElement(M68kTokenType.OP_PLUS)('+')
M68kRefExprImpl(REF_EXPR)
PsiElement(M68kTokenType.SYMBOL)('foo')
PsiElement(M68kTokenType.))(')')
PsiElement(M68kTokenType.,)(',')
PsiElement(M68kTokenType.pc)('pc')
PsiElement(M68kTokenType.))(')')
PsiElement(M68kTokenType.,)(',')
PsiElement(M68kTokenType.ROUND_R)(')')
PsiElement(M68kTokenType.SEPARATOR)(',')
PsiElement(M68kTokenType.PC)('pc')
PsiElement(M68kTokenType.ROUND_R)(')')
PsiElement(M68kTokenType.SEPARATOR)(',')
M68kProgramCounterIndirectWithDisplacementNewAddressingModeImpl(PROGRAM_COUNTER_INDIRECT_WITH_DISPLACEMENT_NEW_ADDRESSING_MODE)
PsiElement(M68kTokenType.()('(')
PsiElement(M68kTokenType.ROUND_L)('(')
M68kParenExprImpl(PAREN_EXPR)
PsiElement(M68kTokenType.()('(')
PsiElement(M68kTokenType.ROUND_L)('(')
M68kBinaryAddExprImpl(BINARY_ADD_EXPR)
M68kBinaryMulExprImpl(BINARY_MUL_EXPR)
M68kLiteralExprImpl(LITERAL_EXPR)
PsiElement(M68kTokenType.DECIMAL)('10')
PsiElement(M68kTokenType.*)('*')
PsiElement(M68kTokenType.OP_AR_MUL)('*')
M68kLiteralExprImpl(LITERAL_EXPR)
PsiElement(M68kTokenType.DECIMAL)('20')
PsiElement(M68kTokenType.+)('+')
PsiElement(M68kTokenType.OP_PLUS)('+')
M68kLiteralExprImpl(LITERAL_EXPR)
PsiElement(M68kTokenType.DECIMAL)('4')
PsiElement(M68kTokenType.))(')')
PsiElement(M68kTokenType.,)(',')
PsiElement(M68kTokenType.pc)('pc')
PsiElement(M68kTokenType.))(')')
PsiElement(M68kTokenType.ROUND_R)(')')
PsiElement(M68kTokenType.SEPARATOR)(',')
PsiElement(M68kTokenType.PC)('pc')
PsiElement(M68kTokenType.ROUND_R)(')')
PsiElement(M68kTokenType.EOL)('\n')

View File

@ -11,22 +11,22 @@ Assembly File: a.asm
M68kProgramCounterIndirectWithDisplacementOldAddressingModeImpl(PROGRAM_COUNTER_INDIRECT_WITH_DISPLACEMENT_OLD_ADDRESSING_MODE)
M68kBinaryMulExprImpl(BINARY_MUL_EXPR)
M68kUnaryMinusExprImpl(UNARY_MINUS_EXPR)
PsiElement(M68kTokenType.-)('-')
PsiElement(M68kTokenType.OP_MINUS)('-')
M68kLiteralExprImpl(LITERAL_EXPR)
PsiElement(M68kTokenType.DECIMAL)('4')
PsiElement(M68kTokenType.*)('*')
PsiElement(M68kTokenType.OP_AR_MUL)('*')
M68kLiteralExprImpl(LITERAL_EXPR)
PsiElement(M68kTokenType.DECIMAL)('4')
PsiElement(M68kTokenType.()('(')
PsiElement(M68kTokenType.pc)('pc')
PsiElement(M68kTokenType.))(')')
PsiElement(M68kTokenType.,)(',')
PsiElement(M68kTokenType.ROUND_L)('(')
PsiElement(M68kTokenType.PC)('pc')
PsiElement(M68kTokenType.ROUND_R)(')')
PsiElement(M68kTokenType.SEPARATOR)(',')
M68kProgramCounterIndirectWithDisplacementOldAddressingModeImpl(PROGRAM_COUNTER_INDIRECT_WITH_DISPLACEMENT_OLD_ADDRESSING_MODE)
M68kUnaryPlusExprImpl(UNARY_PLUS_EXPR)
PsiElement(M68kTokenType.+)('+')
PsiElement(M68kTokenType.OP_PLUS)('+')
M68kLiteralExprImpl(LITERAL_EXPR)
PsiElement(M68kTokenType.DECIMAL)('4')
PsiElement(M68kTokenType.()('(')
PsiElement(M68kTokenType.pc)('pc')
PsiElement(M68kTokenType.))(')')
PsiElement(M68kTokenType.ROUND_L)('(')
PsiElement(M68kTokenType.PC)('pc')
PsiElement(M68kTokenType.ROUND_R)(')')
PsiElement(M68kTokenType.EOL)('\n')

View File

@ -11,7 +11,7 @@ Assembly File: a.asm
M68kDataRegisterDirectAddressingModeImpl(DATA_REGISTER_DIRECT_ADDRESSING_MODE)
M68kDataRegisterImpl(DATA_REGISTER)
PsiElement(M68kTokenType.DREG)('d0')
PsiElement(M68kTokenType.,)(',')
PsiElement(M68kTokenType.SEPARATOR)(',')
M68kAddressRegisterDirectAddressingModeImpl(ADDRESS_REGISTER_DIRECT_ADDRESSING_MODE)
M68kAddressRegisterImpl(ADDRESS_REGISTER)
PsiElement(M68kTokenType.AREG)('a7')

View File

@ -9,14 +9,14 @@ Assembly File: a.asm
PsiWhiteSpace(' ')
M68kAsmOperandsImpl(ASM_OPERANDS)
M68kAddressRegisterIndirectAddressingModeImpl(ADDRESS_REGISTER_INDIRECT_ADDRESSING_MODE)
PsiElement(M68kTokenType.()('(')
PsiElement(M68kTokenType.ROUND_L)('(')
M68kAddressRegisterImpl(ADDRESS_REGISTER)
PsiElement(M68kTokenType.AREG)('sp')
PsiElement(M68kTokenType.))(')')
PsiElement(M68kTokenType.,)(',')
PsiElement(M68kTokenType.ROUND_R)(')')
PsiElement(M68kTokenType.SEPARATOR)(',')
M68kAddressRegisterIndirectAddressingModeImpl(ADDRESS_REGISTER_INDIRECT_ADDRESSING_MODE)
PsiElement(M68kTokenType.()('(')
PsiElement(M68kTokenType.ROUND_L)('(')
M68kAddressRegisterImpl(ADDRESS_REGISTER)
PsiElement(M68kTokenType.AREG)('a0')
PsiElement(M68kTokenType.))(')')
PsiElement(M68kTokenType.ROUND_R)(')')
PsiElement(M68kTokenType.EOL)('\n')

View File

@ -9,16 +9,16 @@ Assembly File: a.asm
PsiWhiteSpace(' ')
M68kAsmOperandsImpl(ASM_OPERANDS)
M68kAddressRegisterIndirectPostIncAddressingModeImpl(ADDRESS_REGISTER_INDIRECT_POST_INC_ADDRESSING_MODE)
PsiElement(M68kTokenType.()('(')
PsiElement(M68kTokenType.ROUND_L)('(')
M68kAddressRegisterImpl(ADDRESS_REGISTER)
PsiElement(M68kTokenType.AREG)('a1')
PsiElement(M68kTokenType.))(')')
PsiElement(M68kTokenType.+)('+')
PsiElement(M68kTokenType.,)(',')
PsiElement(M68kTokenType.ROUND_R)(')')
PsiElement(M68kTokenType.OP_PLUS)('+')
PsiElement(M68kTokenType.SEPARATOR)(',')
M68kAddressRegisterIndirectPreDecAddressingModeImpl(ADDRESS_REGISTER_INDIRECT_PRE_DEC_ADDRESSING_MODE)
PsiElement(M68kTokenType.-)('-')
PsiElement(M68kTokenType.()('(')
PsiElement(M68kTokenType.OP_MINUS)('-')
PsiElement(M68kTokenType.ROUND_L)('(')
M68kAddressRegisterImpl(ADDRESS_REGISTER)
PsiElement(M68kTokenType.AREG)('sp')
PsiElement(M68kTokenType.))(')')
PsiElement(M68kTokenType.ROUND_R)(')')
PsiElement(M68kTokenType.EOL)('\n')

View File

@ -9,45 +9,45 @@ Assembly File: a.asm
PsiWhiteSpace(' ')
M68kAsmOperandsImpl(ASM_OPERANDS)
M68kAddressRegisterIndirectWithIndexNewAddressingModeImpl(ADDRESS_REGISTER_INDIRECT_WITH_INDEX_NEW_ADDRESSING_MODE)
PsiElement(M68kTokenType.()('(')
PsiElement(M68kTokenType.ROUND_L)('(')
M68kBinaryAddExprImpl(BINARY_ADD_EXPR)
M68kUnaryMinusExprImpl(UNARY_MINUS_EXPR)
PsiElement(M68kTokenType.-)('-')
PsiElement(M68kTokenType.OP_MINUS)('-')
M68kLiteralExprImpl(LITERAL_EXPR)
PsiElement(M68kTokenType.DECIMAL)('4')
PsiElement(M68kTokenType.+)('+')
PsiElement(M68kTokenType.OP_PLUS)('+')
M68kRefExprImpl(REF_EXPR)
PsiElement(M68kTokenType.SYMBOL)('foo')
PsiElement(M68kTokenType.,)(',')
PsiElement(M68kTokenType.SEPARATOR)(',')
M68kAddressRegisterImpl(ADDRESS_REGISTER)
PsiElement(M68kTokenType.AREG)('sp')
PsiElement(M68kTokenType.,)(',')
PsiElement(M68kTokenType.SEPARATOR)(',')
M68kAddressRegisterImpl(ADDRESS_REGISTER)
PsiElement(M68kTokenType.AREG)('a0')
PsiElement(M68kTokenType.))(')')
PsiElement(M68kTokenType.,)(',')
PsiElement(M68kTokenType.ROUND_R)(')')
PsiElement(M68kTokenType.SEPARATOR)(',')
M68kAddressRegisterIndirectWithIndexNewAddressingModeImpl(ADDRESS_REGISTER_INDIRECT_WITH_INDEX_NEW_ADDRESSING_MODE)
PsiElement(M68kTokenType.()('(')
PsiElement(M68kTokenType.ROUND_L)('(')
M68kParenExprImpl(PAREN_EXPR)
PsiElement(M68kTokenType.()('(')
PsiElement(M68kTokenType.ROUND_L)('(')
M68kBinaryAddExprImpl(BINARY_ADD_EXPR)
M68kBinaryMulExprImpl(BINARY_MUL_EXPR)
M68kLiteralExprImpl(LITERAL_EXPR)
PsiElement(M68kTokenType.DECIMAL)('10')
PsiElement(M68kTokenType.*)('*')
PsiElement(M68kTokenType.OP_AR_MUL)('*')
M68kLiteralExprImpl(LITERAL_EXPR)
PsiElement(M68kTokenType.DECIMAL)('20')
PsiElement(M68kTokenType.+)('+')
PsiElement(M68kTokenType.OP_PLUS)('+')
M68kLiteralExprImpl(LITERAL_EXPR)
PsiElement(M68kTokenType.DECIMAL)('4')
PsiElement(M68kTokenType.))(')')
PsiElement(M68kTokenType.,)(',')
PsiElement(M68kTokenType.ROUND_R)(')')
PsiElement(M68kTokenType.SEPARATOR)(',')
M68kAddressRegisterImpl(ADDRESS_REGISTER)
PsiElement(M68kTokenType.AREG)('a1')
PsiElement(M68kTokenType.,)(',')
PsiElement(M68kTokenType.SEPARATOR)(',')
M68kDataRegisterImpl(DATA_REGISTER)
PsiElement(M68kTokenType.DREG)('d5')
M68kDataWidthImpl(DATA_WIDTH)
PsiElement(M68kTokenType.OPSIZE_WL)('.l')
PsiElement(M68kTokenType.))(')')
PsiElement(M68kTokenType.ROUND_R)(')')
PsiElement(M68kTokenType.EOL)('\n')

View File

@ -11,41 +11,41 @@ Assembly File: a.asm
M68kAddressRegisterIndirectWithIndexOldAddressingModeImpl(ADDRESS_REGISTER_INDIRECT_WITH_INDEX_OLD_ADDRESSING_MODE)
M68kBinaryAddExprImpl(BINARY_ADD_EXPR)
M68kUnaryMinusExprImpl(UNARY_MINUS_EXPR)
PsiElement(M68kTokenType.-)('-')
PsiElement(M68kTokenType.OP_MINUS)('-')
M68kLiteralExprImpl(LITERAL_EXPR)
PsiElement(M68kTokenType.DECIMAL)('4')
PsiElement(M68kTokenType.+)('+')
PsiElement(M68kTokenType.OP_PLUS)('+')
M68kRefExprImpl(REF_EXPR)
PsiElement(M68kTokenType.SYMBOL)('foo')
PsiElement(M68kTokenType.()('(')
PsiElement(M68kTokenType.ROUND_L)('(')
M68kAddressRegisterImpl(ADDRESS_REGISTER)
PsiElement(M68kTokenType.AREG)('sp')
PsiElement(M68kTokenType.,)(',')
PsiElement(M68kTokenType.SEPARATOR)(',')
M68kDataRegisterImpl(DATA_REGISTER)
PsiElement(M68kTokenType.DREG)('d0')
M68kDataWidthImpl(DATA_WIDTH)
PsiElement(M68kTokenType.OPSIZE_WL)('.w')
PsiElement(M68kTokenType.))(')')
PsiElement(M68kTokenType.,)(',')
PsiElement(M68kTokenType.ROUND_R)(')')
PsiElement(M68kTokenType.SEPARATOR)(',')
M68kAddressRegisterIndirectWithIndexOldAddressingModeImpl(ADDRESS_REGISTER_INDIRECT_WITH_INDEX_OLD_ADDRESSING_MODE)
M68kParenExprImpl(PAREN_EXPR)
PsiElement(M68kTokenType.()('(')
PsiElement(M68kTokenType.ROUND_L)('(')
M68kBinaryAddExprImpl(BINARY_ADD_EXPR)
M68kBinaryMulExprImpl(BINARY_MUL_EXPR)
M68kLiteralExprImpl(LITERAL_EXPR)
PsiElement(M68kTokenType.DECIMAL)('10')
PsiElement(M68kTokenType.*)('*')
PsiElement(M68kTokenType.OP_AR_MUL)('*')
M68kLiteralExprImpl(LITERAL_EXPR)
PsiElement(M68kTokenType.DECIMAL)('20')
PsiElement(M68kTokenType.+)('+')
PsiElement(M68kTokenType.OP_PLUS)('+')
M68kLiteralExprImpl(LITERAL_EXPR)
PsiElement(M68kTokenType.DECIMAL)('4')
PsiElement(M68kTokenType.))(')')
PsiElement(M68kTokenType.()('(')
PsiElement(M68kTokenType.ROUND_R)(')')
PsiElement(M68kTokenType.ROUND_L)('(')
M68kAddressRegisterImpl(ADDRESS_REGISTER)
PsiElement(M68kTokenType.AREG)('a1')
PsiElement(M68kTokenType.,)(',')
PsiElement(M68kTokenType.SEPARATOR)(',')
M68kAddressRegisterImpl(ADDRESS_REGISTER)
PsiElement(M68kTokenType.AREG)('a3')
PsiElement(M68kTokenType.))(')')
PsiElement(M68kTokenType.ROUND_R)(')')
PsiElement(M68kTokenType.EOL)('\n')

View File

@ -9,22 +9,22 @@ Assembly File: a.asm
PsiWhiteSpace(' ')
M68kAsmOperandsImpl(ASM_OPERANDS)
M68kAddressRegisterIndirectWithIndexNewAddressingModeImpl(ADDRESS_REGISTER_INDIRECT_WITH_INDEX_NEW_ADDRESSING_MODE)
PsiElement(M68kTokenType.()('(')
PsiElement(M68kTokenType.ROUND_L)('(')
M68kAddressRegisterImpl(ADDRESS_REGISTER)
PsiElement(M68kTokenType.AREG)('sp')
PsiElement(M68kTokenType.,)(',')
PsiElement(M68kTokenType.SEPARATOR)(',')
M68kDataRegisterImpl(DATA_REGISTER)
PsiElement(M68kTokenType.DREG)('d0')
M68kDataWidthImpl(DATA_WIDTH)
PsiElement(M68kTokenType.OPSIZE_WL)('.w')
PsiElement(M68kTokenType.))(')')
PsiElement(M68kTokenType.,)(',')
PsiElement(M68kTokenType.ROUND_R)(')')
PsiElement(M68kTokenType.SEPARATOR)(',')
M68kAddressRegisterIndirectWithIndexNewAddressingModeImpl(ADDRESS_REGISTER_INDIRECT_WITH_INDEX_NEW_ADDRESSING_MODE)
PsiElement(M68kTokenType.()('(')
PsiElement(M68kTokenType.ROUND_L)('(')
M68kAddressRegisterImpl(ADDRESS_REGISTER)
PsiElement(M68kTokenType.AREG)('a1')
PsiElement(M68kTokenType.,)(',')
PsiElement(M68kTokenType.SEPARATOR)(',')
M68kAddressRegisterImpl(ADDRESS_REGISTER)
PsiElement(M68kTokenType.AREG)('a3')
PsiElement(M68kTokenType.))(')')
PsiElement(M68kTokenType.ROUND_R)(')')
PsiElement(M68kTokenType.EOL)('\n')

View File

@ -9,37 +9,37 @@ Assembly File: a.asm
PsiWhiteSpace(' ')
M68kAsmOperandsImpl(ASM_OPERANDS)
M68kAddressRegisterIndirectWithDisplacementNewAddressingModeImpl(ADDRESS_REGISTER_INDIRECT_WITH_DISPLACEMENT_NEW_ADDRESSING_MODE)
PsiElement(M68kTokenType.()('(')
PsiElement(M68kTokenType.ROUND_L)('(')
M68kBinaryAddExprImpl(BINARY_ADD_EXPR)
M68kUnaryMinusExprImpl(UNARY_MINUS_EXPR)
PsiElement(M68kTokenType.-)('-')
PsiElement(M68kTokenType.OP_MINUS)('-')
M68kLiteralExprImpl(LITERAL_EXPR)
PsiElement(M68kTokenType.DECIMAL)('4')
PsiElement(M68kTokenType.+)('+')
PsiElement(M68kTokenType.OP_PLUS)('+')
M68kRefExprImpl(REF_EXPR)
PsiElement(M68kTokenType.SYMBOL)('foo')
PsiElement(M68kTokenType.,)(',')
PsiElement(M68kTokenType.SEPARATOR)(',')
M68kAddressRegisterImpl(ADDRESS_REGISTER)
PsiElement(M68kTokenType.AREG)('sp')
PsiElement(M68kTokenType.))(')')
PsiElement(M68kTokenType.,)(',')
PsiElement(M68kTokenType.ROUND_R)(')')
PsiElement(M68kTokenType.SEPARATOR)(',')
M68kAddressRegisterIndirectWithDisplacementNewAddressingModeImpl(ADDRESS_REGISTER_INDIRECT_WITH_DISPLACEMENT_NEW_ADDRESSING_MODE)
PsiElement(M68kTokenType.()('(')
PsiElement(M68kTokenType.ROUND_L)('(')
M68kParenExprImpl(PAREN_EXPR)
PsiElement(M68kTokenType.()('(')
PsiElement(M68kTokenType.ROUND_L)('(')
M68kBinaryAddExprImpl(BINARY_ADD_EXPR)
M68kBinaryMulExprImpl(BINARY_MUL_EXPR)
M68kLiteralExprImpl(LITERAL_EXPR)
PsiElement(M68kTokenType.DECIMAL)('10')
PsiElement(M68kTokenType.*)('*')
PsiElement(M68kTokenType.OP_AR_MUL)('*')
M68kLiteralExprImpl(LITERAL_EXPR)
PsiElement(M68kTokenType.DECIMAL)('20')
PsiElement(M68kTokenType.+)('+')
PsiElement(M68kTokenType.OP_PLUS)('+')
M68kLiteralExprImpl(LITERAL_EXPR)
PsiElement(M68kTokenType.DECIMAL)('4')
PsiElement(M68kTokenType.))(')')
PsiElement(M68kTokenType.,)(',')
PsiElement(M68kTokenType.ROUND_R)(')')
PsiElement(M68kTokenType.SEPARATOR)(',')
M68kAddressRegisterImpl(ADDRESS_REGISTER)
PsiElement(M68kTokenType.AREG)('a1')
PsiElement(M68kTokenType.))(')')
PsiElement(M68kTokenType.ROUND_R)(')')
PsiElement(M68kTokenType.EOL)('\n')

View File

@ -11,33 +11,33 @@ Assembly File: a.asm
M68kAddressRegisterIndirectWithDisplacementOldAddressingModeImpl(ADDRESS_REGISTER_INDIRECT_WITH_DISPLACEMENT_OLD_ADDRESSING_MODE)
M68kBinaryAddExprImpl(BINARY_ADD_EXPR)
M68kUnaryMinusExprImpl(UNARY_MINUS_EXPR)
PsiElement(M68kTokenType.-)('-')
PsiElement(M68kTokenType.OP_MINUS)('-')
M68kLiteralExprImpl(LITERAL_EXPR)
PsiElement(M68kTokenType.DECIMAL)('4')
PsiElement(M68kTokenType.+)('+')
PsiElement(M68kTokenType.OP_PLUS)('+')
M68kRefExprImpl(REF_EXPR)
PsiElement(M68kTokenType.SYMBOL)('foo')
PsiElement(M68kTokenType.()('(')
PsiElement(M68kTokenType.ROUND_L)('(')
M68kAddressRegisterImpl(ADDRESS_REGISTER)
PsiElement(M68kTokenType.AREG)('sp')
PsiElement(M68kTokenType.))(')')
PsiElement(M68kTokenType.,)(',')
PsiElement(M68kTokenType.ROUND_R)(')')
PsiElement(M68kTokenType.SEPARATOR)(',')
M68kAddressRegisterIndirectWithDisplacementOldAddressingModeImpl(ADDRESS_REGISTER_INDIRECT_WITH_DISPLACEMENT_OLD_ADDRESSING_MODE)
M68kParenExprImpl(PAREN_EXPR)
PsiElement(M68kTokenType.()('(')
PsiElement(M68kTokenType.ROUND_L)('(')
M68kBinaryAddExprImpl(BINARY_ADD_EXPR)
M68kBinaryMulExprImpl(BINARY_MUL_EXPR)
M68kLiteralExprImpl(LITERAL_EXPR)
PsiElement(M68kTokenType.DECIMAL)('10')
PsiElement(M68kTokenType.*)('*')
PsiElement(M68kTokenType.OP_AR_MUL)('*')
M68kLiteralExprImpl(LITERAL_EXPR)
PsiElement(M68kTokenType.DECIMAL)('20')
PsiElement(M68kTokenType.+)('+')
PsiElement(M68kTokenType.OP_PLUS)('+')
M68kLiteralExprImpl(LITERAL_EXPR)
PsiElement(M68kTokenType.DECIMAL)('4')
PsiElement(M68kTokenType.))(')')
PsiElement(M68kTokenType.()('(')
PsiElement(M68kTokenType.ROUND_R)(')')
PsiElement(M68kTokenType.ROUND_L)('(')
M68kAddressRegisterImpl(ADDRESS_REGISTER)
PsiElement(M68kTokenType.AREG)('a1')
PsiElement(M68kTokenType.))(')')
PsiElement(M68kTokenType.ROUND_R)(')')
PsiElement(M68kTokenType.EOL)('\n')

View File

@ -10,8 +10,8 @@ Assembly File: a.asm
M68kAsmOperandsImpl(ASM_OPERANDS)
M68kSpecialRegisterDirectAddressingModeImpl(SPECIAL_REGISTER_DIRECT_ADDRESSING_MODE)
M68kSpecialRegisterImpl(SPECIAL_REGISTER)
PsiElement(M68kTokenType.usp)('usp')
PsiElement(M68kTokenType.,)(',')
PsiElement(M68kTokenType.REG_USP)('usp')
PsiElement(M68kTokenType.SEPARATOR)(',')
M68kAddressRegisterDirectAddressingModeImpl(ADDRESS_REGISTER_DIRECT_ADDRESSING_MODE)
M68kAddressRegisterImpl(ADDRESS_REGISTER)
PsiElement(M68kTokenType.AREG)('a0')
@ -28,8 +28,8 @@ Assembly File: a.asm
M68kAddressRegisterDirectAddressingModeImpl(ADDRESS_REGISTER_DIRECT_ADDRESSING_MODE)
M68kAddressRegisterImpl(ADDRESS_REGISTER)
PsiElement(M68kTokenType.AREG)('a5')
PsiElement(M68kTokenType.,)(',')
PsiElement(M68kTokenType.SEPARATOR)(',')
M68kSpecialRegisterDirectAddressingModeImpl(SPECIAL_REGISTER_DIRECT_ADDRESSING_MODE)
M68kSpecialRegisterImpl(SPECIAL_REGISTER)
PsiElement(M68kTokenType.usp)('usp')
PsiElement(M68kTokenType.REG_USP)('usp')
PsiElement(M68kTokenType.EOL)('\n')

View File

@ -11,7 +11,7 @@ Assembly File: a.asm
M68kDataRegisterDirectAddressingModeImpl(DATA_REGISTER_DIRECT_ADDRESSING_MODE)
M68kDataRegisterImpl(DATA_REGISTER)
PsiElement(M68kTokenType.DREG)('d0')
PsiElement(M68kTokenType.,)(',')
PsiElement(M68kTokenType.SEPARATOR)(',')
M68kDataRegisterDirectAddressingModeImpl(DATA_REGISTER_DIRECT_ADDRESSING_MODE)
M68kDataRegisterImpl(DATA_REGISTER)
PsiElement(M68kTokenType.DREG)('d0')
@ -24,10 +24,10 @@ Assembly File: a.asm
PsiWhiteSpace(' ')
M68kAsmOperandsImpl(ASM_OPERANDS)
M68kImmediateDataImpl(IMMEDIATE_DATA)
PsiElement(M68kTokenType.#)('#')
PsiElement(M68kTokenType.HASH)('#')
M68kLiteralExprImpl(LITERAL_EXPR)
PsiElement(M68kTokenType.DECIMAL)('10')
PsiElement(M68kTokenType.,)(',')
PsiElement(M68kTokenType.SEPARATOR)(',')
M68kDataRegisterDirectAddressingModeImpl(DATA_REGISTER_DIRECT_ADDRESSING_MODE)
M68kDataRegisterImpl(DATA_REGISTER)
PsiElement(M68kTokenType.DREG)('d1')

View File

@ -3,7 +3,7 @@ Assembly File: a.asm
M68kAssignmentImpl(ASSIGNMENT)
PsiElement(M68kTokenType.SYMBOLDEF)('foo')
PsiWhiteSpace(' ')
PsiElement(M68kTokenType.=)('=')
PsiElement(M68kTokenType.OP_ASSIGN)('=')
PsiWhiteSpace(' ')
M68kLiteralExprImpl(LITERAL_EXPR)
PsiElement(M68kTokenType.DECIMAL)('1234')
@ -30,7 +30,7 @@ Assembly File: a.asm
M68kDataRegisterDirectAddressingModeImpl(DATA_REGISTER_DIRECT_ADDRESSING_MODE)
M68kDataRegisterImpl(DATA_REGISTER)
PsiElement(M68kTokenType.DREG)('d0')
PsiElement(M68kTokenType.,)(',')
PsiElement(M68kTokenType.SEPARATOR)(',')
M68kDataRegisterDirectAddressingModeImpl(DATA_REGISTER_DIRECT_ADDRESSING_MODE)
M68kDataRegisterImpl(DATA_REGISTER)
PsiElement(M68kTokenType.DREG)('d0')

View File

@ -17,14 +17,14 @@ Assembly File: a.asm
PsiWhiteSpace(' ')
M68kAsmOperandsImpl(ASM_OPERANDS)
M68kImmediateDataImpl(IMMEDIATE_DATA)
PsiElement(M68kTokenType.#)('#')
PsiElement(M68kTokenType.HASH)('#')
M68kBinarySubExprImpl(BINARY_SUB_EXPR)
M68kLiteralExprImpl(LITERAL_EXPR)
PsiElement(M68kTokenType.DECIMAL)('17')
PsiElement(M68kTokenType.-)('-')
PsiElement(M68kTokenType.OP_MINUS)('-')
M68kLiteralExprImpl(LITERAL_EXPR)
PsiElement(M68kTokenType.DECIMAL)('1')
PsiElement(M68kTokenType.,)(',')
PsiElement(M68kTokenType.SEPARATOR)(',')
M68kDataRegisterDirectAddressingModeImpl(DATA_REGISTER_DIRECT_ADDRESSING_MODE)
M68kDataRegisterImpl(DATA_REGISTER)
PsiElement(M68kTokenType.DREG)('d7')
@ -43,18 +43,18 @@ Assembly File: a.asm
PsiWhiteSpace(' ')
M68kAsmOperandsImpl(ASM_OPERANDS)
M68kAddressRegisterIndirectPostIncAddressingModeImpl(ADDRESS_REGISTER_INDIRECT_POST_INC_ADDRESSING_MODE)
PsiElement(M68kTokenType.()('(')
PsiElement(M68kTokenType.ROUND_L)('(')
M68kAddressRegisterImpl(ADDRESS_REGISTER)
PsiElement(M68kTokenType.AREG)('a0')
PsiElement(M68kTokenType.))(')')
PsiElement(M68kTokenType.+)('+')
PsiElement(M68kTokenType.,)(',')
PsiElement(M68kTokenType.ROUND_R)(')')
PsiElement(M68kTokenType.OP_PLUS)('+')
PsiElement(M68kTokenType.SEPARATOR)(',')
M68kAddressRegisterIndirectPostIncAddressingModeImpl(ADDRESS_REGISTER_INDIRECT_POST_INC_ADDRESSING_MODE)
PsiElement(M68kTokenType.()('(')
PsiElement(M68kTokenType.ROUND_L)('(')
M68kAddressRegisterImpl(ADDRESS_REGISTER)
PsiElement(M68kTokenType.AREG)('a1')
PsiElement(M68kTokenType.))(')')
PsiElement(M68kTokenType.+)('+')
PsiElement(M68kTokenType.ROUND_R)(')')
PsiElement(M68kTokenType.OP_PLUS)('+')
PsiWhiteSpace(' ')
PsiComment(M68kTokenType.COMMENT)('; copy stuff')
PsiElement(M68kTokenType.EOL)('\n')
@ -68,7 +68,7 @@ Assembly File: a.asm
M68kDataRegisterDirectAddressingModeImpl(DATA_REGISTER_DIRECT_ADDRESSING_MODE)
M68kDataRegisterImpl(DATA_REGISTER)
PsiElement(M68kTokenType.DREG)('d7')
PsiElement(M68kTokenType.,)(',')
PsiElement(M68kTokenType.SEPARATOR)(',')
M68kAbsoluteAddressAddressingModeImpl(ABSOLUTE_ADDRESS_ADDRESSING_MODE)
M68kRefExprImpl(REF_EXPR)
PsiElement(M68kTokenType.SYMBOL)('innerloop$')