123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240 |
- #
- # 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
|