sv_parser_parser/
keywords.rs

1pub(crate) const KEYWORDS_1364_1995: &[&str] = &[
2    "always",
3    "and",
4    "assign",
5    "begin",
6    "buf",
7    "bufif0",
8    "bufif1",
9    "case",
10    "casex",
11    "casez",
12    "cmos",
13    "deassign",
14    "default",
15    "defparam",
16    "disable",
17    "edge",
18    "else",
19    "end",
20    "endcase",
21    "endfunction",
22    "endmodule",
23    "endprimitive",
24    "endspecify",
25    "endtable",
26    "endtask",
27    "event",
28    "for",
29    "force",
30    "forever",
31    "fork",
32    "function",
33    "highz0",
34    "highz1",
35    "if",
36    "ifnone",
37    "initial",
38    "inout",
39    "input",
40    "integer",
41    "join",
42    "large",
43    "macromodule",
44    "medium",
45    "module",
46    "nand",
47    "negedge",
48    "nmos",
49    "nor",
50    "not",
51    "notif0",
52    "notif1",
53    "or",
54    "output",
55    "parameter",
56    "pmos",
57    "posedge",
58    "primitive",
59    "pull0",
60    "pull1",
61    "pulldown",
62    "pullup",
63    "rcmos",
64    "real",
65    "realtime",
66    "reg",
67    "release",
68    "repeat",
69    "rnmos",
70    "rpmos",
71    "rtran",
72    "rtranif0",
73    "rtranif1",
74    "scalared",
75    "small",
76    "specify",
77    "specparam",
78    "strong0",
79    "strong1",
80    "supply0",
81    "supply1",
82    "table",
83    "task",
84    "time",
85    "tran",
86    "tranif0",
87    "tranif1",
88    "tri",
89    "tri0",
90    "tri1",
91    "triand",
92    "trior",
93    "trireg",
94    "vectored",
95    "wait",
96    "wand",
97    "weak0",
98    "weak1",
99    "while",
100    "wire",
101    "wor",
102    "xnor",
103    "xor",
104];
105
106pub(crate) const KEYWORDS_1364_2001: &[&str] = &[
107    "always",
108    "and",
109    "assign",
110    "begin",
111    "buf",
112    "bufif0",
113    "bufif1",
114    "case",
115    "casex",
116    "casez",
117    "cmos",
118    "deassign",
119    "default",
120    "defparam",
121    "disable",
122    "edge",
123    "else",
124    "end",
125    "endcase",
126    "endfunction",
127    "endmodule",
128    "endprimitive",
129    "endspecify",
130    "endtable",
131    "endtask",
132    "event",
133    "for",
134    "force",
135    "forever",
136    "fork",
137    "function",
138    "highz0",
139    "highz1",
140    "if",
141    "ifnone",
142    "initial",
143    "inout",
144    "input",
145    "integer",
146    "join",
147    "large",
148    "macromodule",
149    "medium",
150    "module",
151    "nand",
152    "negedge",
153    "nmos",
154    "nor",
155    "not",
156    "notif0",
157    "notif1",
158    "or",
159    "output",
160    "parameter",
161    "pmos",
162    "posedge",
163    "primitive",
164    "pull0",
165    "pull1",
166    "pulldown",
167    "pullup",
168    "rcmos",
169    "real",
170    "realtime",
171    "reg",
172    "release",
173    "repeat",
174    "rnmos",
175    "rpmos",
176    "rtran",
177    "rtranif0",
178    "rtranif1",
179    "scalared",
180    "small",
181    "specify",
182    "specparam",
183    "strong0",
184    "strong1",
185    "supply0",
186    "supply1",
187    "table",
188    "task",
189    "time",
190    "tran",
191    "tranif0",
192    "tranif1",
193    "tri",
194    "tri0",
195    "tri1",
196    "triand",
197    "trior",
198    "trireg",
199    "vectored",
200    "wait",
201    "wand",
202    "weak0",
203    "weak1",
204    "while",
205    "wire",
206    "wor",
207    "xnor",
208    "xor",
209    "automatic",
210    "cell",
211    "config",
212    "design",
213    "endconfig",
214    "endgenerate",
215    "generate",
216    "genvar",
217    "incdir",
218    "include",
219    "instance",
220    "liblist",
221    "library",
222    "localparam",
223    "noshowcancelled",
224    "pulsestyle_ondetect",
225    "pulsestyle_onevent",
226    "showcancelled",
227    "signed",
228    "unsigned",
229    "use",
230];
231
232pub(crate) const KEYWORDS_1364_2001_NOCONFIG: &[&str] = &[
233    "always",
234    "and",
235    "assign",
236    "begin",
237    "buf",
238    "bufif0",
239    "bufif1",
240    "case",
241    "casex",
242    "casez",
243    "cmos",
244    "deassign",
245    "default",
246    "defparam",
247    "disable",
248    "edge",
249    "else",
250    "end",
251    "endcase",
252    "endfunction",
253    "endmodule",
254    "endprimitive",
255    "endspecify",
256    "endtable",
257    "endtask",
258    "event",
259    "for",
260    "force",
261    "forever",
262    "fork",
263    "function",
264    "highz0",
265    "highz1",
266    "if",
267    "ifnone",
268    "initial",
269    "inout",
270    "input",
271    "integer",
272    "join",
273    "large",
274    "macromodule",
275    "medium",
276    "module",
277    "nand",
278    "negedge",
279    "nmos",
280    "nor",
281    "not",
282    "notif0",
283    "notif1",
284    "or",
285    "output",
286    "parameter",
287    "pmos",
288    "posedge",
289    "primitive",
290    "pull0",
291    "pull1",
292    "pulldown",
293    "pullup",
294    "rcmos",
295    "real",
296    "realtime",
297    "reg",
298    "release",
299    "repeat",
300    "rnmos",
301    "rpmos",
302    "rtran",
303    "rtranif0",
304    "rtranif1",
305    "scalared",
306    "small",
307    "specify",
308    "specparam",
309    "strong0",
310    "strong1",
311    "supply0",
312    "supply1",
313    "table",
314    "task",
315    "time",
316    "tran",
317    "tranif0",
318    "tranif1",
319    "tri",
320    "tri0",
321    "tri1",
322    "triand",
323    "trior",
324    "trireg",
325    "vectored",
326    "wait",
327    "wand",
328    "weak0",
329    "weak1",
330    "while",
331    "wire",
332    "wor",
333    "xnor",
334    "xor",
335    "automatic",
336    "endgenerate",
337    "generate",
338    "genvar",
339    "localparam",
340    "noshowcancelled",
341    "pulsestyle_ondetect",
342    "pulsestyle_onevent",
343    "showcancelled",
344    "signed",
345    "unsigned",
346];
347
348pub(crate) const KEYWORDS_1364_2005: &[&str] = &[
349    "always",
350    "and",
351    "assign",
352    "begin",
353    "buf",
354    "bufif0",
355    "bufif1",
356    "case",
357    "casex",
358    "casez",
359    "cmos",
360    "deassign",
361    "default",
362    "defparam",
363    "disable",
364    "edge",
365    "else",
366    "end",
367    "endcase",
368    "endfunction",
369    "endmodule",
370    "endprimitive",
371    "endspecify",
372    "endtable",
373    "endtask",
374    "event",
375    "for",
376    "force",
377    "forever",
378    "fork",
379    "function",
380    "highz0",
381    "highz1",
382    "if",
383    "ifnone",
384    "initial",
385    "inout",
386    "input",
387    "integer",
388    "join",
389    "large",
390    "macromodule",
391    "medium",
392    "module",
393    "nand",
394    "negedge",
395    "nmos",
396    "nor",
397    "not",
398    "notif0",
399    "notif1",
400    "or",
401    "output",
402    "parameter",
403    "pmos",
404    "posedge",
405    "primitive",
406    "pull0",
407    "pull1",
408    "pulldown",
409    "pullup",
410    "rcmos",
411    "real",
412    "realtime",
413    "reg",
414    "release",
415    "repeat",
416    "rnmos",
417    "rpmos",
418    "rtran",
419    "rtranif0",
420    "rtranif1",
421    "scalared",
422    "small",
423    "specify",
424    "specparam",
425    "strong0",
426    "strong1",
427    "supply0",
428    "supply1",
429    "table",
430    "task",
431    "time",
432    "tran",
433    "tranif0",
434    "tranif1",
435    "tri",
436    "tri0",
437    "tri1",
438    "triand",
439    "trior",
440    "trireg",
441    "vectored",
442    "wait",
443    "wand",
444    "weak0",
445    "weak1",
446    "while",
447    "wire",
448    "wor",
449    "xnor",
450    "xor",
451    "automatic",
452    "cell",
453    "config",
454    "design",
455    "endconfig",
456    "endgenerate",
457    "generate",
458    "genvar",
459    "incdir",
460    "include",
461    "instance",
462    "liblist",
463    "library",
464    "localparam",
465    "noshowcancelled",
466    "pulsestyle_ondetect",
467    "pulsestyle_onevent",
468    "showcancelled",
469    "signed",
470    "unsigned",
471    "use",
472    "uwire",
473];
474
475pub(crate) const KEYWORDS_1800_2005: &[&str] = &[
476    "always",
477    "and",
478    "assign",
479    "begin",
480    "buf",
481    "bufif0",
482    "bufif1",
483    "case",
484    "casex",
485    "casez",
486    "cmos",
487    "deassign",
488    "default",
489    "defparam",
490    "disable",
491    "edge",
492    "else",
493    "end",
494    "endcase",
495    "endfunction",
496    "endmodule",
497    "endprimitive",
498    "endspecify",
499    "endtable",
500    "endtask",
501    "event",
502    "for",
503    "force",
504    "forever",
505    "fork",
506    "function",
507    "highz0",
508    "highz1",
509    "if",
510    "ifnone",
511    "initial",
512    "inout",
513    "input",
514    "integer",
515    "join",
516    "large",
517    "macromodule",
518    "medium",
519    "module",
520    "nand",
521    "negedge",
522    "nmos",
523    "nor",
524    "not",
525    "notif0",
526    "notif1",
527    "or",
528    "output",
529    "parameter",
530    "pmos",
531    "posedge",
532    "primitive",
533    "pull0",
534    "pull1",
535    "pulldown",
536    "pullup",
537    "rcmos",
538    "real",
539    "realtime",
540    "reg",
541    "release",
542    "repeat",
543    "rnmos",
544    "rpmos",
545    "rtran",
546    "rtranif0",
547    "rtranif1",
548    "scalared",
549    "small",
550    "specify",
551    "specparam",
552    "strong0",
553    "strong1",
554    "supply0",
555    "supply1",
556    "table",
557    "task",
558    "time",
559    "tran",
560    "tranif0",
561    "tranif1",
562    "tri",
563    "tri0",
564    "tri1",
565    "triand",
566    "trior",
567    "trireg",
568    "vectored",
569    "wait",
570    "wand",
571    "weak0",
572    "weak1",
573    "while",
574    "wire",
575    "wor",
576    "xnor",
577    "xor",
578    "automatic",
579    "cell",
580    "config",
581    "design",
582    "endconfig",
583    "endgenerate",
584    "generate",
585    "genvar",
586    "incdir",
587    "include",
588    "instance",
589    "liblist",
590    "library",
591    "localparam",
592    "noshowcancelled",
593    "pulsestyle_ondetect",
594    "pulsestyle_onevent",
595    "showcancelled",
596    "signed",
597    "unsigned",
598    "use",
599    "uwire",
600    "alias",
601    "always_comb",
602    "always_ff",
603    "always_latch",
604    "assert",
605    "assume",
606    "before",
607    "bind",
608    "bins",
609    "binsof",
610    "bit",
611    "break",
612    "byte",
613    "chandle",
614    "class",
615    "clocking",
616    "const",
617    "constraint",
618    "context",
619    "continue",
620    "cover",
621    "covergroup",
622    "coverpoint",
623    "cross",
624    "dist",
625    "do",
626    "endclass",
627    "endclocking",
628    "endgroup",
629    "endinterface",
630    "endpackage",
631    "endprogram",
632    "endproperty",
633    "endsequence",
634    "enum",
635    "expect",
636    "export",
637    "extends",
638    "extern",
639    "final",
640    "first_match",
641    "foreach",
642    "forkjoin",
643    "iff",
644    "ignore_bins",
645    "illegal_bins",
646    "import",
647    "inside",
648    "int",
649    "interface",
650    "intersect",
651    "join_any",
652    "join_none",
653    "local",
654    "logic",
655    "longint",
656    "matches",
657    "modport",
658    "new",
659    "null",
660    "package",
661    "packed",
662    "priority",
663    "program",
664    "property",
665    "protected",
666    "pure",
667    "rand",
668    "randc",
669    "randcase",
670    "randsequence",
671    "ref",
672    "return",
673    "sequence",
674    "shortint",
675    "shortreal",
676    "solve",
677    "static",
678    "string",
679    "struct",
680    "super",
681    "tagged",
682    "this",
683    "throughout",
684    "timeprecision",
685    "timeunit",
686    "type",
687    "typedef",
688    "union",
689    "unique",
690    "var",
691    "virtual",
692    "void",
693    "wait_order",
694    "wildcard",
695    "with",
696    "within",
697];
698
699pub(crate) const KEYWORDS_1800_2009: &[&str] = &[
700    "always",
701    "and",
702    "assign",
703    "begin",
704    "buf",
705    "bufif0",
706    "bufif1",
707    "case",
708    "casex",
709    "casez",
710    "cmos",
711    "deassign",
712    "default",
713    "defparam",
714    "disable",
715    "edge",
716    "else",
717    "end",
718    "endcase",
719    "endfunction",
720    "endmodule",
721    "endprimitive",
722    "endspecify",
723    "endtable",
724    "endtask",
725    "event",
726    "for",
727    "force",
728    "forever",
729    "fork",
730    "function",
731    "highz0",
732    "highz1",
733    "if",
734    "ifnone",
735    "initial",
736    "inout",
737    "input",
738    "integer",
739    "join",
740    "large",
741    "macromodule",
742    "medium",
743    "module",
744    "nand",
745    "negedge",
746    "nmos",
747    "nor",
748    "not",
749    "notif0",
750    "notif1",
751    "or",
752    "output",
753    "parameter",
754    "pmos",
755    "posedge",
756    "primitive",
757    "pull0",
758    "pull1",
759    "pulldown",
760    "pullup",
761    "rcmos",
762    "real",
763    "realtime",
764    "reg",
765    "release",
766    "repeat",
767    "rnmos",
768    "rpmos",
769    "rtran",
770    "rtranif0",
771    "rtranif1",
772    "scalared",
773    "small",
774    "specify",
775    "specparam",
776    "strong0",
777    "strong1",
778    "supply0",
779    "supply1",
780    "table",
781    "task",
782    "time",
783    "tran",
784    "tranif0",
785    "tranif1",
786    "tri",
787    "tri0",
788    "tri1",
789    "triand",
790    "trior",
791    "trireg",
792    "vectored",
793    "wait",
794    "wand",
795    "weak0",
796    "weak1",
797    "while",
798    "wire",
799    "wor",
800    "xnor",
801    "xor",
802    "automatic",
803    "cell",
804    "config",
805    "design",
806    "endconfig",
807    "endgenerate",
808    "generate",
809    "genvar",
810    "incdir",
811    "include",
812    "instance",
813    "liblist",
814    "library",
815    "localparam",
816    "noshowcancelled",
817    "pulsestyle_ondetect",
818    "pulsestyle_onevent",
819    "showcancelled",
820    "signed",
821    "unsigned",
822    "use",
823    "uwire",
824    "alias",
825    "always_comb",
826    "always_ff",
827    "always_latch",
828    "assert",
829    "assume",
830    "before",
831    "bind",
832    "bins",
833    "binsof",
834    "bit",
835    "break",
836    "byte",
837    "chandle",
838    "class",
839    "clocking",
840    "const",
841    "constraint",
842    "context",
843    "continue",
844    "cover",
845    "covergroup",
846    "coverpoint",
847    "cross",
848    "dist",
849    "do",
850    "endclass",
851    "endclocking",
852    "endgroup",
853    "endinterface",
854    "endpackage",
855    "endprogram",
856    "endproperty",
857    "endsequence",
858    "enum",
859    "expect",
860    "export",
861    "extends",
862    "extern",
863    "final",
864    "first_match",
865    "foreach",
866    "forkjoin",
867    "iff",
868    "ignore_bins",
869    "illegal_bins",
870    "import",
871    "inside",
872    "int",
873    "interface",
874    "intersect",
875    "join_any",
876    "join_none",
877    "local",
878    "logic",
879    "longint",
880    "matches",
881    "modport",
882    "new",
883    "null",
884    "package",
885    "packed",
886    "priority",
887    "program",
888    "property",
889    "protected",
890    "pure",
891    "rand",
892    "randc",
893    "randcase",
894    "randsequence",
895    "ref",
896    "return",
897    "sequence",
898    "shortint",
899    "shortreal",
900    "solve",
901    "static",
902    "string",
903    "struct",
904    "super",
905    "tagged",
906    "this",
907    "throughout",
908    "timeprecision",
909    "timeunit",
910    "type",
911    "typedef",
912    "union",
913    "unique",
914    "var",
915    "virtual",
916    "void",
917    "wait_order",
918    "wildcard",
919    "with",
920    "within",
921    "accept_on",
922    "checker",
923    "endchecker",
924    "eventually",
925    "global",
926    "implies",
927    "let",
928    "nexttime",
929    "reject_on",
930    "restrict",
931    "s_always",
932    "s_eventually",
933    "s_nexttime",
934    "s_until",
935    "s_until_with",
936    "strong",
937    "sync_accept_on",
938    "sync_reject_on",
939    "unique0",
940    "until",
941    "until_with",
942    "untyped",
943    "weak",
944];
945
946pub(crate) const KEYWORDS_1800_2012: &[&str] = &[
947    "always",
948    "and",
949    "assign",
950    "begin",
951    "buf",
952    "bufif0",
953    "bufif1",
954    "case",
955    "casex",
956    "casez",
957    "cmos",
958    "deassign",
959    "default",
960    "defparam",
961    "disable",
962    "edge",
963    "else",
964    "end",
965    "endcase",
966    "endfunction",
967    "endmodule",
968    "endprimitive",
969    "endspecify",
970    "endtable",
971    "endtask",
972    "event",
973    "for",
974    "force",
975    "forever",
976    "fork",
977    "function",
978    "highz0",
979    "highz1",
980    "if",
981    "ifnone",
982    "initial",
983    "inout",
984    "input",
985    "integer",
986    "join",
987    "large",
988    "macromodule",
989    "medium",
990    "module",
991    "nand",
992    "negedge",
993    "nmos",
994    "nor",
995    "not",
996    "notif0",
997    "notif1",
998    "or",
999    "output",
1000    "parameter",
1001    "pmos",
1002    "posedge",
1003    "primitive",
1004    "pull0",
1005    "pull1",
1006    "pulldown",
1007    "pullup",
1008    "rcmos",
1009    "real",
1010    "realtime",
1011    "reg",
1012    "release",
1013    "repeat",
1014    "rnmos",
1015    "rpmos",
1016    "rtran",
1017    "rtranif0",
1018    "rtranif1",
1019    "scalared",
1020    "small",
1021    "specify",
1022    "specparam",
1023    "strong0",
1024    "strong1",
1025    "supply0",
1026    "supply1",
1027    "table",
1028    "task",
1029    "time",
1030    "tran",
1031    "tranif0",
1032    "tranif1",
1033    "tri",
1034    "tri0",
1035    "tri1",
1036    "triand",
1037    "trior",
1038    "trireg",
1039    "vectored",
1040    "wait",
1041    "wand",
1042    "weak0",
1043    "weak1",
1044    "while",
1045    "wire",
1046    "wor",
1047    "xnor",
1048    "xor",
1049    "automatic",
1050    "cell",
1051    "config",
1052    "design",
1053    "endconfig",
1054    "endgenerate",
1055    "generate",
1056    "genvar",
1057    "incdir",
1058    "include",
1059    "instance",
1060    "liblist",
1061    "library",
1062    "localparam",
1063    "noshowcancelled",
1064    "pulsestyle_ondetect",
1065    "pulsestyle_onevent",
1066    "showcancelled",
1067    "signed",
1068    "unsigned",
1069    "use",
1070    "uwire",
1071    "alias",
1072    "always_comb",
1073    "always_ff",
1074    "always_latch",
1075    "assert",
1076    "assume",
1077    "before",
1078    "bind",
1079    "bins",
1080    "binsof",
1081    "bit",
1082    "break",
1083    "byte",
1084    "chandle",
1085    "class",
1086    "clocking",
1087    "const",
1088    "constraint",
1089    "context",
1090    "continue",
1091    "cover",
1092    "covergroup",
1093    "coverpoint",
1094    "cross",
1095    "dist",
1096    "do",
1097    "endclass",
1098    "endclocking",
1099    "endgroup",
1100    "endinterface",
1101    "endpackage",
1102    "endprogram",
1103    "endproperty",
1104    "endsequence",
1105    "enum",
1106    "expect",
1107    "export",
1108    "extends",
1109    "extern",
1110    "final",
1111    "first_match",
1112    "foreach",
1113    "forkjoin",
1114    "iff",
1115    "ignore_bins",
1116    "illegal_bins",
1117    "import",
1118    "inside",
1119    "int",
1120    "interface",
1121    "intersect",
1122    "join_any",
1123    "join_none",
1124    "local",
1125    "logic",
1126    "longint",
1127    "matches",
1128    "modport",
1129    "new",
1130    "null",
1131    "package",
1132    "packed",
1133    "priority",
1134    "program",
1135    "property",
1136    "protected",
1137    "pure",
1138    "rand",
1139    "randc",
1140    "randcase",
1141    "randsequence",
1142    "ref",
1143    "return",
1144    "sequence",
1145    "shortint",
1146    "shortreal",
1147    "solve",
1148    "static",
1149    "string",
1150    "struct",
1151    "super",
1152    "tagged",
1153    "this",
1154    "throughout",
1155    "timeprecision",
1156    "timeunit",
1157    "type",
1158    "typedef",
1159    "union",
1160    "unique",
1161    "var",
1162    "virtual",
1163    "void",
1164    "wait_order",
1165    "wildcard",
1166    "with",
1167    "within",
1168    "accept_on",
1169    "checker",
1170    "endchecker",
1171    "eventually",
1172    "global",
1173    "implies",
1174    "let",
1175    "nexttime",
1176    "reject_on",
1177    "restrict",
1178    "s_always",
1179    "s_eventually",
1180    "s_nexttime",
1181    "s_until",
1182    "s_until_with",
1183    "strong",
1184    "sync_accept_on",
1185    "sync_reject_on",
1186    "unique0",
1187    "until",
1188    "until_with",
1189    "untyped",
1190    "weak",
1191    "implements",
1192    "interconnect",
1193    "nettype",
1194    "soft",
1195];
1196
1197pub(crate) const KEYWORDS_1800_2017: &[&str] = &[
1198    "accept_on",
1199    "alias",
1200    "always",
1201    "always_comb",
1202    "always_ff",
1203    "always_latch",
1204    "and",
1205    "assert",
1206    "assign",
1207    "assume",
1208    "automatic",
1209    "before",
1210    "begin",
1211    "bind",
1212    "bins",
1213    "binsof",
1214    "bit",
1215    "break",
1216    "buf",
1217    "bufif0",
1218    "bufif1",
1219    "byte",
1220    "case",
1221    "casex",
1222    "casez",
1223    "cell",
1224    "chandle",
1225    "checker",
1226    "class",
1227    "clocking",
1228    "cmos",
1229    "config",
1230    "const",
1231    "constraint",
1232    "context",
1233    "continue",
1234    "cover",
1235    "covergroup",
1236    "coverpoint",
1237    "cross",
1238    "deassign",
1239    "default",
1240    "defparam",
1241    "design",
1242    "disable",
1243    "dist",
1244    "do",
1245    "edge",
1246    "else",
1247    "end",
1248    "endcase",
1249    "endchecker",
1250    "endclass",
1251    "endclocking",
1252    "endconfig",
1253    "endfunction",
1254    "endgenerate",
1255    "endgroup",
1256    "endinterface",
1257    "endmodule",
1258    "endpackage",
1259    "endprimitive",
1260    "endprogram",
1261    "endproperty",
1262    "endspecify",
1263    "endsequence",
1264    "endtable",
1265    "endtask",
1266    "enum",
1267    "event",
1268    "eventually",
1269    "expect",
1270    "export",
1271    "extends",
1272    "extern",
1273    "final",
1274    "first_match",
1275    "for",
1276    "force",
1277    "foreach",
1278    "forever",
1279    "fork",
1280    "forkjoin",
1281    "function",
1282    "generate",
1283    "genvar",
1284    "global",
1285    "highz0",
1286    "highz1",
1287    "if",
1288    "iff",
1289    "ifnone",
1290    "ignore_bins",
1291    "illegal_bins",
1292    "implements",
1293    "implies",
1294    "import",
1295    "incdir",
1296    "include",
1297    "initial",
1298    "inout",
1299    "input",
1300    "inside",
1301    "instance",
1302    "int",
1303    "integer",
1304    "interconnect",
1305    "interface",
1306    "intersect",
1307    "join",
1308    "join_any",
1309    "join_none",
1310    "large",
1311    "let",
1312    "liblist",
1313    "library",
1314    "local",
1315    "localparam",
1316    "logic",
1317    "longint",
1318    "macromodule",
1319    "matches",
1320    "medium",
1321    "modport",
1322    "module",
1323    "nand",
1324    "negedge",
1325    "nettype",
1326    "new",
1327    "nexttime",
1328    "nmos",
1329    "nor",
1330    "noshowcancelled",
1331    "not",
1332    "notif0",
1333    "notif1",
1334    "null",
1335    "or",
1336    "output",
1337    "package",
1338    "packed",
1339    "parameter",
1340    "pmos",
1341    "posedge",
1342    "primitive",
1343    "priority",
1344    "program",
1345    "property",
1346    "protected",
1347    "pull0",
1348    "pull1",
1349    "pulldown",
1350    "pullup",
1351    "pulsestyle_ondetect",
1352    "pulsestyle_onevent",
1353    "pure",
1354    "rand",
1355    "randc",
1356    "randcase",
1357    "randsequence",
1358    "rcmos",
1359    "real",
1360    "realtime",
1361    "ref",
1362    "reg",
1363    "reject_on",
1364    "release",
1365    "repeat",
1366    "restrict",
1367    "return",
1368    "rnmos",
1369    "rpmos",
1370    "rtran",
1371    "rtranif0",
1372    "rtranif1",
1373    "s_always",
1374    "s_eventually",
1375    "s_nexttime",
1376    "s_until",
1377    "s_until_with",
1378    "scalared",
1379    "sequence",
1380    "shortint",
1381    "shortreal",
1382    "showcancelled",
1383    "signed",
1384    "small",
1385    "soft",
1386    "solve",
1387    "specify",
1388    "specparam",
1389    "static",
1390    "string",
1391    "strong",
1392    "strong0",
1393    "strong1",
1394    "struct",
1395    "super",
1396    "supply0",
1397    "supply1",
1398    "sync_accept_on",
1399    "sync_reject_on",
1400    "table",
1401    "tagged",
1402    "task",
1403    "this",
1404    "throughout",
1405    "time",
1406    "timeprecision",
1407    "timeunit",
1408    "tran",
1409    "tranif0",
1410    "tranif1",
1411    "tri",
1412    "tri0",
1413    "tri1",
1414    "triand",
1415    "trior",
1416    "trireg",
1417    "type",
1418    "typedef",
1419    "union",
1420    "unique",
1421    "unique0",
1422    "unsigned",
1423    "until",
1424    "until_with",
1425    "untyped",
1426    "use",
1427    "uwire",
1428    "var",
1429    "vectored",
1430    "virtual",
1431    "void",
1432    "wait",
1433    "wait_order",
1434    "wand",
1435    "weak",
1436    "weak0",
1437    "weak1",
1438    "while",
1439    "wildcard",
1440    "wire",
1441    "with",
1442    "within",
1443    "wor",
1444    "xnor",
1445    "xor",
1446];
1447
1448pub(crate) const KEYWORDS_DIRECTIVE: &[&str] = &[
1449    "begin_keywords",
1450    "celldefine",
1451    "default_nettype",
1452    "define",
1453    "else",
1454    "elsif",
1455    "end_keywords",
1456    "endcelldefine",
1457    "endif",
1458    "ifdef",
1459    "ifndef",
1460    "include",
1461    "line",
1462    "nounconnected_drive",
1463    "pragma",
1464    "resetall",
1465    "timescale",
1466    "unconnected_drive",
1467    "undef",
1468    "undefineall",
1469];