Mercurial > vim
comparison runtime/syntax/jal.vim @ 7:3fc0f57ecb91 v7.0001
updated for version 7.0001
author | vimboss |
---|---|
date | Sun, 13 Jun 2004 20:20:40 +0000 |
parents | |
children | 43efa4f5a8ea |
comparison
equal
deleted
inserted
replaced
6:c2daee826b8f | 7:3fc0f57ecb91 |
---|---|
1 " Vim syntax file | |
2 " Language: JAL | |
3 " Version: 0.1 | |
4 " Last Change: 2003 May 11 | |
5 " Maintainer: Mark Gross <mark@thegnar.org> | |
6 " This is a syntax definition for the JAL language. | |
7 " It is based on the Source Forge compiler source code. | |
8 " https://sourceforge.net/projects/jal/ | |
9 " | |
10 " TODO test. | |
11 | |
12 " For version 5.x: Clear all syntax items | |
13 " For version 6.x: Quit when a syntax file was already loaded | |
14 if version < 600 | |
15 syntax clear | |
16 elseif exists("b:current_syntax") | |
17 finish | |
18 endif | |
19 | |
20 syn case ignore | |
21 syn sync lines=250 | |
22 | |
23 syn keyword picTodo NOTE TODO XXX contained | |
24 | |
25 syn match picIdentifier "[a-z_$][a-z0-9_$]*" | |
26 syn match picLabel "^[A-Z_$][A-Z0-9_$]*" | |
27 syn match picLabel "^[A-Z_$][A-Z0-9_$]*:"me=e-1 | |
28 | |
29 syn match picASCII "A\='.'" | |
30 syn match picBinary "B'[0-1]\+'" | |
31 syn match picDecimal "D'\d\+'" | |
32 syn match picDecimal "\d\+" | |
33 syn match picHexadecimal "0x\x\+" | |
34 syn match picHexadecimal "H'\x\+'" | |
35 syn match picHexadecimal "[0-9]\x*h" | |
36 syn match picOctal "O'[0-7]\o*'" | |
37 | |
38 syn match picComment ";.*" contains=picTodo | |
39 | |
40 syn region picString start=+"+ end=+"+ | |
41 | |
42 syn keyword picRegister indf tmr0 pcl status fsr port_a port_b port_c port_d port_e x84_eedata x84_eeadr pclath intcon | |
43 syn keyword picRegister f877_tmr1l f877_tmr1h f877_t1con f877_t2con f877_ccpr1l f877_ccpr1h f877_ccp1con | |
44 syn keyword picRegister f877_pir1 f877_pir2 f877_pie1 f877_adcon1 f877_adcon0 f877_pr2 f877_adresl f877_adresh | |
45 syn keyword picRegister f877_eeadr f877_eedath f877_eeadrh f877_eedata f877_eecon1 f877_eecon2 f628_EECON2 | |
46 syn keyword picRegister f877_rcsta f877_txsta f877_spbrg f877_txreg f877_rcreg f628_EEDATA f628_EEADR f628_EECON1 | |
47 | |
48 " Register --- bits | |
49 " STATUS | |
50 syn keyword picRegisterPart status_c status_dc status_z status_pd | |
51 syn keyword picRegisterPart status_to status_rp0 status_rp1 status_irp | |
52 | |
53 " pins | |
54 syn keyword picRegisterPart pin_a0 pin_a1 pin_a2 pin_a3 pin_a4 pin_a5 | |
55 syn keyword picRegisterPart pin_b0 pin_b1 pin_b2 pin_b3 pin_b4 pin_b5 pin_b6 pin_b7 | |
56 syn keyword picRegisterPart pin_c0 pin_c1 pin_c2 pin_c3 pin_c4 pin_c5 pin_c6 pin_c7 | |
57 syn keyword picRegisterPart pin_d0 pin_d1 pin_d2 pin_d3 pin_d4 pin_d5 pin_d6 pin_d7 | |
58 syn keyword picRegisterPart pin_e0 pin_e1 pin_e2 | |
59 | |
60 syn keyword picPortDir port_a_direction port_b_direction port_c_direction port_d_direction port_e_direction | |
61 | |
62 syn match picPinDir "pin_a[012345]_direction" | |
63 syn match picPinDir "pin_b[01234567]_direction" | |
64 syn match picPinDir "pin_c[01234567]_direction" | |
65 syn match picPinDir "pin_d[01234567]_direction" | |
66 syn match picPinDir "pin_e[012]_direction" | |
67 | |
68 | |
69 " INTCON | |
70 syn keyword picRegisterPart intcon_gie intcon_eeie intcon_peie intcon_t0ie intcon_inte | |
71 syn keyword picRegisterPart intcon_rbie intcon_t0if intcon_intf intcon_rbif | |
72 | |
73 " TIMER | |
74 syn keyword picRegisterPart t1ckps1 t1ckps0 t1oscen t1sync tmr1cs tmr1on tmr1ie tmr1if | |
75 | |
76 "cpp bits | |
77 syn keyword picRegisterPart ccp1x ccp1y | |
78 | |
79 " adcon bits | |
80 syn keyword picRegisterPart adcon0_go adcon0_ch0 adcon0_ch1 adcon0_ch2 | |
81 | |
82 " EECON | |
83 syn keyword picRegisterPart eecon1_rd eecon1_wr eecon1_wren eecon1_wrerr eecon1_eepgd | |
84 syn keyword picRegisterPart f628_eecon1_rd f628_eecon1_wr f628_eecon1_wren f628_eecon1_wrerr | |
85 | |
86 " usart | |
87 syn keyword picRegisterPart tx9 txen sync brgh tx9d | |
88 syn keyword picRegisterPart spen rx9 cren ferr oerr rx9d | |
89 syn keyword picRegisterPart TXIF RCIF | |
90 | |
91 " OpCodes... | |
92 syn keyword picOpcode addlw andlw call clrwdt goto iorlw movlw option retfie retlw return sleep sublw tris | |
93 syn keyword picOpcode xorlw addwf andwf clrf clrw comf decf decfsz incf incfsz retiw iorwf movf movwf nop | |
94 syn keyword picOpcode rlf rrf subwf swapf xorwf bcf bsf btfsc btfss skpz skpnz setz clrz skpc skpnc setc clrc | |
95 syn keyword picOpcode skpdc skpndc setdc clrdc movfw tstf bank page HPAGE mullw mulwf cpfseq cpfsgt cpfslt banka bankb | |
96 | |
97 | |
98 syn keyword jalBoolean true false | |
99 syn keyword jalBoolean off on | |
100 syn keyword jalBit high low | |
101 syn keyword jalConstant Input Output all_input all_output | |
102 syn keyword jalConditional if else then elsif end if | |
103 syn keyword jalLabel goto | |
104 syn keyword jalRepeat for while forever loop | |
105 syn keyword jalStatement procedure function | |
106 syn keyword jalStatement return end volatile const var | |
107 syn keyword jalType bit byte | |
108 | |
109 syn keyword jalModifier interrupt assembler asm put get | |
110 syn keyword jalStatement out in is begin at | |
111 syn keyword jalDirective pragma jump_table target target_clock target_chip name error test assert | |
112 syn keyword jalPredefined hs xt rc lp internal 16c84 16f84 16f877 sx18 sx28 12c509a 12c508 | |
113 syn keyword jalPredefined 12ce674 16f628 18f252 18f242 18f442 18f452 12f629 12f675 16f88 | |
114 syn keyword jalPredefined 16f876 16f873 sx_12 sx18 sx28 pic_12 pic_14 pic_16 | |
115 | |
116 syn keyword jalDirective chip osc clock fuses cpu watchdog powerup protection | |
117 | |
118 syn keyword jalFunction bank_0 bank_1 bank_2 bank_3 bank_4 bank_5 bank_6 bank_7 trisa trisb trisc trisd trise | |
119 syn keyword jalFunction _trisa_flush _trisb_flush _trisc_flush _trisd_flush _trise_flush | |
120 | |
121 syn keyword jalPIC local idle_loop | |
122 | |
123 syn region jalAsm matchgroup=jalAsmKey start="\<assembler\>" end="\<end assembler\>" contains=jalComment,jalPreProc,jalLabel,picIdentifier, picLabel,picASCII,picDecimal,picHexadecimal,picOctal,picComment,picString,picRegister,picRigisterPart,picOpcode,picDirective,jalPIC | |
124 syn region jalAsm matchgroup=jalAsmKey start="\<asm\>" end=/$/ contains=jalComment,jalPreProc,jalLabel,picIdentifier, picLabel,picASCII,picDecimal,picHexadecimal,picOctal,picComment,picString,picRegister,picRigisterPart,picOpcode,picDirective,jalPIC | |
125 | |
126 syn region jalPsudoVars matchgroup=jalPsudoVarsKey start="\<'put\>" end="/<is/>" contains=jalComment | |
127 | |
128 syn match jalStringEscape contained "#[12][0-9]\=[0-9]\=" | |
129 syn match jalIdentifier "\<[a-zA-Z_][a-zA-Z0-9_]*\>" | |
130 syn match jalSymbolOperator "[+\-/*=]" | |
131 syn match jalSymbolOperator "!" | |
132 syn match jalSymbolOperator "<" | |
133 syn match jalSymbolOperator ">" | |
134 syn match jalSymbolOperator "<=" | |
135 syn match jalSymbolOperator ">=" | |
136 syn match jalSymbolOperator "!=" | |
137 syn match jalSymbolOperator "==" | |
138 syn match jalSymbolOperator "<<" | |
139 syn match jalSymbolOperator ">>" | |
140 syn match jalSymbolOperator "|" | |
141 syn match jalSymbolOperator "&" | |
142 syn match jalSymbolOperator "%" | |
143 syn match jalSymbolOperator "?" | |
144 syn match jalSymbolOperator "[()]" | |
145 syn match jalSymbolOperator "[\^.]" | |
146 syn match jalLabel "[\^]*:" | |
147 | |
148 syn match jalNumber "-\=\<\d[0-9_]\+\>" | |
149 syn match jalHexNumber "0x[0-9A-Fa-f_]\+\>" | |
150 syn match jalBinNumber "0b[01_]\+\>" | |
151 | |
152 " String | |
153 "wrong strings | |
154 syn region jalStringError matchgroup=jalStringError start=+"+ end=+"+ end=+$+ contains=jalStringEscape | |
155 | |
156 "right strings | |
157 syn region jalString matchgroup=jalString start=+'+ end=+'+ oneline contains=jalStringEscape | |
158 " To see the start and end of strings: | |
159 syn region jalString matchgroup=jalString start=+"+ end=+"+ oneline contains=jalStringEscapeGPC | |
160 | |
161 syn keyword jalTodo contained TODO | |
162 syn region jalComment start=/-- / end=/$/ oneline contains=jalTodo | |
163 syn region jalComment start=/--\t/ end=/$/ oneline contains=jalTodo | |
164 syn match jalComment /--\_$/ | |
165 syn region jalPreProc start="include" end=/$/ contains=JalComment,jalToDo | |
166 | |
167 | |
168 if exists("jal_no_tabs") | |
169 syn match jalShowTab "\t" | |
170 endif | |
171 | |
172 | |
173 " Define the default highlighting. | |
174 " For version 5.7 and earlier: only when not done already | |
175 " For version 5.8 and later: only when an item doesn't have highlighting yet | |
176 if version >= 508 || !exists("did_jal_syn_inits") | |
177 if version < 508 | |
178 let did_jal_syn_inits = 1 | |
179 command -nargs=+ HiLink hi link <args> | |
180 else | |
181 command -nargs=+ HiLink hi def link <args> | |
182 endif | |
183 | |
184 HiLink jalAcces jalStatement | |
185 HiLink jalBoolean Boolean | |
186 HiLink jalBit Boolean | |
187 HiLink jalComment Comment | |
188 HiLink jalConditional Conditional | |
189 HiLink jalConstant Constant | |
190 HiLink jalDelimiter Identifier | |
191 HiLink jalDirective PreProc | |
192 HiLink jalException Exception | |
193 HiLink jalFloat Float | |
194 HiLink jalFunction Function | |
195 HiLink jalPsudoVarsKey Function | |
196 HiLink jalLabel Label | |
197 HiLink jalMatrixDelimiter Identifier | |
198 HiLink jalModifier Type | |
199 HiLink jalNumber Number | |
200 HiLink jalBinNumber Number | |
201 HiLink jalHexNumber Number | |
202 HiLink jalOperator Operator | |
203 HiLink jalPredefined Constant | |
204 HiLink jalPreProc PreProc | |
205 HiLink jalRepeat Repeat | |
206 HiLink jalStatement Statement | |
207 HiLink jalString String | |
208 HiLink jalStringEscape Special | |
209 HiLink jalStringEscapeGPC Special | |
210 HiLink jalStringError Error | |
211 HiLink jalStruct jalStatement | |
212 HiLink jalSymbolOperator jalOperator | |
213 HiLink jalTodo Todo | |
214 HiLink jalType Type | |
215 HiLink jalUnclassified Statement | |
216 HiLink jalAsm Assembler | |
217 HiLink jalError Error | |
218 HiLink jalAsmKey Statement | |
219 HiLink jalPIC Statement | |
220 | |
221 HiLink jalShowTab Error | |
222 | |
223 HiLink picTodo Todo | |
224 HiLink picComment Comment | |
225 HiLink picDirective Statement | |
226 HiLink picLabel Label | |
227 HiLink picString String | |
228 | |
229 HiLink picOpcode Keyword | |
230 HiLink picRegister Structure | |
231 HiLink picRegisterPart Special | |
232 HiLink picPinDir SPecial | |
233 HiLink picPortDir SPecial | |
234 | |
235 HiLink picASCII String | |
236 HiLink picBinary Number | |
237 HiLink picDecimal Number | |
238 HiLink picHexadecimal Number | |
239 HiLink picOctal Number | |
240 | |
241 HiLink picIdentifier Identifier | |
242 | |
243 delcommand HiLink | |
244 endif | |
245 | |
246 | |
247 let b:current_syntax = "jal" | |
248 | |
249 " vim: ts=8 sw=2 |