Added first version of Syntax Highlighting. Commented out some tokens.
This commit is contained in:
parent
03c11ecef9
commit
f482948abe
File diff suppressed because it is too large
Load Diff
@ -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();
|
||||
|
||||
}
|
||||
|
@ -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();
|
||||
|
||||
}
|
||||
|
@ -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();
|
||||
|
||||
}
|
||||
|
@ -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();
|
||||
|
||||
}
|
||||
|
@ -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();
|
||||
|
||||
}
|
||||
|
@ -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();
|
||||
|
||||
}
|
||||
|
@ -11,7 +11,4 @@ public interface M68kMacroCall extends PsiElement {
|
||||
@NotNull
|
||||
List<M68kExpr> getExprList();
|
||||
|
||||
@NotNull
|
||||
PsiElement getSymbol();
|
||||
|
||||
}
|
||||
|
@ -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();
|
||||
|
||||
}
|
||||
|
@ -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();
|
||||
|
||||
}
|
||||
|
@ -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();
|
||||
|
||||
}
|
||||
|
@ -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");
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -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"
|
||||
|
@ -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; }
|
||||
|
@ -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#+.*+)'
|
||||
|
@ -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))
|
||||
}
|
||||
}
|
@ -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)
|
||||
}
|
||||
}
|
@ -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()
|
||||
}
|
@ -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>
|
||||
|
@ -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')
|
||||
|
@ -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')
|
||||
|
@ -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')
|
@ -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')
|
||||
|
@ -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')
|
@ -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')
|
@ -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')
|
@ -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')
|
@ -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')
|
@ -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')
|
||||
|
@ -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')
|
@ -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')
|
@ -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')
|
@ -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')
|
@ -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')
|
@ -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')
|
@ -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')
|
@ -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')
|
@ -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')
|
||||
|
@ -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')
|
||||
|
@ -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$')
|
||||
|
Loading…
Reference in New Issue
Block a user