PageRenderTime 40ms CodeModel.GetById 32ms app.highlight 4ms RepoModel.GetById 1ms app.codeStats 0ms

/jEdit/tags/jedit-4-0-pre3/modes/verilog.xml

#
XML | 233 lines | 223 code | 4 blank | 6 comment | 0 complexity | 1a4a1bef755590c7c7a4be42ece07ba2 MD5 | raw file
  1<?xml version="1.0"?>
  2
  3<!DOCTYPE MODE SYSTEM "xmode.dtd">
  4
  5<!-- Written By: Wojciech Stryjewski - thvortex@sourceforge.net -->
  6
  7<MODE>
  8	<PROPS>
  9		<!-- Rules for indenting:
 10		   - Case expressions (a line ending with colon) are indented
 11		   - Keywords begin, module, task, etc. always indented
 12		   - Keywords if, while, etc. indent only if ; not on the same line
 13		-->
 14		<PROPERTY NAME="indentPrevLine" VALUE="(.*:\s*)|(\s*(begin|fork|task|table|specify|primitive|module|generate|function|case[xz]?)\&gt;.*)|(\s*(always|if|else|for|forever|initial|repeat|while)\&gt;[^;]*)" />
 15
 16		<PROPERTY NAME="commentStart" VALUE="/*" />
 17		<PROPERTY NAME="commentEnd" VALUE="*/" />
 18		<PROPERTY NAME="lineComment" VALUE="//" />
 19		<PROPERTY NAME="noWordSep" VALUE="_'" />
 20		<PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />
 21	</PROPS>
 22	<RULES ESCAPE="\" IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">
 23		<!-- whitespace: (space and tab) -->
 24		<WHITESPACE> </WHITESPACE>
 25		<WHITESPACE>	</WHITESPACE>
 26
 27		<!-- Comments -->
 28		<SPAN TYPE="COMMENT1">
 29			<BEGIN>/*</BEGIN>
 30			<END>*/</END>
 31		</SPAN>
 32		<EOL_SPAN TYPE="COMMENT1">//</EOL_SPAN>
 33
 34		<!--String Literals -->
 35		<SPAN TYPE="LITERAL1" NO_LINE_BREAK="FALSE">
 36			<BEGIN>"</BEGIN>
 37			<END>"</END>
 38		</SPAN>
 39
 40		<!-- Integer literals: Can't handle 123_456 but 'd123_456 is ok --> 
 41		<MARK_FOLLOWING TYPE="DIGIT">'d</MARK_FOLLOWING>
 42		<MARK_FOLLOWING TYPE="DIGIT">'h</MARK_FOLLOWING>
 43		<MARK_FOLLOWING TYPE="DIGIT">'b</MARK_FOLLOWING>
 44		<MARK_FOLLOWING TYPE="DIGIT">'o</MARK_FOLLOWING>
 45
 46		<!-- Function calls, module instantiation, system tasks with args -->
 47		<MARK_PREVIOUS TYPE="FUNCTION" EXCLUDE_MATCH="TRUE">(</MARK_PREVIOUS>
 48
 49		<!-- Operators -->
 50		<SEQ TYPE="OPERATOR">=</SEQ>
 51		<SEQ TYPE="OPERATOR">!</SEQ>
 52		<SEQ TYPE="OPERATOR">+</SEQ>
 53		<SEQ TYPE="OPERATOR">-</SEQ>
 54		<SEQ TYPE="OPERATOR">/</SEQ>
 55		<SEQ TYPE="OPERATOR">*</SEQ>
 56		<SEQ TYPE="OPERATOR">&gt;</SEQ>
 57		<SEQ TYPE="OPERATOR">&lt;</SEQ>
 58		<SEQ TYPE="OPERATOR">%</SEQ>
 59		<SEQ TYPE="OPERATOR">&amp;</SEQ>
 60		<SEQ TYPE="OPERATOR">|</SEQ>
 61		<SEQ TYPE="OPERATOR">^</SEQ>
 62		<SEQ TYPE="OPERATOR">~</SEQ>
 63		<SEQ TYPE="OPERATOR">}</SEQ>
 64		<SEQ TYPE="OPERATOR">{</SEQ>
 65
 66		<SEQ TYPE="NULL">,</SEQ>
 67		<SEQ TYPE="NULL">:</SEQ>
 68		<SEQ TYPE="NULL">;</SEQ>
 69		<SEQ TYPE="NULL">]</SEQ>
 70		<SEQ TYPE="NULL">[</SEQ>
 71		<SEQ TYPE="NULL">(</SEQ>
 72		<SEQ TYPE="NULL">)</SEQ>
 73		<SEQ TYPE="NULL">?</SEQ>
 74		<SEQ TYPE="NULL">#</SEQ>
 75		<SEQ TYPE="NULL">@</SEQ>
 76
 77		<KEYWORDS IGNORE_CASE="FALSE">
 78			<!-- Regular Keywords -->
 79			<KEYWORD1>always</KEYWORD1>
 80			<KEYWORD1>assign</KEYWORD1>
 81			<KEYWORD1>begin</KEYWORD1>
 82			<KEYWORD1>case</KEYWORD1>
 83			<KEYWORD1>casex</KEYWORD1>
 84			<KEYWORD1>casez</KEYWORD1>
 85			<KEYWORD1>default</KEYWORD1>
 86			<KEYWORD1>deassign</KEYWORD1>
 87			<KEYWORD1>disable</KEYWORD1>
 88			<KEYWORD1>else</KEYWORD1>
 89			<KEYWORD1>end</KEYWORD1>
 90			<KEYWORD1>endcase</KEYWORD1>
 91			<KEYWORD1>endfunction</KEYWORD1>
 92			<KEYWORD1>endgenerate</KEYWORD1>
 93			<KEYWORD1>endmodule</KEYWORD1>
 94			<KEYWORD1>endprimitive</KEYWORD1>
 95			<KEYWORD1>endspecify</KEYWORD1>
 96			<KEYWORD1>endtable</KEYWORD1>
 97			<KEYWORD1>endtask</KEYWORD1>
 98			<KEYWORD1>for</KEYWORD1>
 99			<KEYWORD1>force</KEYWORD1>
100			<KEYWORD1>forever</KEYWORD1>
101			<KEYWORD1>fork</KEYWORD1>
102			<KEYWORD1>function</KEYWORD1>
103			<KEYWORD1>generate</KEYWORD1>
104			<KEYWORD1>if</KEYWORD1>
105			<KEYWORD1>initial</KEYWORD1>
106			<KEYWORD1>join</KEYWORD1>
107			<KEYWORD1>macromodule</KEYWORD1>
108			<KEYWORD1>module</KEYWORD1>
109			<KEYWORD1>negedge</KEYWORD1>
110			<KEYWORD1>posedge</KEYWORD1>
111			<KEYWORD1>primitive</KEYWORD1>
112			<KEYWORD1>repeat</KEYWORD1>
113			<KEYWORD1>release</KEYWORD1>
114			<KEYWORD1>specify</KEYWORD1>
115			<KEYWORD1>table</KEYWORD1>
116			<KEYWORD1>task</KEYWORD1>
117			<KEYWORD1>wait</KEYWORD1>
118			<KEYWORD1>while</KEYWORD1>
119
120			<!-- Compiler Directives -->
121			<KEYWORD2>`include</KEYWORD2>
122			<KEYWORD2>`define</KEYWORD2>
123			<KEYWORD2>`undef</KEYWORD2>
124			<KEYWORD2>`ifdef</KEYWORD2>
125			<KEYWORD2>`ifndef</KEYWORD2>
126			<KEYWORD2>`else</KEYWORD2>
127			<KEYWORD2>`endif</KEYWORD2>
128			<KEYWORD2>`timescale</KEYWORD2>
129			<KEYWORD2>`resetall</KEYWORD2>
130			<KEYWORD2>`signed</KEYWORD2>
131			<KEYWORD2>`unsigned</KEYWORD2>
132			<KEYWORD2>`celldefine</KEYWORD2>
133			<KEYWORD2>`endcelldefine</KEYWORD2>
134			<KEYWORD2>`default_nettype</KEYWORD2>
135			<KEYWORD2>`unconnected_drive</KEYWORD2>
136			<KEYWORD2>`nounconnected_drive</KEYWORD2>
137			<KEYWORD2>`protect</KEYWORD2>
138			<KEYWORD2>`endprotect</KEYWORD2>
139			<KEYWORD2>`protected</KEYWORD2>
140			<KEYWORD2>`endprotected</KEYWORD2>
141			<KEYWORD2>`remove_gatename</KEYWORD2>
142			<KEYWORD2>`noremove_gatename</KEYWORD2>
143			<KEYWORD2>`remove_netname</KEYWORD2>
144			<KEYWORD2>`noremove_netname</KEYWORD2>
145			<KEYWORD2>`expand_vectornets</KEYWORD2>
146			<KEYWORD2>`noexpand_vectornets</KEYWORD2>
147			<KEYWORD2>`autoexpand_vectornets</KEYWORD2>
148
149			<!-- Type Declaration Keywords -->
150			<KEYWORD3>integer</KEYWORD3>
151			<KEYWORD3>reg</KEYWORD3>
152			<KEYWORD3>time</KEYWORD3>
153			<KEYWORD3>realtime</KEYWORD3>
154			<KEYWORD3>defparam</KEYWORD3>
155			<KEYWORD3>parameter</KEYWORD3>
156			<KEYWORD3>event</KEYWORD3>
157			<KEYWORD3>wire</KEYWORD3>
158			<KEYWORD3>wand</KEYWORD3>
159			<KEYWORD3>wor</KEYWORD3>
160			<KEYWORD3>tri</KEYWORD3>
161			<KEYWORD3>triand</KEYWORD3>
162			<KEYWORD3>trior</KEYWORD3>
163			<KEYWORD3>tri0</KEYWORD3>
164			<KEYWORD3>tri1</KEYWORD3>
165			<KEYWORD3>trireg</KEYWORD3>
166			<KEYWORD3>vectored</KEYWORD3>
167			<KEYWORD3>scalared</KEYWORD3>
168			<KEYWORD3>input</KEYWORD3>
169			<KEYWORD3>output</KEYWORD3>
170			<KEYWORD3>inout</KEYWORD3>
171
172			<!-- Signal Strengths -->
173			<KEYWORD3>supply0</KEYWORD3>
174			<KEYWORD3>supply1</KEYWORD3>
175			<KEYWORD3>strong0</KEYWORD3>
176			<KEYWORD3>strong1</KEYWORD3>
177			<KEYWORD3>pull0</KEYWORD3>
178			<KEYWORD3>pull1</KEYWORD3>
179			<KEYWORD3>weak0</KEYWORD3>
180			<KEYWORD3>weak1</KEYWORD3>
181			<KEYWORD3>highz0</KEYWORD3>
182			<KEYWORD3>highz1</KEYWORD3>
183			<KEYWORD3>small</KEYWORD3>
184			<KEYWORD3>medium</KEYWORD3>
185			<KEYWORD3>large</KEYWORD3>
186
187			<!-- System Tasks With No/Optional Arguments -->
188			<FUNCTION>$stop</FUNCTION>
189			<FUNCTION>$finish</FUNCTION>
190			<FUNCTION>$time</FUNCTION>
191			<FUNCTION>$stime</FUNCTION>
192			<FUNCTION>$realtime</FUNCTION>
193			<FUNCTION>$settrace</FUNCTION>
194			<FUNCTION>$cleartrace</FUNCTION>
195			<FUNCTION>$showscopes</FUNCTION>
196			<FUNCTION>$showvars</FUNCTION>
197			<FUNCTION>$monitoron</FUNCTION>
198			<FUNCTION>$monitoroff</FUNCTION>
199			<FUNCTION>$random</FUNCTION>
200			<FUNCTION>$printtimescale</FUNCTION>
201			<FUNCTION>$timeformat</FUNCTION>
202
203			<!-- Built-in primitives -->
204			<FUNCTION>and</FUNCTION>
205			<FUNCTION>nand</FUNCTION>
206			<FUNCTION>or</FUNCTION>
207			<FUNCTION>nor</FUNCTION>
208			<FUNCTION>xor</FUNCTION>
209			<FUNCTION>xnor</FUNCTION>
210			<FUNCTION>buf</FUNCTION>
211			<FUNCTION>bufif0</FUNCTION>
212			<FUNCTION>bufif1</FUNCTION>
213			<FUNCTION>not</FUNCTION>
214			<FUNCTION>notif0</FUNCTION>
215			<FUNCTION>notif1</FUNCTION>
216			<FUNCTION>nmos</FUNCTION>
217			<FUNCTION>pmos</FUNCTION>
218			<FUNCTION>cmos</FUNCTION>
219			<FUNCTION>rnmos</FUNCTION>
220			<FUNCTION>rpmos</FUNCTION>
221			<FUNCTION>rcmos</FUNCTION>
222			<FUNCTION>tran</FUNCTION>
223			<FUNCTION>tranif0</FUNCTION>
224			<FUNCTION>tranif1</FUNCTION>
225			<FUNCTION>rtran</FUNCTION>
226			<FUNCTION>rtranif0</FUNCTION>
227			<FUNCTION>rtranif1</FUNCTION>
228			<FUNCTION>pullup</FUNCTION>
229			<FUNCTION>pulldown</FUNCTION>
230		</KEYWORDS>
231	</RULES>
232</MODE>
233