Mercurial > hg > RemoteEditor > vim7
comparison runtime/syntax/specman.vim @ 0:76efa0be13f1
Initial revision
author | atsuki |
---|---|
date | Sat, 10 Nov 2007 15:07:22 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:76efa0be13f1 |
---|---|
1 " Vim syntax file | |
2 " Language: SPECMAN E-LANGUAGE | |
3 " Maintainer: Or Freund <or@mobilian.com ;omf@gmx.co.uk; OrMeir@yahoo.com> | |
4 " Last Update: Wed Oct 24 2001 | |
5 | |
6 "--------------------------------------------------------- | |
7 "| If anyone found an error or fix the parenthesis part | | |
8 "| I will be happy to hear about it | | |
9 "| Thanks Or. | | |
10 "--------------------------------------------------------- | |
11 | |
12 " Remove any old syntax stuff hanging around | |
13 " For version 5.x: Clear all syntax items | |
14 " For version 6.x: Quit when a syntax file was already loaded | |
15 if version < 600 | |
16 syntax clear | |
17 elseif exists("b:current_syntax") | |
18 finish | |
19 endif | |
20 | |
21 syn keyword specmanTodo contained TODO todo ToDo FIXME XXX | |
22 | |
23 syn keyword specmanStatement var instance on compute start event expect check that routine | |
24 syn keyword specmanStatement specman is also first only with like | |
25 syn keyword specmanStatement list of all radix hex dec bin ignore illegal | |
26 syn keyword specmanStatement traceable untraceable | |
27 syn keyword specmanStatement cover using count_only trace_only at_least transition item ranges | |
28 syn keyword specmanStatement cross text call task within | |
29 | |
30 syn keyword specmanMethod initialize non_terminal testgroup delayed exit finish | |
31 syn keyword specmanMethod out append print outf appendf | |
32 syn keyword specmanMethod post_generate pre_generate setup_test finalize_test extract_test | |
33 syn keyword specmanMethod init run copy as_a set_config dut_error add clear lock quit | |
34 syn keyword specmanMethod lock unlock release swap quit to_string value stop_run | |
35 syn keyword specmanMethod crc_8 crc_32 crc_32_flip get_config add0 all_indices and_all | |
36 syn keyword specmanMethod apply average count delete exists first_index get_indices | |
37 syn keyword specmanMethod has insert is_a_permutation is_empty key key_exists key_index | |
38 syn keyword specmanMethod last last_index max max_index max_value min min_index | |
39 syn keyword specmanMethod min_value or_all pop pop0 push push0 product resize reverse | |
40 syn keyword specmanMethod sort split sum top top0 unique clear is_all_iterations | |
41 syn keyword specmanMethod get_enclosing_unit hdl_path exec deep_compare deep_compare_physical | |
42 syn keyword specmanMethod pack unpack warning error fatal | |
43 syn match specmanMethod "size()" | |
44 syn keyword specmanPacking packing low high | |
45 syn keyword specmanType locker address | |
46 syn keyword specmanType body code vec chars | |
47 syn keyword specmanType integer real bool int long uint byte bits bit time string | |
48 syn keyword specmanType byte_array external_pointer | |
49 syn keyword specmanBoolean TRUE FALSE | |
50 syn keyword specmanPreCondit #ifdef #ifndef #else | |
51 | |
52 syn keyword specmanConditional choose matches | |
53 syn keyword specmanConditional if then else when try | |
54 | |
55 | |
56 | |
57 syn keyword specmanLabel case casex casez default | |
58 | |
59 syn keyword specmanLogical and or not xor | |
60 | |
61 syn keyword specmanRepeat until repeat while for from to step each do break continue | |
62 syn keyword specmanRepeat before next sequence always -kind network | |
63 syn keyword specmanRepeat index it me in new return result select | |
64 | |
65 syn keyword specmanTemporal cycle sample events forever | |
66 syn keyword specmanTemporal wait change negedge rise fall delay sync sim true detach eventually emit | |
67 | |
68 syn keyword specmanConstant MAX_INT MIN_INT NULL UNDEF | |
69 | |
70 syn keyword specmanDefine define as computed type extend | |
71 syn keyword specmanDefine verilog vhdl variable global sys | |
72 syn keyword specmanStructure struct unit | |
73 syn keyword specmanInclude import | |
74 syn keyword specmanConstraint gen keep keeping soft before | |
75 | |
76 syn keyword specmanSpecial untyped symtab ECHO DOECHO | |
77 syn keyword specmanFile files load module ntv source_ref script read write | |
78 syn keyword specmanFSM initial idle others posedge clock cycles | |
79 | |
80 | |
81 syn match specmanOperator "[&|~><!)(*%@+/=?:;}{,.\^\-\[\]]" | |
82 syn match specmanOperator "+=" | |
83 syn match specmanOperator "-=" | |
84 syn match specmanOperator "*=" | |
85 | |
86 syn match specmanComment "//.*" contains=specmanTodo | |
87 syn match specmanComment "--.*" | |
88 syn region specmanComment start="^'>"hs=s+2 end="^<'"he=e-2 | |
89 | |
90 syn match specmanHDL "'[`.a-zA-Z0-9_@\[\]]\+\>'" | |
91 | |
92 | |
93 syn match specmanCompare "==" | |
94 syn match specmanCompare "!===" | |
95 syn match specmanCompare "===" | |
96 syn match specmanCompare "!=" | |
97 syn match specmanCompare ">=" | |
98 syn match specmanCompare "<=" | |
99 syn match specmanNumber "[0-9]:[0-9]" | |
100 syn match specmanNumber "\(\<\d\+\|\)'[bB]\s*[0-1_xXzZ?]\+\>" | |
101 syn match specmanNumber "0[bB]\s*[0-1_xXzZ?]\+\>" | |
102 syn match specmanNumber "\(\<\d\+\|\)'[oO]\s*[0-7_xXzZ?]\+\>" | |
103 syn match specmanNumber "0[oO]\s*[0-9a-fA-F_xXzZ?]\+\>" | |
104 syn match specmanNumber "\(\<\d\+\|\)'[dD]\s*[0-9_xXzZ?]\+\>" | |
105 syn match specmanNumber "\(\<\d\+\|\)'[hH]\s*[0-9a-fA-F_xXzZ?]\+\>" | |
106 syn match specmanNumber "0[xX]\s*[0-9a-fA-F_xXzZ?]\+\>" | |
107 syn match specmanNumber "\<[+-]\=[0-9_]\+\(\.[0-9_]*\|\)\(e[0-9_]*\|\)\>" | |
108 | |
109 syn region specmanString start=+"+ end=+"+ | |
110 | |
111 | |
112 | |
113 "********************************************************************** | |
114 " I took this section from c.vim but I didnt succeded to make it work | |
115 " ANY one who dare jumping to this deep watter is more than welocome! | |
116 "********************************************************************** | |
117 ""catch errors caused by wrong parenthesis and brackets | |
118 | |
119 "syn cluster specmanParenGroup contains=specmanParenError | |
120 "" ,specmanNumbera,specmanComment | |
121 "if exists("specman_no_bracket_error") | |
122 "syn region specmanParen transparent start='(' end=')' contains=ALLBUT,@specmanParenGroup | |
123 "syn match specmanParenError ")" | |
124 "syn match specmanErrInParen contained "[{}]" | |
125 "else | |
126 "syn region specmanParen transparent start='(' end=')' contains=ALLBUT,@specmanParenGroup,specmanErrInBracket | |
127 "syn match specmanParenError "[\])]" | |
128 "syn match specmanErrInParen contained "[\]{}]" | |
129 "syn region specmanBracket transparent start='\[' end=']' contains=ALLBUT,@specmanParenGroup,specmanErrInParen | |
130 "syn match specmanErrInBracket contained "[);{}]" | |
131 "endif | |
132 " | |
133 | |
134 "Modify the following as needed. The trade-off is performance versus | |
135 "functionality. | |
136 | |
137 syn sync lines=50 | |
138 | |
139 " Define the default highlighting. | |
140 " For version 5.7 and earlier: only when not done already | |
141 " For version 5.8 and later: only when an item doesn't have highlighting yet | |
142 if version >= 508 || !exists("did_specman_syn_inits") | |
143 if version < 508 | |
144 let did_specman_syn_inits = 1 | |
145 command -nargs=+ HiLink hi link <args> | |
146 else | |
147 command -nargs=+ HiLink hi def link <args> | |
148 endif | |
149 " The default methods for highlighting. Can be overridden later | |
150 HiLink specmanConditional Conditional | |
151 HiLink specmanConstraint Conditional | |
152 HiLink specmanRepeat Repeat | |
153 HiLink specmanString String | |
154 HiLink specmanComment Comment | |
155 HiLink specmanConstant Macro | |
156 HiLink specmanNumber Number | |
157 HiLink specmanCompare Operator | |
158 HiLink specmanOperator Operator | |
159 HiLink specmanLogical Operator | |
160 HiLink specmanStatement Statement | |
161 HiLink specmanHDL SpecialChar | |
162 HiLink specmanMethod Function | |
163 HiLink specmanInclude Include | |
164 HiLink specmanStructure Structure | |
165 HiLink specmanBoolean Boolean | |
166 HiLink specmanFSM Label | |
167 HiLink specmanSpecial Special | |
168 HiLink specmanType Type | |
169 HiLink specmanTemporal Type | |
170 HiLink specmanFile Include | |
171 HiLink specmanPreCondit Include | |
172 HiLink specmanDefine Typedef | |
173 HiLink specmanLabel Label | |
174 HiLink specmanPacking keyword | |
175 HiLink specmanTodo Todo | |
176 HiLink specmanParenError Error | |
177 HiLink specmanErrInParen Error | |
178 HiLink specmanErrInBracket Error | |
179 delcommand HiLink | |
180 endif | |
181 | |
182 let b:current_syntax = "specman" |