mirror of https://github.com/MidnightCommander/mc
241 lines
10 KiB
YAML
241 lines
10 KiB
YAML
#
|
|
# Syntax rules for the JAL programming language.
|
|
#
|
|
|
|
caseinsensitive
|
|
|
|
context default
|
|
|
|
#=========================
|
|
# Variable types
|
|
#
|
|
keyword whole bit blue white
|
|
keyword whole byte blue white
|
|
keyword whole sbyte blue white
|
|
keyword whole word blue white
|
|
keyword whole sword blue white
|
|
keyword whole dword blue white
|
|
keyword whole sdword blue white
|
|
|
|
#=========================
|
|
# Predefined constants
|
|
#
|
|
keyword whole false black green
|
|
keyword whole true black green
|
|
keyword whole off black green
|
|
keyword whole on black green
|
|
keyword whole low black green
|
|
keyword whole high black green
|
|
|
|
#=========================
|
|
# Keywords
|
|
#
|
|
keyword whole alias yellow
|
|
keyword whole at yellow
|
|
keyword whole begin yellow
|
|
keyword whole const yellow
|
|
keyword whole count yellow
|
|
keyword whole defined yellow
|
|
keyword whole end yellow
|
|
keyword whole exit yellow
|
|
keyword whole function yellow
|
|
keyword whole get yellow
|
|
keyword whole in yellow
|
|
keyword whole is yellow
|
|
keyword whole local yellow
|
|
keyword whole of yellow
|
|
keyword whole out yellow
|
|
keyword whole put yellow
|
|
keyword whole procedure yellow
|
|
keyword whole record yellow
|
|
keyword whole repeat yellow
|
|
keyword whole return yellow
|
|
keyword whole then yellow
|
|
keyword whole until yellow
|
|
keyword whole var yellow
|
|
|
|
keyword whole volatile blue white
|
|
|
|
keyword whole asm brightred
|
|
keyword whole assembler brightred
|
|
keyword whole assert brightred
|
|
keyword whole include brightred
|
|
keyword whole task brightred
|
|
|
|
#=========================
|
|
# Pragma keywords
|
|
#
|
|
keyword whole pragma\{\t\s\}\[\t\s\]bootloader\{\t\s\}\[\t\s\]bloader brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]bootloader\{\t\s\}\[\t\s\]long_start brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]bootloader\{\t\s\}\[\t\s\]loader18 brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]bootloader\{\t\s\}\[\t\s\]rickpic brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]clear\{\t\s\}\[\t\s\]no brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]clear\{\t\s\}\[\t\s\]yes brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]code brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]data brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]debug\{\t\s\}\[\t\s\]codegen\{\t\s\}\[\t\s\]no brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]debug\{\t\s\}\[\t\s\]codegen\{\t\s\}\[\t\s\]yes brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]debug\{\t\s\}\[\t\s\]pcode\{\t\s\}\[\t\s\]no brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]debug\{\t\s\}\[\t\s\]pcode\{\t\s\}\[\t\s\]yes brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]eedata brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]eeprom brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]error brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]frame brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]fuse_def brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]id brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]iddata brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]inline brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]interrupt\{\t\s\}\[\t\s\]fast brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]interrupt\{\t\s\}\[\t\s\]normal brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]interrupt\{\t\s\}\[\t\s\]raw brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]interrupt brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]jump_table brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]keep\{\t\s\}\[\t\s\]bank brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]keep\{\t\s\}\[\t\s\]page brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]keep brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]name brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]nostack brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]opt\{\t\s\}\[\t\s\]expr_reduce\{\t\s\}\[\t\s\]no brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]opt\{\t\s\}\[\t\s\]expr_reduce\{\t\s\}\[\t\s\]yes brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]opt\{\t\s\}\[\t\s\]cexpr_reduce\{\t\s\}\[\t\s\]no brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]opt\{\t\s\}\[\t\s\]cexpr_reduce\{\t\s\}\[\t\s\]yes brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]opt\{\t\s\}\[\t\s\]const_detect\{\t\s\}\[\t\s\]no brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]opt\{\t\s\}\[\t\s\]const_detect\{\t\s\}\[\t\s\]yes brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]opt\{\t\s\}\[\t\s\]load_reduce\{\t\s\}\[\t\s\]no brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]opt\{\t\s\}\[\t\s\]load_reduce\{\t\s\}\[\t\s\]yes brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]opt\{\t\s\}\[\t\s\]temp_reduce\{\t\s\}\[\t\s\]no brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]opt\{\t\s\}\[\t\s\]temp_reduce\{\t\s\}\[\t\s\]yes brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]opt\{\t\s\}\[\t\s\]variable_frame\{\t\s\}\[\t\s\]no brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]opt\{\t\s\}\[\t\s\]variable_frame\{\t\s\}\[\t\s\]yes brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]opt\{\t\s\}\[\t\s\]variable_reduce\{\t\s\}\[\t\s\]no brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]opt\{\t\s\}\[\t\s\]variable_reduce\{\t\s\}\[\t\s\]yes brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]shared brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]size brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]speed brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]stack brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]target\{\t\s\}\[\t\s\]bank brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]target\{\t\s\}\[\t\s\]clock brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]target\{\t\s\}\[\t\s\]chip brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]target\{\t\s\}\[\t\s\]cpu brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]target\{\t\s\}\[\t\s\]fuses brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]target\{\t\s\}\[\t\s\]fuses_def brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]target\{\t\s\}\[\t\s\]page brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]target brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]task brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]warn\{\t\s\}\[\t\s\]all\{\t\s\}\[\t\s\]no brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]warn\{\t\s\}\[\t\s\]all\{\t\s\}\[\t\s\]yes brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]warn\{\t\s\}\[\t\s\]backend\{\t\s\}\[\t\s\]no brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]warn\{\t\s\}\[\t\s\]backend\{\t\s\}\[\t\s\]yes brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]warn\{\t\s\}\[\t\s\]conversion\{\t\s\}\[\t\s\]no brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]warn\{\t\s\}\[\t\s\]conversion\{\t\s\}\[\t\s\]yes brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]warn\{\t\s\}\[\t\s\]directives\{\t\s\}\[\t\s\]no brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]warn\{\t\s\}\[\t\s\]directives\{\t\s\}\[\t\s\]yes brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]warn\{\t\s\}\[\t\s\]misc\{\t\s\}\[\t\s\]no brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]warn\{\t\s\}\[\t\s\]misc\{\t\s\}\[\t\s\]yes brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]warn\{\t\s\}\[\t\s\]range\{\t\s\}\[\t\s\]no brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]warn\{\t\s\}\[\t\s\]range\{\t\s\}\[\t\s\]yes brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]warn\{\t\s\}\[\t\s\]stack_overflow\{\t\s\}\[\t\s\]no brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]warn\{\t\s\}\[\t\s\]stack_overflow\{\t\s\}\[\t\s\]yes brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]warn\{\t\s\}\[\t\s\]truncate\{\t\s\}\[\t\s\]no brightred
|
|
keyword whole pragma\{\t\s\}\[\t\s\]warn\{\t\s\}\[\t\s\]truncate\{\t\s\}\[\t\s\]yes brightred
|
|
|
|
keyword whole block brightcyan
|
|
keyword whole case brightcyan
|
|
keyword whole else brightcyan
|
|
keyword whole elsif brightcyan
|
|
keyword whole for brightcyan
|
|
keyword whole forever brightcyan
|
|
keyword whole if brightcyan
|
|
keyword whole loop brightcyan
|
|
keyword whole otherwise brightcyan
|
|
keyword whole start brightcyan
|
|
keyword whole suspend brightcyan
|
|
keyword whole using brightcyan
|
|
keyword whole while brightcyan
|
|
|
|
keyword whole _debug yellow
|
|
keyword whole _error yellow
|
|
keyword whole _warn yellow
|
|
|
|
keyword whole _code_size brightred
|
|
keyword whole _fuses brightred
|
|
keyword whole _fuses_base brightred
|
|
keyword whole target_chip brightred
|
|
keyword whole target_cpu brightred
|
|
keyword whole target_clock brightred
|
|
|
|
keyword whole _usec_delay yellow
|
|
|
|
wholechars 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_
|
|
|
|
#=========================
|
|
# Numbers
|
|
#
|
|
keyword whole 0b\{01_\}\[01_\] brightgreen
|
|
keyword whole 0q\{0123456_\}\[0123456_\] brightgreen
|
|
keyword whole \[-\]\{0123456789_\}\[0123456789_\] brightgreen
|
|
keyword whole 0x\{0123456789ABCDEFabcdef_\}\[0123456789ABCDEFabcdef_\] brightgreen
|
|
|
|
#=========================
|
|
# Comments
|
|
#
|
|
keyword --*\n white magenta
|
|
keyword ;*\n white magenta
|
|
|
|
#=========================
|
|
# Special symbols
|
|
#
|
|
keyword - yellow
|
|
keyword \* yellow
|
|
keyword / yellow
|
|
keyword % yellow
|
|
keyword \+ yellow
|
|
keyword << yellow
|
|
keyword >> yellow
|
|
|
|
keyword ~ brightmagenta
|
|
keyword !! brightmagenta
|
|
keyword & brightmagenta
|
|
keyword | brightmagenta
|
|
keyword ^ brightmagenta
|
|
keyword ' brightmagenta
|
|
|
|
keyword : brightred
|
|
keyword != brightred
|
|
keyword == brightred
|
|
keyword <= brightred
|
|
keyword >= brightred
|
|
keyword < brightred
|
|
keyword > brightred
|
|
|
|
keyword = yellow
|
|
keyword ! brightmagenta
|
|
|
|
#=========================
|
|
# Separators
|
|
#
|
|
keyword ( brightcyan
|
|
keyword ) brightcyan
|
|
keyword [ brightcyan
|
|
keyword ] brightcyan
|
|
keyword { brightcyan
|
|
keyword } brightcyan
|
|
keyword , brightcyan
|
|
keyword . brightcyan
|
|
|
|
#=========================
|
|
# Assembler lines
|
|
#
|
|
context exclusive asm\{\t\s\}\[\t\s\] \n blue cyan
|
|
|
|
#=========================
|
|
# Strings
|
|
#
|
|
context " " black green
|
|
spellcheck
|
|
keyword \\" red
|
|
keyword \\\\ red
|
|
keyword \\\{abfnrtv?\} red
|
|
keyword \\0\{0123456789ABCDEFabcdef\}\{0123456789ABCDEFabcdef\}\{0123456789ABCDEFabcdef\} red
|
|
keyword \\\x\{0123456789ABCDEFabcdef\}\{0123456789ABCDEFabcdef\} red
|