mirror of
https://github.com/jeremysrand/Apple2BuildPipeline.git
synced 2024-10-31 18:04:33 +00:00
182 lines
4.7 KiB
Plaintext
182 lines
4.7 KiB
Plaintext
// Applesoft BASIC language specs
|
|
(
|
|
|
|
/****************************************************************************/
|
|
// MARK: Keywords
|
|
/****************************************************************************/
|
|
|
|
{
|
|
Identifier = "xcode.lang.basic.applesoft.identifier";
|
|
Syntax = {
|
|
CaseSensitive = NO;
|
|
StartChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
|
Chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
|
|
Type = "xcode.syntax.identifier";
|
|
};
|
|
},
|
|
|
|
{
|
|
Identifier = "xcode.lang.basic.applesoft.keyword";
|
|
Syntax = {
|
|
CaseSensitive = NO;
|
|
StartChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
|
Chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$";
|
|
Words = (
|
|
"NEW",
|
|
"CLEAR",
|
|
"LIST",
|
|
"RUN",
|
|
"LOAD",
|
|
"SAVE",
|
|
|
|
"DIM",
|
|
|
|
"AND",
|
|
"OR",
|
|
"NOT",
|
|
|
|
"ABS",
|
|
"SGN",
|
|
"INT",
|
|
"SQR",
|
|
"SIN",
|
|
"COS",
|
|
"TAN",
|
|
"ATN",
|
|
"EXP",
|
|
"LOG",
|
|
"RND",
|
|
"DEF",
|
|
|
|
"LEN",
|
|
"LEFT$",
|
|
"MID$",
|
|
"RIGHT$",
|
|
"STR$",
|
|
"VAL",
|
|
"CHR$",
|
|
"ASC",
|
|
|
|
"GOTO",
|
|
"ON",
|
|
"IF",
|
|
"THEN",
|
|
"FOR",
|
|
"TO",
|
|
"STEP",
|
|
"NEXT",
|
|
"GOSUB",
|
|
"RETURN",
|
|
"POP",
|
|
"ONERR",
|
|
"RESUME",
|
|
"STOP",
|
|
"CONT",
|
|
"END",
|
|
|
|
"PEEK",
|
|
"POKE",
|
|
"CALL",
|
|
"USR",
|
|
"HIMEM",
|
|
"LOMEM",
|
|
"FRE",
|
|
"TRACE",
|
|
"NOTRACE",
|
|
|
|
"GR",
|
|
"COLOR",
|
|
"PLOT",
|
|
"HLIN",
|
|
"VLIN",
|
|
"SCRN",
|
|
"HGR",
|
|
"HGR2",
|
|
"HCOLOR",
|
|
"HPLOT",
|
|
"DRAW",
|
|
"AT",
|
|
"XDRAW",
|
|
"SCALE",
|
|
"ROT",
|
|
|
|
"IN#",
|
|
"INPUT",
|
|
"GET",
|
|
"READ",
|
|
"DATA",
|
|
"RESTORE",
|
|
"PDL",
|
|
"PR#",
|
|
"PRINT",
|
|
"TEXT",
|
|
"HOME",
|
|
"HTAB",
|
|
"VTAB",
|
|
"INVERSE",
|
|
"NORMAL",
|
|
"FLASH"
|
|
);
|
|
Type = "xcode.syntax.keyword";
|
|
AltType = "xcode.syntax.identifier";
|
|
};
|
|
},
|
|
|
|
/****************************************************************************/
|
|
// MARK: Simple Syntax Coloring
|
|
/****************************************************************************/
|
|
|
|
{
|
|
Identifier = "xcode.lang.basic.applesoft";
|
|
Description = "Applesoft BASIC Coloring";
|
|
BasedOn = "xcode.lang.simpleColoring";
|
|
IncludeInMenu = YES;
|
|
Name = "Applesoft BASIC";
|
|
Syntax = {
|
|
Tokenizer = "xcode.lang.basic.applesoft.lexer";
|
|
IncludeRules = (
|
|
"xcode.lang.basic.applesoft.codeblock",
|
|
);
|
|
Type = "xcode.syntax.plain";
|
|
};
|
|
},
|
|
{
|
|
Identifier = "xcode.lang.basic.applesoft.lexer";
|
|
Syntax = {
|
|
IncludeRules = (
|
|
"xcode.lang.basic.applesoft.comment.rem",
|
|
"xcode.lang.string",
|
|
"xcode.lang.character",
|
|
"xcode.lang.number",
|
|
"xcode.lang.basic.applesoft.keyword",
|
|
"xcode.lang.basic.applesoft.identifier",
|
|
);
|
|
};
|
|
},
|
|
|
|
{
|
|
Identifier = "xcode.lang.basic.applesoft.comment.rem";
|
|
Syntax = {
|
|
Start = "REM";
|
|
End = "\n";
|
|
IncludeRules = ( "xcode.lang.url", "xcode.lang.url.mail", "xcode.lang.comment.mark" );
|
|
Type = "xcode.syntax.comment";
|
|
};
|
|
},
|
|
|
|
{
|
|
Identifier = "xcode.lang.basic.applesoft.codeblock";
|
|
Syntax = {
|
|
Tokenizer = "xcode.lang.applesoft.lexer.lexer";
|
|
Start = "{";
|
|
End = "}";
|
|
Recursive = YES;
|
|
Foldable = YES;
|
|
Type = "xcode.syntax.definition.function";
|
|
IncludeRules = (
|
|
);
|
|
};
|
|
},
|
|
|
|
)
|