1 2 3Description="NeXT Byte Codes" 4 5Categories = {"source"} 6 7 8Digits=[[ (?:x|X)[-a-fA-F]+|\d*[\.]?\d+(?:[eE][\-\+]\\d+)?[lLuU]* ]] 9 10Keywords={ 11 { Id=1, 12 List={"add", "sub", "neg", "mul", "div", "mod", "and", "or", "xor", "not", 13 "cmp", "tst", "index", "replace", "arrsize", "arrbuild", "arrsubset", "arrinit", 14 "mov", "set", "flatten", "unflatten", "numtostr", "strtonum", "strcat", 15 "strsubset", "strtoarr", "arrtostr", "jmp", "brcmp", "brtst", "syscall", "stop", 16 "exit", "exitto", "acquire", "release", "subcall", "subret", "setin", "setout", 17 "getin", "getout", "wait", "gettick", "thread", "endt", "subroutine", "follows", 18 "precedes", "segment", "ends", "typedef", "struct", "dd", "void", "waitv", 19 "call", "return", "abs", "sign", "strindex", "strreplace", "strlen", "shl", 20 "shr", "sizeof", "compchk", "compif", "compelse", "compend", "valueof", 21 "isconst", "asl", "asr", "lsl", "lsr", "rotl", "rotr", "start", "stopthread", 22 "priority", "cmnt", "fmtnum", "compchktype"}, 23 }, 24 { Id=2, 25 List={"byte", "ubyte", "db", "sbyte", "word", "uword", "dw", "sword", 26"dword", "udword", "dd", "sdword", "long", "ulong", "slong", "mutex"}, 27 }, 28 { Id=3, 29 List={"tan", "sin", "cos", "sinh", "cosh", "arctan", "cotan", "arg", "exp", 30 "ln", "log", "log", "logn", "sqr", "sqrt", "trunc", "int", "ceil", "floor", 31 "heav", "abs", "sign", "zero", "ph", "rnd", "random", "max", "min", "power", 32 "intpower", "InputIOType", "InputIOInputMode", "InputIORawValue", 33 "InputIONormalizedValue", "InputIOScaledValue", "InputIOInvalidData", 34 "OutputIOUpdateFlags", "OutputIOOutputMode", "OutputIOPower", 35 "OutputIOActualSpeed", "OutputIOTachoCount", "OutputIOTachoLimit", 36 "OutputIORunState", "OutputIOTurnRatio", "OutputIORegMode", "OutputIOOverload", 37 "OutputIORegPValue", "OutputIORegIValue", "OutputIORegDValue", 38 "OutputIOBlockTachoCount", "OutputIORotationCount", "FileOpenRead", 39 "FileOpenWrite", "FileOpenAppend", "FileRead", "FileWrite", "FileClose", 40 "FileResolveHandle", "FileRename", "FileDelete", "SoundPlayFile", 41 "SoundPlayTone", "SoundGetState", "SoundSetState", "DrawText", "DrawPoint", 42 "DrawLine", "DrawCircle", "DrawRect", "DrawGraphic", "SetScreenMode", 43 "ReadButton", "CommLSWrite", "CommLSRead", "CommLSCheckStatus", "RandomNumber", 44 "GetStartTick", "MessageWrite", "MessageRead", "CommBTCheckStatus", 45 "CommBTWrite", "KeepAlive", "IOMapRead", "IOMapWrite", "IOMapReadByID", 46 "IOMapWriteByID", "DisplayExecuteFunction", "CommExecuteFunction", 47 "LoaderExecuteFunction", "Type", "InputMode", "RawValue", "NormalizedValue", 48 "ScaledValue", "InvalidData", "UpdateFlags", "OutputMode", "Power", 49 "ActualSpeed", "TachoCount", "TachoLimit", "RunState", "TurnRatio", "RegMode", 50 "Overload", "RegPValue", "RegIValue", "RegDValue", "BlockTachoCount", 51 "RotationCount"}, 52 }, 53 { Id=4, 54 Regex=[[(\w+)\s*\(]], 55 }, 56 { Id=4, 57 Regex=[[^(\w+)\:]], 58 } 59} 60 61Strings={ 62 Delimiter=[["|']], 63} 64 65IgnoreCase=false 66 67Comments={ 68 { Block=false, 69 Delimiter= { [[\/\/|\;]] }, 70 }, 71 { Block=true, 72 Nested=false, 73 Delimiter= { [[\/\*]],[[\*\/]],} 74 } 75} 76 77PreProcessor={ 78 Prefix=[[#]], 79 Continuation="\\", 80} 81 82Operators=[[\(|\)|\[|\]|\{|\}|\,|\;|\.|\:|\&|<|>|\!|\=|\/|\*|\%|\+|\-|\~]] 83 84--EnableIndentation=true 85 86--FIXME no default escchar param: regex(\\\d{}|\\x[[:xdigit:]]{}|\\[ntvbrfa\\\?'"]) 87