mirror of
https://github.com/jeremysrand/Apple2BuildPipeline.git
synced 2024-11-30 10:52:54 +00:00
284 lines
7.1 KiB
Plaintext
284 lines
7.1 KiB
Plaintext
// Merlin Assembler language specs
|
|
(
|
|
|
|
/****************************************************************************/
|
|
// MARK: Keywords
|
|
/****************************************************************************/
|
|
|
|
{
|
|
Identifier = "xcode.lang.asm.merlin.identifier";
|
|
Syntax = {
|
|
CaseSensitive = NO;
|
|
StartChars = ":;<=>?@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_{|}~";
|
|
Chars = "0123456789:;<=>?@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_{|}~";
|
|
Type = "xcode.syntax.identifier";
|
|
};
|
|
},
|
|
|
|
{
|
|
Identifier = "xcode.lang.asm.merlin.keyword";
|
|
Syntax = {
|
|
CaseSensitive = NO;
|
|
StartChars = ":;<=>?@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_{|}~";
|
|
Chars = "0123456789:;<=>?@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_{|}~";
|
|
Words = (
|
|
"]xcodestart",
|
|
"]xcodeend",
|
|
|
|
"adc",
|
|
"adcl",
|
|
"and",
|
|
"andl",
|
|
"asl",
|
|
"bcc",
|
|
"blt",
|
|
"bcs",
|
|
"bge",
|
|
"beq",
|
|
"bge",
|
|
"bit",
|
|
"blt",
|
|
"bmi",
|
|
"bne",
|
|
"bpl",
|
|
"bra",
|
|
"brk",
|
|
"brl",
|
|
"bvc",
|
|
"bvs",
|
|
"clc",
|
|
"cld",
|
|
"cli",
|
|
"clv",
|
|
"cmp",
|
|
"cmpl",
|
|
"cop",
|
|
"cpa",
|
|
"cpx",
|
|
"cpy",
|
|
"dec",
|
|
"dex",
|
|
"dey",
|
|
"eor",
|
|
"eorl",
|
|
"inc",
|
|
"inx",
|
|
"iny",
|
|
"jmp",
|
|
"jmpl",
|
|
"jsl",
|
|
"jsr",
|
|
"lda",
|
|
"ldal",
|
|
"ldx",
|
|
"ldy",
|
|
"lsr",
|
|
"mvn",
|
|
"mvp",
|
|
"nop",
|
|
"ora",
|
|
"oral",
|
|
"pea",
|
|
"pei",
|
|
"per",
|
|
"pha",
|
|
"phb",
|
|
"phd",
|
|
"phk",
|
|
"php",
|
|
"phx",
|
|
"phy",
|
|
"pla",
|
|
"plb",
|
|
"pld",
|
|
"plp",
|
|
"plx",
|
|
"ply",
|
|
"rep",
|
|
"rol",
|
|
"ror",
|
|
"rti",
|
|
"rtl",
|
|
"rts",
|
|
"sbc",
|
|
"sbcl",
|
|
"sec",
|
|
"sed",
|
|
"sei",
|
|
"sep",
|
|
"sta",
|
|
"stal",
|
|
"stp",
|
|
"stx",
|
|
"sty",
|
|
"stz",
|
|
"tax",
|
|
"tay",
|
|
"tcd",
|
|
"tad",
|
|
"tas",
|
|
"tcs",
|
|
"tdc",
|
|
"tda",
|
|
"trb",
|
|
"tsb",
|
|
"tsc",
|
|
"tsa",
|
|
"tsx",
|
|
"txa",
|
|
"txs",
|
|
"txy",
|
|
"tya",
|
|
"tyx",
|
|
"wai",
|
|
"wdm",
|
|
"xba",
|
|
"swa",
|
|
"xce",
|
|
|
|
"equ",
|
|
"ext",
|
|
"ent",
|
|
"org",
|
|
"dsk",
|
|
"sav",
|
|
"ds",
|
|
"rel",
|
|
"lnk",
|
|
"link",
|
|
"asm",
|
|
"sna",
|
|
"obj",
|
|
"put",
|
|
"putbin",
|
|
"use",
|
|
"var",
|
|
"knd",
|
|
"ali",
|
|
"typ",
|
|
"end",
|
|
"dum",
|
|
"dend",
|
|
"dat",
|
|
|
|
"asc",
|
|
"dci",
|
|
"inv",
|
|
"fls",
|
|
"rev",
|
|
"str",
|
|
"strl",
|
|
|
|
"da",
|
|
"dw",
|
|
"ddb",
|
|
"dfb",
|
|
"db",
|
|
"adr",
|
|
"adrl",
|
|
"hex",
|
|
"ds",
|
|
|
|
"do",
|
|
"else",
|
|
"if",
|
|
"fin",
|
|
|
|
"chk",
|
|
"err",
|
|
"lup",
|
|
"mx",
|
|
"usr",
|
|
"xc",
|
|
|
|
"mac",
|
|
"eom",
|
|
"<<<",
|
|
"pmc",
|
|
">>>",
|
|
|
|
);
|
|
Type = "xcode.syntax.keyword";
|
|
AltType = "xcode.syntax.identifier";
|
|
};
|
|
},
|
|
|
|
/****************************************************************************/
|
|
// MARK: Simple Syntax Coloring
|
|
/****************************************************************************/
|
|
|
|
{
|
|
Identifier = "xcode.lang.asm.merlin";
|
|
Description = "Merlin Assembler Coloring";
|
|
BasedOn = "xcode.lang.simpleColoring";
|
|
IncludeInMenu = YES;
|
|
Name = "Assembly (Merlin)";
|
|
Syntax = {
|
|
Tokenizer = "xcode.lang.asm.merlin.lexer";
|
|
IncludeRules = (
|
|
"xcode.lang.asm.merlin.codeblock",
|
|
);
|
|
Type = "xcode.syntax.plain";
|
|
};
|
|
},
|
|
{
|
|
Identifier = "xcode.lang.asm.merlin.lexer";
|
|
Syntax = {
|
|
IncludeRules = (
|
|
"xcode.lang.asm.merlin.comment.semi",
|
|
"xcode.lang.asm.merlin.comment.star",
|
|
"xcode.lang.asm.merlin.number",
|
|
"xcode.lang.asm.merlin.keyword",
|
|
"xcode.lang.asm.merlin.identifier",
|
|
);
|
|
};
|
|
},
|
|
|
|
{
|
|
Identifier = "xcode.lang.asm.merlin.comment.semi";
|
|
Syntax = {
|
|
StartAtBOL = NO;
|
|
StartAtColumnZero = NO;
|
|
Start = ";";
|
|
End = "\n";
|
|
IncludeRules = ( "xcode.lang.url", "xcode.lang.url.mail", "xcode.lang.comment.mark" );
|
|
Type = "xcode.syntax.comment";
|
|
};
|
|
},
|
|
|
|
{
|
|
Identifier = "xcode.lang.asm.merlin.comment.star";
|
|
Syntax = {
|
|
StartAtBOL = YES;
|
|
StartAtColumnZero = YES;
|
|
Start = "*";
|
|
End = "\n";
|
|
IncludeRules = ( "xcode.lang.url", "xcode.lang.url.mail", "xcode.lang.comment.mark" );
|
|
Type = "xcode.syntax.comment";
|
|
};
|
|
},
|
|
|
|
{
|
|
Identifier = "xcode.lang.asm.merlin.number";
|
|
Syntax = {
|
|
StartChars = "#$%0123456789";
|
|
Match = "[#$%0-9][<>^$]?[0-9A-Fa-f]*";
|
|
Type = "xcode.syntax.number";
|
|
};
|
|
},
|
|
|
|
{
|
|
Identifier = "xcode.lang.asm.merlin.codeblock";
|
|
Syntax = {
|
|
Tokenizer = "xcode.lang.asm.merlin.lexer";
|
|
Start = "]xcodestart";
|
|
End = "]xcodeend";
|
|
Recursive = NO;
|
|
Foldable = YES;
|
|
Type = "xcode.syntax.definition.function";
|
|
IncludeRules = (
|
|
);
|
|
};
|
|
},
|
|
)
|