Skip to content

Commit 8ee2396

Browse files
authored
Merge pull request #2673 from idodeclare/feature/verilog
Feature/verilog
2 parents 36334d3 + 90bc53b commit 8ee2396

File tree

19 files changed

+1645
-19
lines changed

19 files changed

+1645
-19
lines changed

opengrok-indexer/src/main/java/org/opengrok/indexer/analysis/AnalyzerGuru.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919

2020
/*
2121
* Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
22-
* Portions Copyright (c) 2017-2018, Chris Fraire <cfraire@me.com>.
22+
* Portions Copyright (c) 2017-2019, Chris Fraire <cfraire@me.com>.
2323
*/
2424
package org.opengrok.indexer.analysis;
2525

@@ -102,6 +102,7 @@
102102
import org.opengrok.indexer.analysis.tcl.TclAnalyzerFactory;
103103
import org.opengrok.indexer.analysis.uue.UuencodeAnalyzerFactory;
104104
import org.opengrok.indexer.analysis.vb.VBAnalyzerFactory;
105+
import org.opengrok.indexer.analysis.verilog.VerilogAnalyzerFactory;
105106
import org.opengrok.indexer.configuration.Project;
106107
import org.opengrok.indexer.configuration.RuntimeEnvironment;
107108
import org.opengrok.indexer.history.Annotation;
@@ -293,7 +294,8 @@ public class AnalyzerGuru {
293294
new PascalAnalyzerFactory(),
294295
new AdaAnalyzerFactory(),
295296
new RubyAnalyzerFactory(),
296-
new EiffelAnalyzerFactory()
297+
new EiffelAnalyzerFactory(),
298+
new VerilogAnalyzerFactory()
297299
};
298300

299301
for (AnalyzerFactory analyzer : analyzers) {
Lines changed: 330 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,330 @@
1+
/*
2+
* CDDL HEADER START
3+
*
4+
* The contents of this file are subject to the terms of the
5+
* Common Development and Distribution License (the "License").
6+
* You may not use this file except in compliance with the License.
7+
*
8+
* See LICENSE.txt included in this distribution for the specific
9+
* language governing permissions and limitations under the License.
10+
*
11+
* When distributing Covered Code, include this CDDL HEADER in each
12+
* file and include the License file at LICENSE.txt.
13+
* If applicable, add the following below this CDDL HEADER, with the
14+
* fields enclosed by brackets "[]" replaced with your own identifying
15+
* information: Portions Copyright [yyyy] [name of copyright owner]
16+
*
17+
* CDDL HEADER END
18+
*/
19+
20+
/*
21+
* Copyright (c) 2019, Chris Fraire <cfraire@me.com>.
22+
*/
23+
24+
package org.opengrok.indexer.analysis.verilog;
25+
26+
import java.util.HashSet;
27+
import java.util.Set;
28+
29+
/**
30+
* Represents a container for a set of SystemVerilog keywords.
31+
*/
32+
public class Consts {
33+
34+
public static final Set<String> kwd = new HashSet<>();
35+
36+
static {
37+
kwd.add("accept_on"); // IEEE 1800-2017
38+
kwd.add("alias"); // IEEE 1800-2017
39+
kwd.add("always"); // IEEE 1800-2017
40+
kwd.add("always_comb"); // IEEE 1800-2017
41+
kwd.add("always_ff"); // IEEE 1800-2017
42+
kwd.add("always_latch"); // IEEE 1800-2017
43+
kwd.add("and"); // IEEE 1800-2017
44+
kwd.add("assert"); // IEEE 1800-2017
45+
kwd.add("assign"); // IEEE 1800-2017
46+
kwd.add("assume"); // IEEE 1800-2017
47+
kwd.add("automatic"); // IEEE 1800-2017
48+
kwd.add("before"); // IEEE 1800-2017
49+
kwd.add("begin"); // IEEE 1800-2017
50+
kwd.add("bind"); // IEEE 1800-2017
51+
kwd.add("bins"); // IEEE 1800-2017
52+
kwd.add("binsof"); // IEEE 1800-2017
53+
kwd.add("bit"); // IEEE 1800-2017
54+
kwd.add("break"); // IEEE 1800-2017
55+
kwd.add("buf"); // IEEE 1800-2017
56+
kwd.add("bufif0"); // IEEE 1800-2017
57+
kwd.add("bufif1"); // IEEE 1800-2017
58+
kwd.add("byte"); // IEEE 1800-2017
59+
kwd.add("case"); // IEEE 1800-2017
60+
kwd.add("casex"); // IEEE 1800-2017
61+
kwd.add("casez"); // IEEE 1800-2017
62+
kwd.add("cell"); // IEEE 1800-2017
63+
kwd.add("chandle"); // IEEE 1800-2017
64+
kwd.add("checker"); // IEEE 1800-2017
65+
kwd.add("class"); // IEEE 1800-2017
66+
kwd.add("clocking"); // IEEE 1800-2017
67+
kwd.add("cmos"); // IEEE 1800-2017
68+
kwd.add("config"); // IEEE 1800-2017
69+
kwd.add("const"); // IEEE 1800-2017
70+
kwd.add("constraint"); // IEEE 1800-2017
71+
kwd.add("context"); // IEEE 1800-2017
72+
kwd.add("continue"); // IEEE 1800-2017
73+
kwd.add("cover"); // IEEE 1800-2017
74+
kwd.add("covergroup"); // IEEE 1800-2017
75+
kwd.add("coverpoint"); // IEEE 1800-2017
76+
kwd.add("cross"); // IEEE 1800-2017
77+
kwd.add("deassign"); // IEEE 1800-2017
78+
kwd.add("default"); // IEEE 1800-2017
79+
kwd.add("defparam"); // IEEE 1800-2017
80+
kwd.add("design"); // IEEE 1800-2017
81+
kwd.add("disable"); // IEEE 1800-2017
82+
kwd.add("dist"); // IEEE 1800-2017
83+
kwd.add("do"); // IEEE 1800-2017
84+
kwd.add("edge"); // IEEE 1800-2017
85+
kwd.add("else"); // IEEE 1800-2017
86+
kwd.add("end"); // IEEE 1800-2017
87+
kwd.add("endcase"); // IEEE 1800-2017
88+
kwd.add("endchecker"); // IEEE 1800-2017
89+
kwd.add("endclass"); // IEEE 1800-2017
90+
kwd.add("endclocking"); // IEEE 1800-2017
91+
kwd.add("endconfig"); // IEEE 1800-2017
92+
kwd.add("endfunction"); // IEEE 1800-2017
93+
kwd.add("endgenerate"); // IEEE 1800-2017
94+
kwd.add("endgroup"); // IEEE 1800-2017
95+
kwd.add("endinterface"); // IEEE 1800-2017
96+
kwd.add("endmodule"); // IEEE 1800-2017
97+
kwd.add("endpackage"); // IEEE 1800-2017
98+
kwd.add("endprimitive"); // IEEE 1800-2017
99+
kwd.add("endprogram"); // IEEE 1800-2017
100+
kwd.add("endproperty"); // IEEE 1800-2017
101+
kwd.add("endspecify"); // IEEE 1800-2017
102+
kwd.add("endsequence"); // IEEE 1800-2017
103+
kwd.add("endtable"); // IEEE 1800-2017
104+
kwd.add("endtask"); // IEEE 1800-2017
105+
kwd.add("enum"); // IEEE 1800-2017
106+
kwd.add("event"); // IEEE 1800-2017
107+
kwd.add("eventually"); // IEEE 1800-2017
108+
kwd.add("expect"); // IEEE 1800-2017
109+
kwd.add("export"); // IEEE 1800-2017
110+
kwd.add("extends"); // IEEE 1800-2017
111+
kwd.add("extern"); // IEEE 1800-2017
112+
kwd.add("final"); // IEEE 1800-2017
113+
kwd.add("first_match"); // IEEE 1800-2017
114+
kwd.add("for"); // IEEE 1800-2017
115+
kwd.add("force"); // IEEE 1800-2017
116+
kwd.add("foreach"); // IEEE 1800-2017
117+
kwd.add("forever"); // IEEE 1800-2017
118+
kwd.add("fork"); // IEEE 1800-2017
119+
kwd.add("forkjoin"); // IEEE 1800-2017
120+
kwd.add("function"); // IEEE 1800-2017
121+
kwd.add("generate"); // IEEE 1800-2017
122+
kwd.add("genvar"); // IEEE 1800-2017
123+
kwd.add("global"); // IEEE 1800-2017
124+
kwd.add("highz0"); // IEEE 1800-2017
125+
kwd.add("highz1"); // IEEE 1800-2017
126+
kwd.add("if"); // IEEE 1800-2017
127+
kwd.add("iff"); // IEEE 1800-2017
128+
kwd.add("ifnone"); // IEEE 1800-2017
129+
kwd.add("ignore_bins"); // IEEE 1800-2017
130+
kwd.add("illegal_bins"); // IEEE 1800-2017
131+
kwd.add("implements"); // IEEE 1800-2017
132+
kwd.add("implies"); // IEEE 1800-2017
133+
kwd.add("import"); // IEEE 1800-2017
134+
kwd.add("incdir"); // IEEE 1800-2017
135+
kwd.add("include"); // IEEE 1800-2017
136+
kwd.add("initial"); // IEEE 1800-2017
137+
kwd.add("inout"); // IEEE 1800-2017
138+
kwd.add("input"); // IEEE 1800-2017
139+
kwd.add("inside"); // IEEE 1800-2017
140+
kwd.add("instance"); // IEEE 1800-2017
141+
kwd.add("int"); // IEEE 1800-2017
142+
kwd.add("integer"); // IEEE 1800-2017
143+
kwd.add("interconnect"); // IEEE 1800-2017
144+
kwd.add("interface"); // IEEE 1800-2017
145+
kwd.add("intersect"); // IEEE 1800-2017
146+
kwd.add("join"); // IEEE 1800-2017
147+
kwd.add("join_any"); // IEEE 1800-2017
148+
kwd.add("join_none"); // IEEE 1800-2017
149+
kwd.add("large"); // IEEE 1800-2017
150+
kwd.add("let"); // IEEE 1800-2017
151+
kwd.add("liblist"); // IEEE 1800-2017
152+
kwd.add("library"); // IEEE 1800-2017
153+
kwd.add("local"); // IEEE 1800-2017
154+
kwd.add("localparam"); // IEEE 1800-2017
155+
kwd.add("logic"); // IEEE 1800-2017
156+
kwd.add("longint"); // IEEE 1800-2017
157+
kwd.add("macromodule"); // IEEE 1800-2017
158+
kwd.add("matches"); // IEEE 1800-2017
159+
kwd.add("medium"); // IEEE 1800-2017
160+
kwd.add("modport"); // IEEE 1800-2017
161+
kwd.add("module"); // IEEE 1800-2017
162+
kwd.add("nand"); // IEEE 1800-2017
163+
kwd.add("negedge"); // IEEE 1800-2017
164+
kwd.add("nettype"); // IEEE 1800-2017
165+
kwd.add("new"); // IEEE 1800-2017
166+
kwd.add("nexttime"); // IEEE 1800-2017
167+
kwd.add("nmos"); // IEEE 1800-2017
168+
kwd.add("nor"); // IEEE 1800-2017
169+
kwd.add("noshowcancelled"); // IEEE 1800-2017
170+
kwd.add("not"); // IEEE 1800-2017
171+
kwd.add("notif0"); // IEEE 1800-2017
172+
kwd.add("notif1"); // IEEE 1800-2017
173+
kwd.add("null"); // IEEE 1800-2017
174+
kwd.add("or"); // IEEE 1800-2017
175+
kwd.add("output"); // IEEE 1800-2017
176+
kwd.add("package"); // IEEE 1800-2017
177+
kwd.add("packed"); // IEEE 1800-2017
178+
kwd.add("parameter"); // IEEE 1800-2017
179+
kwd.add("pmos"); // IEEE 1800-2017
180+
kwd.add("posedge"); // IEEE 1800-2017
181+
kwd.add("primitive"); // IEEE 1800-2017
182+
kwd.add("priority"); // IEEE 1800-2017
183+
kwd.add("program"); // IEEE 1800-2017
184+
kwd.add("property"); // IEEE 1800-2017
185+
kwd.add("protected"); // IEEE 1800-2017
186+
kwd.add("pull0"); // IEEE 1800-2017
187+
kwd.add("pull1"); // IEEE 1800-2017
188+
kwd.add("pulldown"); // IEEE 1800-2017
189+
kwd.add("pullup"); // IEEE 1800-2017
190+
kwd.add("pulsestyle_ondetect"); // IEEE 1800-2017
191+
kwd.add("pulsestyle_onevent"); // IEEE 1800-2017
192+
kwd.add("pure"); // IEEE 1800-2017
193+
kwd.add("rand"); // IEEE 1800-2017
194+
kwd.add("randc"); // IEEE 1800-2017
195+
kwd.add("randcase"); // IEEE 1800-2017
196+
kwd.add("randsequence"); // IEEE 1800-2017
197+
kwd.add("rcmos"); // IEEE 1800-2017
198+
kwd.add("real"); // IEEE 1800-2017
199+
kwd.add("realtime"); // IEEE 1800-2017
200+
kwd.add("ref"); // IEEE 1800-2017
201+
kwd.add("reg"); // IEEE 1800-2017
202+
kwd.add("reject_on"); // IEEE 1800-2017
203+
kwd.add("release"); // IEEE 1800-2017
204+
kwd.add("repeat"); // IEEE 1800-2017
205+
kwd.add("restrict"); // IEEE 1800-2017
206+
kwd.add("return"); // IEEE 1800-2017
207+
kwd.add("rnmos"); // IEEE 1800-2017
208+
kwd.add("rpmos"); // IEEE 1800-2017
209+
kwd.add("rtran"); // IEEE 1800-2017
210+
kwd.add("rtranif0"); // IEEE 1800-2017
211+
kwd.add("rtranif1"); // IEEE 1800-2017
212+
kwd.add("s_always"); // IEEE 1800-2017
213+
kwd.add("s_eventually"); // IEEE 1800-2017
214+
kwd.add("s_nexttime"); // IEEE 1800-2017
215+
kwd.add("s_until"); // IEEE 1800-2017
216+
kwd.add("s_until_with"); // IEEE 1800-2017
217+
kwd.add("scalared"); // IEEE 1800-2017
218+
kwd.add("sequence"); // IEEE 1800-2017
219+
kwd.add("shortint"); // IEEE 1800-2017
220+
kwd.add("shortreal"); // IEEE 1800-2017
221+
kwd.add("showcancelled"); // IEEE 1800-2017
222+
kwd.add("signed"); // IEEE 1800-2017
223+
kwd.add("small"); // IEEE 1800-2017
224+
kwd.add("soft"); // IEEE 1800-2017
225+
kwd.add("solve"); // IEEE 1800-2017
226+
kwd.add("specify"); // IEEE 1800-2017
227+
kwd.add("specparam"); // IEEE 1800-2017
228+
kwd.add("static"); // IEEE 1800-2017
229+
kwd.add("string"); // IEEE 1800-2017
230+
kwd.add("strong"); // IEEE 1800-2017
231+
kwd.add("strong0"); // IEEE 1800-2017
232+
kwd.add("strong1"); // IEEE 1800-2017
233+
kwd.add("struct"); // IEEE 1800-2017
234+
kwd.add("super"); // IEEE 1800-2017
235+
kwd.add("supply0"); // IEEE 1800-2017
236+
kwd.add("supply1"); // IEEE 1800-2017
237+
kwd.add("sync_accept_on"); // IEEE 1800-2017
238+
kwd.add("sync_reject_on"); // IEEE 1800-2017
239+
kwd.add("table"); // IEEE 1800-2017
240+
kwd.add("tagged"); // IEEE 1800-2017
241+
kwd.add("task"); // IEEE 1800-2017
242+
kwd.add("this"); // IEEE 1800-2017
243+
kwd.add("throughout"); // IEEE 1800-2017
244+
kwd.add("time"); // IEEE 1800-2017
245+
kwd.add("timeprecision"); // IEEE 1800-2017
246+
kwd.add("timeunit"); // IEEE 1800-2017
247+
kwd.add("tran"); // IEEE 1800-2017
248+
kwd.add("tranif0"); // IEEE 1800-2017
249+
kwd.add("tranif1"); // IEEE 1800-2017
250+
kwd.add("tri"); // IEEE 1800-2017
251+
kwd.add("tri0"); // IEEE 1800-2017
252+
kwd.add("tri1"); // IEEE 1800-2017
253+
kwd.add("triand"); // IEEE 1800-2017
254+
kwd.add("trior"); // IEEE 1800-2017
255+
kwd.add("trireg"); // IEEE 1800-2017
256+
kwd.add("type"); // IEEE 1800-2017
257+
kwd.add("typedef"); // IEEE 1800-2017
258+
kwd.add("union"); // IEEE 1800-2017
259+
kwd.add("unique"); // IEEE 1800-2017
260+
kwd.add("unique0"); // IEEE 1800-2017
261+
kwd.add("unsigned"); // IEEE 1800-2017
262+
kwd.add("until"); // IEEE 1800-2017
263+
kwd.add("until_with"); // IEEE 1800-2017
264+
kwd.add("untyped"); // IEEE 1800-2017
265+
kwd.add("use"); // IEEE 1800-2017
266+
kwd.add("uwire"); // IEEE 1800-2017
267+
kwd.add("var"); // IEEE 1800-2017
268+
kwd.add("vectored"); // IEEE 1800-2017
269+
kwd.add("virtual"); // IEEE 1800-2017
270+
kwd.add("void"); // IEEE 1800-2017
271+
kwd.add("wait"); // IEEE 1800-2017
272+
kwd.add("wait_order"); // IEEE 1800-2017
273+
kwd.add("wand"); // IEEE 1800-2017
274+
kwd.add("weak"); // IEEE 1800-2017
275+
kwd.add("weak0"); // IEEE 1800-2017
276+
kwd.add("weak1"); // IEEE 1800-2017
277+
kwd.add("while"); // IEEE 1800-2017
278+
kwd.add("wildcard"); // IEEE 1800-2017
279+
kwd.add("wire"); // IEEE 1800-2017
280+
kwd.add("with"); // IEEE 1800-2017
281+
kwd.add("within"); // IEEE 1800-2017
282+
kwd.add("wor"); // IEEE 1800-2017
283+
kwd.add("xnor"); // IEEE 1800-2017
284+
kwd.add("xor"); // IEEE 1800-2017
285+
kwd.add("`__FILE__"); // IEEE 1800-2017
286+
kwd.add("`__LINE__"); // IEEE 1800-2017
287+
kwd.add("`begin_keywords"); // IEEE 1800-2017
288+
kwd.add("`celldefine"); // IEEE 1800-2017
289+
kwd.add("`default_decay_time"); // IEEE 1800-2017
290+
kwd.add("`default_nettype"); // IEEE 1800-2017
291+
kwd.add("`default_trireg_strength"); // IEEE 1800-2017
292+
kwd.add("`define"); // IEEE 1800-2017
293+
kwd.add("`delay_mode_distributed"); // IEEE 1800-2017
294+
kwd.add("`delay_mode_path"); // IEEE 1800-2017
295+
kwd.add("`delay_mode_unit"); // IEEE 1800-2017
296+
kwd.add("`delay_mode_zero"); // IEEE 1800-2017
297+
kwd.add("`else"); // IEEE 1800-2017
298+
kwd.add("`elsif"); // IEEE 1800-2017
299+
kwd.add("`end_keywords"); // IEEE 1800-2017
300+
kwd.add("`endcelldefine"); // IEEE 1800-2017
301+
kwd.add("`endif"); // IEEE 1800-2017
302+
kwd.add("`ifdef"); // IEEE 1800-2017
303+
kwd.add("`ifndef"); // IEEE 1800-2017
304+
kwd.add("`include"); // IEEE 1800-2017
305+
kwd.add("`line"); // IEEE 1800-2017
306+
kwd.add("`nounconnected_drive"); // IEEE 1800-2017
307+
kwd.add("`pragma"); // IEEE 1800-2017
308+
kwd.add("`resetall"); // IEEE 1800-2017
309+
kwd.add("`timescale"); // IEEE 1800-2017
310+
kwd.add("`unconnected_drive"); // IEEE 1800-2017
311+
kwd.add("`undef"); // IEEE 1800-2017
312+
kwd.add("`undefineall"); // IEEE 1800-2017
313+
// kwd.add("$setup"); // IEEE 1800-2017
314+
// kwd.add("$fullskew"); // IEEE 1800-2017
315+
// kwd.add("$hold"); // IEEE 1800-2017
316+
// kwd.add("$nochange"); // IEEE 1800-2017
317+
// kwd.add("$period"); // IEEE 1800-2017
318+
// kwd.add("$recovery"); // IEEE 1800-2017
319+
// kwd.add("$recrem"); // IEEE 1800-2017
320+
// kwd.add("$removal"); // IEEE 1800-2017
321+
// kwd.add("$setuphold"); // IEEE 1800-2017
322+
// kwd.add("$skew"); // IEEE 1800-2017
323+
// kwd.add("$timeskew"); // IEEE 1800-2017
324+
// kwd.add("$width"); // IEEE 1800-2017
325+
}
326+
327+
/** private to enforce static */
328+
private Consts() {
329+
}
330+
}

0 commit comments

Comments
 (0)