Apple2GSBuildPipeline/pkg/Specifications/OrcaM.xclangspec

309 lines
8.1 KiB
Plaintext

// Orca/M 65816 Assembler language specs
(
/****************************************************************************/
// MARK: Keywords
/****************************************************************************/
{
Identifier = "xcode.lang.asm.orcam.identifier";
Syntax = {
CaseSensitive = NO;
StartChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_~";
Chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_~";
Type = "xcode.syntax.identifier";
};
},
{
Identifier = "xcode.lang.asm.orcam.keyword";
Syntax = {
CaseSensitive = NO;
StartChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_~";
Chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_~";
Words = (
"adc",
"and",
"asl",
"bcc",
"bcs",
"beq",
"bge",
"bit",
"blt",
"bmi",
"bne",
"bpl",
"bra",
"brk",
"brl",
"bvc",
"bvs",
"clc",
"cld",
"cli",
"clv",
"cmp",
"cop",
"cpa",
"cpx",
"cpy",
"dec",
"dex",
"dey",
"eor",
"inc",
"inx",
"iny",
"jmp",
"jsl",
"jsr",
"lda",
"ldx",
"ldy",
"lsr",
"mvn",
"mvp",
"nop",
"ora",
"pea",
"pei",
"per",
"pha",
"phb",
"phd",
"phk",
"php",
"phx",
"phy",
"pla",
"plb",
"pld",
"plp",
"plx",
"ply",
"rep",
"rol",
"ror",
"rti",
"rtl",
"rts",
"sbc",
"sec",
"sed",
"sei",
"sep",
"sta",
"stp",
"stx",
"sty",
"stz",
"tax",
"tay",
"tcd",
"tcs",
"tdc",
"trb",
"tsb",
"tsc",
"tsx",
"txa",
"txs",
"txy",
"tya",
"tyx",
"wai",
"wdm",
"xba",
"xce",
"absaddr",
"align",
"anop",
"append",
"case",
"codechk",
"copy",
"data",
"datachk",
"dc",
"direct",
"ds",
"dynchk",
"eject",
"end",
"entry",
"equ",
"err",
"expand",
"gequ",
"ieee",
"instime",
"keep",
"kind",
"list",
"longa",
"longi",
"mem",
"merr",
"msb",
"numsex",
"obj",
"objcase",
"objend",
"org",
"printer",
"private",
"privdata",
"rename",
"setcom",
"start",
"symbol",
"title",
"using",
"65c02",
"65816",
"actr",
"ago",
"aif",
"ainput",
"amid",
"asearch",
"gbla",
"gblb",
"gblc",
"gen",
"lcla",
"lclb",
"lclc",
"macro",
"mcopy",
"mdrop",
"mend",
"mexit",
"mload",
"mnote",
"seta",
"setb",
"setc",
"trace",
);
Type = "xcode.syntax.keyword";
AltType = "xcode.syntax.identifier";
};
},
/****************************************************************************/
// MARK: Simple Syntax Coloring
/****************************************************************************/
{
Identifier = "xcode.lang.asm.orcam";
Description = "ORCAM Assembler Coloring";
BasedOn = "xcode.lang.simpleColoring";
IncludeInMenu = YES;
Name = "Assembly (ORCAM)";
Syntax = {
Tokenizer = "xcode.lang.asm.orcam.lexer";
IncludeRules = (
"xcode.lang.asm.orcam.codeblock",
"xcode.lang.asm.orcam.datablock",
);
Type = "xcode.syntax.plain";
};
},
{
Identifier = "xcode.lang.asm.orcam.lexer";
Syntax = {
IncludeRules = (
"xcode.lang.asm.orcam.comment.semi",
"xcode.lang.asm.orcam.comment.exclam",
"xcode.lang.asm.orcam.comment.star",
"xcode.lang.asm.orcam.comment.dot",
"xcode.lang.string",
"xcode.lang.character",
"xcode.lang.number",
"xcode.lang.asm.orcam.keyword",
"xcode.lang.asm.orcam.identifier",
);
};
},
{
Identifier = "xcode.lang.asm.orcam.comment.semi";
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.orcam.comment.exclam";
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.orcam.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.orcam.comment.dot";
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.orcam.codeblock";
Syntax = {
Tokenizer = "xcode.lang.asm.orcam.lexer";
Start = "start";
End = "end";
Recursive = NO;
Foldable = YES;
Type = "xcode.syntax.definition.function";
IncludeRules = (
);
};
},
{
Identifier = "xcode.lang.asm.orcam.datablock";
Syntax = {
Tokenizer = "xcode.lang.asm.orcam.lexer";
Start = "data";
End = "end";
Recursive = NO;
Foldable = YES;
Type = "xcode.syntax.definition.function";
IncludeRules = (
);
};
},
)