annotate runtime/syntax/specman.vim @ 7:3fc0f57ecb91 v7.0001

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