/jEdit/tags/jedit-4-2-pre4/modes/verilog.xml
XML | 218 lines | 208 code | 4 blank | 6 comment | 0 complexity | 9b490200158c902b98bd82dd2db0dc03 MD5 | raw file
Possible License(s): BSD-3-Clause, AGPL-1.0, Apache-2.0, LGPL-2.0, LGPL-3.0, GPL-2.0, CC-BY-SA-3.0, LGPL-2.1, GPL-3.0, MPL-2.0-no-copyleft-exception, IPL-1.0
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="indentNextLines" VALUE="(.*:\s*)|(\s*(begin|fork|task|table|specify|primitive|module|generate|function|case[xz]?)\>.*)|(\s*(always|if|else|for|forever|initial|repeat|while)\>[^;]*)" />
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=",+-=<>/?^&*" />
21 </PROPS>
22 <RULES ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE"
23 DIGIT_RE="([[:digit:]]|_)+" NO_WORD_SEP="'">
24 <!-- Comments -->
25 <SPAN TYPE="COMMENT1">
26 <BEGIN>/*</BEGIN>
27 <END>*/</END>
28 </SPAN>
29 <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>
30
31 <!--String Literals -->
32 <SPAN TYPE="LITERAL1" NO_LINE_BREAK="FALSE">
33 <BEGIN>"</BEGIN>
34 <END>"</END>
35 </SPAN>
36
37 <SEQ TYPE="DIGIT">'d</SEQ>
38 <SEQ TYPE="DIGIT">'h</SEQ>
39 <SEQ TYPE="DIGIT">'b</SEQ>
40 <SEQ TYPE="DIGIT">'o</SEQ>
41
42 <!-- Function calls, module instantiation, system tasks with args -->
43 <MARK_PREVIOUS TYPE="FUNCTION" EXCLUDE_MATCH="TRUE">(</MARK_PREVIOUS>
44
45 <!-- Operators -->
46 <SEQ TYPE="OPERATOR">=</SEQ>
47 <SEQ TYPE="OPERATOR">!</SEQ>
48 <SEQ TYPE="OPERATOR">+</SEQ>
49 <SEQ TYPE="OPERATOR">-</SEQ>
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">|</SEQ>
57 <SEQ TYPE="OPERATOR">^</SEQ>
58 <SEQ TYPE="OPERATOR">~</SEQ>
59 <SEQ TYPE="OPERATOR">}</SEQ>
60 <SEQ TYPE="OPERATOR">{</SEQ>
61
62 <KEYWORDS>
63 <!-- Regular Keywords -->
64 <KEYWORD1>always</KEYWORD1>
65 <KEYWORD1>assign</KEYWORD1>
66 <KEYWORD1>begin</KEYWORD1>
67 <KEYWORD1>case</KEYWORD1>
68 <KEYWORD1>casex</KEYWORD1>
69 <KEYWORD1>casez</KEYWORD1>
70 <KEYWORD1>default</KEYWORD1>
71 <KEYWORD1>deassign</KEYWORD1>
72 <KEYWORD1>disable</KEYWORD1>
73 <KEYWORD1>else</KEYWORD1>
74 <KEYWORD1>end</KEYWORD1>
75 <KEYWORD1>endcase</KEYWORD1>
76 <KEYWORD1>endfunction</KEYWORD1>
77 <KEYWORD1>endgenerate</KEYWORD1>
78 <KEYWORD1>endmodule</KEYWORD1>
79 <KEYWORD1>endprimitive</KEYWORD1>
80 <KEYWORD1>endspecify</KEYWORD1>
81 <KEYWORD1>endtable</KEYWORD1>
82 <KEYWORD1>endtask</KEYWORD1>
83 <KEYWORD1>for</KEYWORD1>
84 <KEYWORD1>force</KEYWORD1>
85 <KEYWORD1>forever</KEYWORD1>
86 <KEYWORD1>fork</KEYWORD1>
87 <KEYWORD1>function</KEYWORD1>
88 <KEYWORD1>generate</KEYWORD1>
89 <KEYWORD1>if</KEYWORD1>
90 <KEYWORD1>initial</KEYWORD1>
91 <KEYWORD1>join</KEYWORD1>
92 <KEYWORD1>macromodule</KEYWORD1>
93 <KEYWORD1>module</KEYWORD1>
94 <KEYWORD1>negedge</KEYWORD1>
95 <KEYWORD1>posedge</KEYWORD1>
96 <KEYWORD1>primitive</KEYWORD1>
97 <KEYWORD1>repeat</KEYWORD1>
98 <KEYWORD1>release</KEYWORD1>
99 <KEYWORD1>specify</KEYWORD1>
100 <KEYWORD1>table</KEYWORD1>
101 <KEYWORD1>task</KEYWORD1>
102 <KEYWORD1>wait</KEYWORD1>
103 <KEYWORD1>while</KEYWORD1>
104
105 <!-- Compiler Directives -->
106 <KEYWORD2>`include</KEYWORD2>
107 <KEYWORD2>`define</KEYWORD2>
108 <KEYWORD2>`undef</KEYWORD2>
109 <KEYWORD2>`ifdef</KEYWORD2>
110 <KEYWORD2>`ifndef</KEYWORD2>
111 <KEYWORD2>`else</KEYWORD2>
112 <KEYWORD2>`endif</KEYWORD2>
113 <KEYWORD2>`timescale</KEYWORD2>
114 <KEYWORD2>`resetall</KEYWORD2>
115 <KEYWORD2>`signed</KEYWORD2>
116 <KEYWORD2>`unsigned</KEYWORD2>
117 <KEYWORD2>`celldefine</KEYWORD2>
118 <KEYWORD2>`endcelldefine</KEYWORD2>
119 <KEYWORD2>`default_nettype</KEYWORD2>
120 <KEYWORD2>`unconnected_drive</KEYWORD2>
121 <KEYWORD2>`nounconnected_drive</KEYWORD2>
122 <KEYWORD2>`protect</KEYWORD2>
123 <KEYWORD2>`endprotect</KEYWORD2>
124 <KEYWORD2>`protected</KEYWORD2>
125 <KEYWORD2>`endprotected</KEYWORD2>
126 <KEYWORD2>`remove_gatename</KEYWORD2>
127 <KEYWORD2>`noremove_gatename</KEYWORD2>
128 <KEYWORD2>`remove_netname</KEYWORD2>
129 <KEYWORD2>`noremove_netname</KEYWORD2>
130 <KEYWORD2>`expand_vectornets</KEYWORD2>
131 <KEYWORD2>`noexpand_vectornets</KEYWORD2>
132 <KEYWORD2>`autoexpand_vectornets</KEYWORD2>
133
134 <!-- Type Declaration Keywords -->
135 <KEYWORD3>integer</KEYWORD3>
136 <KEYWORD3>reg</KEYWORD3>
137 <KEYWORD3>time</KEYWORD3>
138 <KEYWORD3>realtime</KEYWORD3>
139 <KEYWORD3>defparam</KEYWORD3>
140 <KEYWORD3>parameter</KEYWORD3>
141 <KEYWORD3>event</KEYWORD3>
142 <KEYWORD3>wire</KEYWORD3>
143 <KEYWORD3>wand</KEYWORD3>
144 <KEYWORD3>wor</KEYWORD3>
145 <KEYWORD3>tri</KEYWORD3>
146 <KEYWORD3>triand</KEYWORD3>
147 <KEYWORD3>trior</KEYWORD3>
148 <KEYWORD3>tri0</KEYWORD3>
149 <KEYWORD3>tri1</KEYWORD3>
150 <KEYWORD3>trireg</KEYWORD3>
151 <KEYWORD3>vectored</KEYWORD3>
152 <KEYWORD3>scalared</KEYWORD3>
153 <KEYWORD3>input</KEYWORD3>
154 <KEYWORD3>output</KEYWORD3>
155 <KEYWORD3>inout</KEYWORD3>
156
157 <!-- Signal Strengths -->
158 <KEYWORD3>supply0</KEYWORD3>
159 <KEYWORD3>supply1</KEYWORD3>
160 <KEYWORD3>strong0</KEYWORD3>
161 <KEYWORD3>strong1</KEYWORD3>
162 <KEYWORD3>pull0</KEYWORD3>
163 <KEYWORD3>pull1</KEYWORD3>
164 <KEYWORD3>weak0</KEYWORD3>
165 <KEYWORD3>weak1</KEYWORD3>
166 <KEYWORD3>highz0</KEYWORD3>
167 <KEYWORD3>highz1</KEYWORD3>
168 <KEYWORD3>small</KEYWORD3>
169 <KEYWORD3>medium</KEYWORD3>
170 <KEYWORD3>large</KEYWORD3>
171
172 <!-- System Tasks With No/Optional Arguments -->
173 <FUNCTION>$stop</FUNCTION>
174 <FUNCTION>$finish</FUNCTION>
175 <FUNCTION>$time</FUNCTION>
176 <FUNCTION>$stime</FUNCTION>
177 <FUNCTION>$realtime</FUNCTION>
178 <FUNCTION>$settrace</FUNCTION>
179 <FUNCTION>$cleartrace</FUNCTION>
180 <FUNCTION>$showscopes</FUNCTION>
181 <FUNCTION>$showvars</FUNCTION>
182 <FUNCTION>$monitoron</FUNCTION>
183 <FUNCTION>$monitoroff</FUNCTION>
184 <FUNCTION>$random</FUNCTION>
185 <FUNCTION>$printtimescale</FUNCTION>
186 <FUNCTION>$timeformat</FUNCTION>
187
188 <!-- Built-in primitives -->
189 <FUNCTION>and</FUNCTION>
190 <FUNCTION>nand</FUNCTION>
191 <FUNCTION>or</FUNCTION>
192 <FUNCTION>nor</FUNCTION>
193 <FUNCTION>xor</FUNCTION>
194 <FUNCTION>xnor</FUNCTION>
195 <FUNCTION>buf</FUNCTION>
196 <FUNCTION>bufif0</FUNCTION>
197 <FUNCTION>bufif1</FUNCTION>
198 <FUNCTION>not</FUNCTION>
199 <FUNCTION>notif0</FUNCTION>
200 <FUNCTION>notif1</FUNCTION>
201 <FUNCTION>nmos</FUNCTION>
202 <FUNCTION>pmos</FUNCTION>
203 <FUNCTION>cmos</FUNCTION>
204 <FUNCTION>rnmos</FUNCTION>
205 <FUNCTION>rpmos</FUNCTION>
206 <FUNCTION>rcmos</FUNCTION>
207 <FUNCTION>tran</FUNCTION>
208 <FUNCTION>tranif0</FUNCTION>
209 <FUNCTION>tranif1</FUNCTION>
210 <FUNCTION>rtran</FUNCTION>
211 <FUNCTION>rtranif0</FUNCTION>
212 <FUNCTION>rtranif1</FUNCTION>
213 <FUNCTION>pullup</FUNCTION>
214 <FUNCTION>pulldown</FUNCTION>
215 </KEYWORDS>
216 </RULES>
217</MODE>
218