2 # Syntax rules for the JAL programming language.
9 #=========================
12 keyword whole bit blue white
13 keyword whole byte blue white
14 keyword whole sbyte blue white
15 keyword whole word blue white
16 keyword whole sword blue white
17 keyword whole dword blue white
18 keyword whole sdword blue white
20 #=========================
21 # Predefined constants
23 keyword whole false black green
24 keyword whole true black green
25 keyword whole off black green
26 keyword whole on black green
27 keyword whole low black green
28 keyword whole high black green
30 #=========================
33 keyword whole alias yellow
34 keyword whole at yellow
35 keyword whole begin yellow
36 keyword whole const yellow
37 keyword whole count yellow
38 keyword whole defined yellow
39 keyword whole end yellow
40 keyword whole exit yellow
41 keyword whole function yellow
42 keyword whole get yellow
43 keyword whole in yellow
44 keyword whole is yellow
45 keyword whole local yellow
46 keyword whole of yellow
47 keyword whole out yellow
48 keyword whole put yellow
49 keyword whole procedure yellow
50 keyword whole record yellow
51 keyword whole repeat yellow
52 keyword whole return yellow
53 keyword whole then yellow
54 keyword whole until yellow
55 keyword whole var yellow
57 keyword whole volatile blue white
59 keyword whole asm brightred
60 keyword whole assembler brightred
61 keyword whole assert brightred
62 keyword whole include brightred
63 keyword whole task brightred
65 #=========================
68 keyword whole pragma\{\t\s\}\[\t\s\]bootloader\{\t\s\}\[\t\s\]bloader brightred
69 keyword whole pragma\{\t\s\}\[\t\s\]bootloader\{\t\s\}\[\t\s\]long_start brightred
70 keyword whole pragma\{\t\s\}\[\t\s\]bootloader\{\t\s\}\[\t\s\]loader18 brightred
71 keyword whole pragma\{\t\s\}\[\t\s\]bootloader\{\t\s\}\[\t\s\]rickpic brightred
72 keyword whole pragma\{\t\s\}\[\t\s\]clear\{\t\s\}\[\t\s\]no brightred
73 keyword whole pragma\{\t\s\}\[\t\s\]clear\{\t\s\}\[\t\s\]yes brightred
74 keyword whole pragma\{\t\s\}\[\t\s\]code brightred
75 keyword whole pragma\{\t\s\}\[\t\s\]data brightred
76 keyword whole pragma\{\t\s\}\[\t\s\]debug\{\t\s\}\[\t\s\]codegen\{\t\s\}\[\t\s\]no brightred
77 keyword whole pragma\{\t\s\}\[\t\s\]debug\{\t\s\}\[\t\s\]codegen\{\t\s\}\[\t\s\]yes brightred
78 keyword whole pragma\{\t\s\}\[\t\s\]debug\{\t\s\}\[\t\s\]pcode\{\t\s\}\[\t\s\]no brightred
79 keyword whole pragma\{\t\s\}\[\t\s\]debug\{\t\s\}\[\t\s\]pcode\{\t\s\}\[\t\s\]yes brightred
80 keyword whole pragma\{\t\s\}\[\t\s\]eedata brightred
81 keyword whole pragma\{\t\s\}\[\t\s\]eeprom brightred
82 keyword whole pragma\{\t\s\}\[\t\s\]error brightred
83 keyword whole pragma\{\t\s\}\[\t\s\]frame brightred
84 keyword whole pragma\{\t\s\}\[\t\s\]fuse_def brightred
85 keyword whole pragma\{\t\s\}\[\t\s\]id brightred
86 keyword whole pragma\{\t\s\}\[\t\s\]iddata brightred
87 keyword whole pragma\{\t\s\}\[\t\s\]inline brightred
88 keyword whole pragma\{\t\s\}\[\t\s\]interrupt\{\t\s\}\[\t\s\]fast brightred
89 keyword whole pragma\{\t\s\}\[\t\s\]interrupt\{\t\s\}\[\t\s\]normal brightred
90 keyword whole pragma\{\t\s\}\[\t\s\]interrupt\{\t\s\}\[\t\s\]raw brightred
91 keyword whole pragma\{\t\s\}\[\t\s\]interrupt brightred
92 keyword whole pragma\{\t\s\}\[\t\s\]jump_table brightred
93 keyword whole pragma\{\t\s\}\[\t\s\]keep\{\t\s\}\[\t\s\]bank brightred
94 keyword whole pragma\{\t\s\}\[\t\s\]keep\{\t\s\}\[\t\s\]page brightred
95 keyword whole pragma\{\t\s\}\[\t\s\]keep brightred
96 keyword whole pragma\{\t\s\}\[\t\s\]name brightred
97 keyword whole pragma\{\t\s\}\[\t\s\]nostack brightred
98 keyword whole pragma\{\t\s\}\[\t\s\]opt\{\t\s\}\[\t\s\]expr_reduce\{\t\s\}\[\t\s\]no brightred
99 keyword whole pragma\{\t\s\}\[\t\s\]opt\{\t\s\}\[\t\s\]expr_reduce\{\t\s\}\[\t\s\]yes brightred
100 keyword whole pragma\{\t\s\}\[\t\s\]opt\{\t\s\}\[\t\s\]cexpr_reduce\{\t\s\}\[\t\s\]no brightred
101 keyword whole pragma\{\t\s\}\[\t\s\]opt\{\t\s\}\[\t\s\]cexpr_reduce\{\t\s\}\[\t\s\]yes brightred
102 keyword whole pragma\{\t\s\}\[\t\s\]opt\{\t\s\}\[\t\s\]const_detect\{\t\s\}\[\t\s\]no brightred
103 keyword whole pragma\{\t\s\}\[\t\s\]opt\{\t\s\}\[\t\s\]const_detect\{\t\s\}\[\t\s\]yes brightred
104 keyword whole pragma\{\t\s\}\[\t\s\]opt\{\t\s\}\[\t\s\]load_reduce\{\t\s\}\[\t\s\]no brightred
105 keyword whole pragma\{\t\s\}\[\t\s\]opt\{\t\s\}\[\t\s\]load_reduce\{\t\s\}\[\t\s\]yes brightred
106 keyword whole pragma\{\t\s\}\[\t\s\]opt\{\t\s\}\[\t\s\]temp_reduce\{\t\s\}\[\t\s\]no brightred
107 keyword whole pragma\{\t\s\}\[\t\s\]opt\{\t\s\}\[\t\s\]temp_reduce\{\t\s\}\[\t\s\]yes brightred
108 keyword whole pragma\{\t\s\}\[\t\s\]opt\{\t\s\}\[\t\s\]variable_frame\{\t\s\}\[\t\s\]no brightred
109 keyword whole pragma\{\t\s\}\[\t\s\]opt\{\t\s\}\[\t\s\]variable_frame\{\t\s\}\[\t\s\]yes brightred
110 keyword whole pragma\{\t\s\}\[\t\s\]opt\{\t\s\}\[\t\s\]variable_reduce\{\t\s\}\[\t\s\]no brightred
111 keyword whole pragma\{\t\s\}\[\t\s\]opt\{\t\s\}\[\t\s\]variable_reduce\{\t\s\}\[\t\s\]yes brightred
112 keyword whole pragma\{\t\s\}\[\t\s\]shared brightred
113 keyword whole pragma\{\t\s\}\[\t\s\]size brightred
114 keyword whole pragma\{\t\s\}\[\t\s\]speed brightred
115 keyword whole pragma\{\t\s\}\[\t\s\]stack brightred
116 keyword whole pragma\{\t\s\}\[\t\s\]target\{\t\s\}\[\t\s\]bank brightred
117 keyword whole pragma\{\t\s\}\[\t\s\]target\{\t\s\}\[\t\s\]clock brightred
118 keyword whole pragma\{\t\s\}\[\t\s\]target\{\t\s\}\[\t\s\]chip brightred
119 keyword whole pragma\{\t\s\}\[\t\s\]target\{\t\s\}\[\t\s\]cpu brightred
120 keyword whole pragma\{\t\s\}\[\t\s\]target\{\t\s\}\[\t\s\]fuses brightred
121 keyword whole pragma\{\t\s\}\[\t\s\]target\{\t\s\}\[\t\s\]fuses_def brightred
122 keyword whole pragma\{\t\s\}\[\t\s\]target\{\t\s\}\[\t\s\]page brightred
123 keyword whole pragma\{\t\s\}\[\t\s\]target brightred
124 keyword whole pragma\{\t\s\}\[\t\s\]task brightred
125 keyword whole pragma\{\t\s\}\[\t\s\]warn\{\t\s\}\[\t\s\]all\{\t\s\}\[\t\s\]no brightred
126 keyword whole pragma\{\t\s\}\[\t\s\]warn\{\t\s\}\[\t\s\]all\{\t\s\}\[\t\s\]yes brightred
127 keyword whole pragma\{\t\s\}\[\t\s\]warn\{\t\s\}\[\t\s\]backend\{\t\s\}\[\t\s\]no brightred
128 keyword whole pragma\{\t\s\}\[\t\s\]warn\{\t\s\}\[\t\s\]backend\{\t\s\}\[\t\s\]yes brightred
129 keyword whole pragma\{\t\s\}\[\t\s\]warn\{\t\s\}\[\t\s\]conversion\{\t\s\}\[\t\s\]no brightred
130 keyword whole pragma\{\t\s\}\[\t\s\]warn\{\t\s\}\[\t\s\]conversion\{\t\s\}\[\t\s\]yes brightred
131 keyword whole pragma\{\t\s\}\[\t\s\]warn\{\t\s\}\[\t\s\]directives\{\t\s\}\[\t\s\]no brightred
132 keyword whole pragma\{\t\s\}\[\t\s\]warn\{\t\s\}\[\t\s\]directives\{\t\s\}\[\t\s\]yes brightred
133 keyword whole pragma\{\t\s\}\[\t\s\]warn\{\t\s\}\[\t\s\]misc\{\t\s\}\[\t\s\]no brightred
134 keyword whole pragma\{\t\s\}\[\t\s\]warn\{\t\s\}\[\t\s\]misc\{\t\s\}\[\t\s\]yes brightred
135 keyword whole pragma\{\t\s\}\[\t\s\]warn\{\t\s\}\[\t\s\]range\{\t\s\}\[\t\s\]no brightred
136 keyword whole pragma\{\t\s\}\[\t\s\]warn\{\t\s\}\[\t\s\]range\{\t\s\}\[\t\s\]yes brightred
137 keyword whole pragma\{\t\s\}\[\t\s\]warn\{\t\s\}\[\t\s\]stack_overflow\{\t\s\}\[\t\s\]no brightred
138 keyword whole pragma\{\t\s\}\[\t\s\]warn\{\t\s\}\[\t\s\]stack_overflow\{\t\s\}\[\t\s\]yes brightred
139 keyword whole pragma\{\t\s\}\[\t\s\]warn\{\t\s\}\[\t\s\]truncate\{\t\s\}\[\t\s\]no brightred
140 keyword whole pragma\{\t\s\}\[\t\s\]warn\{\t\s\}\[\t\s\]truncate\{\t\s\}\[\t\s\]yes brightred
142 keyword whole block brightcyan
143 keyword whole case brightcyan
144 keyword whole else brightcyan
145 keyword whole elsif brightcyan
146 keyword whole for brightcyan
147 keyword whole forever brightcyan
148 keyword whole if brightcyan
149 keyword whole loop brightcyan
150 keyword whole otherwise brightcyan
151 keyword whole start brightcyan
152 keyword whole suspend brightcyan
153 keyword whole using brightcyan
154 keyword whole while brightcyan
156 keyword whole _debug yellow
157 keyword whole _error yellow
158 keyword whole _warn yellow
160 keyword whole _code_size brightred
161 keyword whole _fuses brightred
162 keyword whole _fuses_base brightred
163 keyword whole target_chip brightred
164 keyword whole target_cpu brightred
165 keyword whole target_clock brightred
167 keyword whole _usec_delay yellow
169 wholechars 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_
171 #=========================
174 keyword whole 0b\{01_\}\[01_\] brightgreen
175 keyword whole 0q\{0123456_\}\[0123456_\] brightgreen
176 keyword whole \[-\]\{0123456789_\}\[0123456789_\] brightgreen
177 keyword whole 0x\{0123456789ABCDEFabcdef_\}\[0123456789ABCDEFabcdef_\] brightgreen
179 #=========================
182 keyword --*\n white magenta
183 keyword ;*\n white magenta
185 #=========================
196 keyword ~ brightmagenta
197 keyword !! brightmagenta
198 keyword & brightmagenta
199 keyword | brightmagenta
200 keyword ^ brightmagenta
201 keyword ' brightmagenta
212 keyword ! brightmagenta
214 #=========================
226 #=========================
229 context exclusive asm\{\t\s\}\[\t\s\] \n blue cyan
231 #=========================
234 context " " black green
238 keyword \\\{abfnrtv?\} red
239 keyword \\0\{0123456789ABCDEFabcdef\}\{0123456789ABCDEFabcdef\}\{0123456789ABCDEFabcdef\} red
240 keyword \\\x\{0123456789ABCDEFabcdef\}\{0123456789ABCDEFabcdef\} red