1472 lines
21 KiB
Rust
1472 lines
21 KiB
Rust
pub(crate) const KEYWORDS_1364_1995: &[&str] = &[
|
|
"always",
|
|
"and",
|
|
"assign",
|
|
"begin",
|
|
"buf",
|
|
"bufif0",
|
|
"bufif1",
|
|
"case",
|
|
"casex",
|
|
"casez",
|
|
"cmos",
|
|
"deassign",
|
|
"default",
|
|
"defparam",
|
|
"disable",
|
|
"edge",
|
|
"else",
|
|
"end",
|
|
"endcase",
|
|
"endfunction",
|
|
"endmodule",
|
|
"endprimitive",
|
|
"endspecify",
|
|
"endtable",
|
|
"endtask",
|
|
"event",
|
|
"for",
|
|
"force",
|
|
"forever",
|
|
"fork",
|
|
"function",
|
|
"highz0",
|
|
"highz1",
|
|
"if",
|
|
"ifnone",
|
|
"initial",
|
|
"inout",
|
|
"input",
|
|
"integer",
|
|
"join",
|
|
"large",
|
|
"macromodule",
|
|
"medium",
|
|
"module",
|
|
"nand",
|
|
"negedge",
|
|
"nmos",
|
|
"nor",
|
|
"not",
|
|
"notif0",
|
|
"notif1",
|
|
"or",
|
|
"output",
|
|
"parameter",
|
|
"pmos",
|
|
"posedge",
|
|
"primitive",
|
|
"pull0",
|
|
"pull1",
|
|
"pulldown",
|
|
"pullup",
|
|
"rcmos",
|
|
"real",
|
|
"realtime",
|
|
"reg",
|
|
"release",
|
|
"repeat",
|
|
"rnmos",
|
|
"rpmos",
|
|
"rtran",
|
|
"rtranif0",
|
|
"rtranif1",
|
|
"scalared",
|
|
"small",
|
|
"specify",
|
|
"specparam",
|
|
"strong0",
|
|
"strong1",
|
|
"supply0",
|
|
"supply1",
|
|
"table",
|
|
"task",
|
|
"time",
|
|
"tran",
|
|
"tranif0",
|
|
"tranif1",
|
|
"tri",
|
|
"tri0",
|
|
"tri1",
|
|
"triand",
|
|
"trior",
|
|
"trireg",
|
|
"vectored",
|
|
"wait",
|
|
"wand",
|
|
"weak0",
|
|
"weak1",
|
|
"while",
|
|
"wire",
|
|
"wor",
|
|
"xnor",
|
|
"xor",
|
|
];
|
|
|
|
pub(crate) const KEYWORDS_1364_2001: &[&str] = &[
|
|
"always",
|
|
"and",
|
|
"assign",
|
|
"begin",
|
|
"buf",
|
|
"bufif0",
|
|
"bufif1",
|
|
"case",
|
|
"casex",
|
|
"casez",
|
|
"cmos",
|
|
"deassign",
|
|
"default",
|
|
"defparam",
|
|
"disable",
|
|
"edge",
|
|
"else",
|
|
"end",
|
|
"endcase",
|
|
"endfunction",
|
|
"endmodule",
|
|
"endprimitive",
|
|
"endspecify",
|
|
"endtable",
|
|
"endtask",
|
|
"event",
|
|
"for",
|
|
"force",
|
|
"forever",
|
|
"fork",
|
|
"function",
|
|
"highz0",
|
|
"highz1",
|
|
"if",
|
|
"ifnone",
|
|
"initial",
|
|
"inout",
|
|
"input",
|
|
"integer",
|
|
"join",
|
|
"large",
|
|
"macromodule",
|
|
"medium",
|
|
"module",
|
|
"nand",
|
|
"negedge",
|
|
"nmos",
|
|
"nor",
|
|
"not",
|
|
"notif0",
|
|
"notif1",
|
|
"or",
|
|
"output",
|
|
"parameter",
|
|
"pmos",
|
|
"posedge",
|
|
"primitive",
|
|
"pull0",
|
|
"pull1",
|
|
"pulldown",
|
|
"pullup",
|
|
"rcmos",
|
|
"real",
|
|
"realtime",
|
|
"reg",
|
|
"release",
|
|
"repeat",
|
|
"rnmos",
|
|
"rpmos",
|
|
"rtran",
|
|
"rtranif0",
|
|
"rtranif1",
|
|
"scalared",
|
|
"small",
|
|
"specify",
|
|
"specparam",
|
|
"strong0",
|
|
"strong1",
|
|
"supply0",
|
|
"supply1",
|
|
"table",
|
|
"task",
|
|
"time",
|
|
"tran",
|
|
"tranif0",
|
|
"tranif1",
|
|
"tri",
|
|
"tri0",
|
|
"tri1",
|
|
"triand",
|
|
"trior",
|
|
"trireg",
|
|
"vectored",
|
|
"wait",
|
|
"wand",
|
|
"weak0",
|
|
"weak1",
|
|
"while",
|
|
"wire",
|
|
"wor",
|
|
"xnor",
|
|
"xor",
|
|
"automatic",
|
|
"cell",
|
|
"config",
|
|
"design",
|
|
"endconfig",
|
|
"endgenerate",
|
|
"generate",
|
|
"genvar",
|
|
"incdir",
|
|
"include",
|
|
"instance",
|
|
"liblist",
|
|
"library",
|
|
"localparam",
|
|
"noshowcancelled",
|
|
"pulsestyle_ondetect",
|
|
"pulsestyle_onevent",
|
|
"showcancelled",
|
|
"signed",
|
|
"unsigned",
|
|
"use",
|
|
];
|
|
|
|
pub(crate) const KEYWORDS_1364_2001_NOCONFIG: &[&str] = &[
|
|
"always",
|
|
"and",
|
|
"assign",
|
|
"begin",
|
|
"buf",
|
|
"bufif0",
|
|
"bufif1",
|
|
"case",
|
|
"casex",
|
|
"casez",
|
|
"cmos",
|
|
"deassign",
|
|
"default",
|
|
"defparam",
|
|
"disable",
|
|
"edge",
|
|
"else",
|
|
"end",
|
|
"endcase",
|
|
"endfunction",
|
|
"endmodule",
|
|
"endprimitive",
|
|
"endspecify",
|
|
"endtable",
|
|
"endtask",
|
|
"event",
|
|
"for",
|
|
"force",
|
|
"forever",
|
|
"fork",
|
|
"function",
|
|
"highz0",
|
|
"highz1",
|
|
"if",
|
|
"ifnone",
|
|
"initial",
|
|
"inout",
|
|
"input",
|
|
"integer",
|
|
"join",
|
|
"large",
|
|
"macromodule",
|
|
"medium",
|
|
"module",
|
|
"nand",
|
|
"negedge",
|
|
"nmos",
|
|
"nor",
|
|
"not",
|
|
"notif0",
|
|
"notif1",
|
|
"or",
|
|
"output",
|
|
"parameter",
|
|
"pmos",
|
|
"posedge",
|
|
"primitive",
|
|
"pull0",
|
|
"pull1",
|
|
"pulldown",
|
|
"pullup",
|
|
"rcmos",
|
|
"real",
|
|
"realtime",
|
|
"reg",
|
|
"release",
|
|
"repeat",
|
|
"rnmos",
|
|
"rpmos",
|
|
"rtran",
|
|
"rtranif0",
|
|
"rtranif1",
|
|
"scalared",
|
|
"small",
|
|
"specify",
|
|
"specparam",
|
|
"strong0",
|
|
"strong1",
|
|
"supply0",
|
|
"supply1",
|
|
"table",
|
|
"task",
|
|
"time",
|
|
"tran",
|
|
"tranif0",
|
|
"tranif1",
|
|
"tri",
|
|
"tri0",
|
|
"tri1",
|
|
"triand",
|
|
"trior",
|
|
"trireg",
|
|
"vectored",
|
|
"wait",
|
|
"wand",
|
|
"weak0",
|
|
"weak1",
|
|
"while",
|
|
"wire",
|
|
"wor",
|
|
"xnor",
|
|
"xor",
|
|
"automatic",
|
|
"endgenerate",
|
|
"generate",
|
|
"genvar",
|
|
"localparam",
|
|
"noshowcancelled",
|
|
"pulsestyle_ondetect",
|
|
"pulsestyle_onevent",
|
|
"showcancelled",
|
|
"signed",
|
|
"unsigned",
|
|
];
|
|
|
|
pub(crate) const KEYWORDS_1364_2005: &[&str] = &[
|
|
"always",
|
|
"and",
|
|
"assign",
|
|
"begin",
|
|
"buf",
|
|
"bufif0",
|
|
"bufif1",
|
|
"case",
|
|
"casex",
|
|
"casez",
|
|
"cmos",
|
|
"deassign",
|
|
"default",
|
|
"defparam",
|
|
"disable",
|
|
"edge",
|
|
"else",
|
|
"end",
|
|
"endcase",
|
|
"endfunction",
|
|
"endmodule",
|
|
"endprimitive",
|
|
"endspecify",
|
|
"endtable",
|
|
"endtask",
|
|
"event",
|
|
"for",
|
|
"force",
|
|
"forever",
|
|
"fork",
|
|
"function",
|
|
"highz0",
|
|
"highz1",
|
|
"if",
|
|
"ifnone",
|
|
"initial",
|
|
"inout",
|
|
"input",
|
|
"integer",
|
|
"join",
|
|
"large",
|
|
"macromodule",
|
|
"medium",
|
|
"module",
|
|
"nand",
|
|
"negedge",
|
|
"nmos",
|
|
"nor",
|
|
"not",
|
|
"notif0",
|
|
"notif1",
|
|
"or",
|
|
"output",
|
|
"parameter",
|
|
"pmos",
|
|
"posedge",
|
|
"primitive",
|
|
"pull0",
|
|
"pull1",
|
|
"pulldown",
|
|
"pullup",
|
|
"rcmos",
|
|
"real",
|
|
"realtime",
|
|
"reg",
|
|
"release",
|
|
"repeat",
|
|
"rnmos",
|
|
"rpmos",
|
|
"rtran",
|
|
"rtranif0",
|
|
"rtranif1",
|
|
"scalared",
|
|
"small",
|
|
"specify",
|
|
"specparam",
|
|
"strong0",
|
|
"strong1",
|
|
"supply0",
|
|
"supply1",
|
|
"table",
|
|
"task",
|
|
"time",
|
|
"tran",
|
|
"tranif0",
|
|
"tranif1",
|
|
"tri",
|
|
"tri0",
|
|
"tri1",
|
|
"triand",
|
|
"trior",
|
|
"trireg",
|
|
"vectored",
|
|
"wait",
|
|
"wand",
|
|
"weak0",
|
|
"weak1",
|
|
"while",
|
|
"wire",
|
|
"wor",
|
|
"xnor",
|
|
"xor",
|
|
"automatic",
|
|
"cell",
|
|
"config",
|
|
"design",
|
|
"endconfig",
|
|
"endgenerate",
|
|
"generate",
|
|
"genvar",
|
|
"incdir",
|
|
"include",
|
|
"instance",
|
|
"liblist",
|
|
"library",
|
|
"localparam",
|
|
"noshowcancelled",
|
|
"pulsestyle_ondetect",
|
|
"pulsestyle_onevent",
|
|
"showcancelled",
|
|
"signed",
|
|
"unsigned",
|
|
"use",
|
|
"uwire",
|
|
];
|
|
|
|
pub(crate) const KEYWORDS_1800_2005: &[&str] = &[
|
|
"always",
|
|
"and",
|
|
"assign",
|
|
"begin",
|
|
"buf",
|
|
"bufif0",
|
|
"bufif1",
|
|
"case",
|
|
"casex",
|
|
"casez",
|
|
"cmos",
|
|
"deassign",
|
|
"default",
|
|
"defparam",
|
|
"disable",
|
|
"edge",
|
|
"else",
|
|
"end",
|
|
"endcase",
|
|
"endfunction",
|
|
"endmodule",
|
|
"endprimitive",
|
|
"endspecify",
|
|
"endtable",
|
|
"endtask",
|
|
"event",
|
|
"for",
|
|
"force",
|
|
"forever",
|
|
"fork",
|
|
"function",
|
|
"highz0",
|
|
"highz1",
|
|
"if",
|
|
"ifnone",
|
|
"initial",
|
|
"inout",
|
|
"input",
|
|
"integer",
|
|
"join",
|
|
"large",
|
|
"macromodule",
|
|
"medium",
|
|
"module",
|
|
"nand",
|
|
"negedge",
|
|
"nmos",
|
|
"nor",
|
|
"not",
|
|
"notif0",
|
|
"notif1",
|
|
"or",
|
|
"output",
|
|
"parameter",
|
|
"pmos",
|
|
"posedge",
|
|
"primitive",
|
|
"pull0",
|
|
"pull1",
|
|
"pulldown",
|
|
"pullup",
|
|
"rcmos",
|
|
"real",
|
|
"realtime",
|
|
"reg",
|
|
"release",
|
|
"repeat",
|
|
"rnmos",
|
|
"rpmos",
|
|
"rtran",
|
|
"rtranif0",
|
|
"rtranif1",
|
|
"scalared",
|
|
"small",
|
|
"specify",
|
|
"specparam",
|
|
"strong0",
|
|
"strong1",
|
|
"supply0",
|
|
"supply1",
|
|
"table",
|
|
"task",
|
|
"time",
|
|
"tran",
|
|
"tranif0",
|
|
"tranif1",
|
|
"tri",
|
|
"tri0",
|
|
"tri1",
|
|
"triand",
|
|
"trior",
|
|
"trireg",
|
|
"vectored",
|
|
"wait",
|
|
"wand",
|
|
"weak0",
|
|
"weak1",
|
|
"while",
|
|
"wire",
|
|
"wor",
|
|
"xnor",
|
|
"xor",
|
|
"automatic",
|
|
"cell",
|
|
"config",
|
|
"design",
|
|
"endconfig",
|
|
"endgenerate",
|
|
"generate",
|
|
"genvar",
|
|
"incdir",
|
|
"include",
|
|
"instance",
|
|
"liblist",
|
|
"library",
|
|
"localparam",
|
|
"noshowcancelled",
|
|
"pulsestyle_ondetect",
|
|
"pulsestyle_onevent",
|
|
"showcancelled",
|
|
"signed",
|
|
"unsigned",
|
|
"use",
|
|
"uwire",
|
|
"alias",
|
|
"always_comb",
|
|
"always_ff",
|
|
"always_latch",
|
|
"assert",
|
|
"assume",
|
|
"before",
|
|
"bind",
|
|
"bins",
|
|
"binsof",
|
|
"bit",
|
|
"break",
|
|
"byte",
|
|
"chandle",
|
|
"class",
|
|
"clocking",
|
|
"const",
|
|
"constraint",
|
|
"context",
|
|
"continue",
|
|
"cover",
|
|
"covergroup",
|
|
"coverpoint",
|
|
"cross",
|
|
"dist",
|
|
"do",
|
|
"endclass",
|
|
"endclocking",
|
|
"endgroup",
|
|
"endinterface",
|
|
"endpackage",
|
|
"endprogram",
|
|
"endproperty",
|
|
"endsequence",
|
|
"enum",
|
|
"expect",
|
|
"export",
|
|
"extends",
|
|
"extern",
|
|
"final",
|
|
"first_match",
|
|
"foreach",
|
|
"forkjoin",
|
|
"iff",
|
|
"ignore_bins",
|
|
"illegal_bins",
|
|
"import",
|
|
"inside",
|
|
"int",
|
|
"interface",
|
|
"intersect",
|
|
"join_any",
|
|
"join_none",
|
|
"local",
|
|
"logic",
|
|
"longint",
|
|
"matches",
|
|
"modport",
|
|
"new",
|
|
"null",
|
|
"package",
|
|
"packed",
|
|
"priority",
|
|
"program",
|
|
"property",
|
|
"protected",
|
|
"pure",
|
|
"rand",
|
|
"randc",
|
|
"randcase",
|
|
"randsequence",
|
|
"ref",
|
|
"return",
|
|
"sequence",
|
|
"shortint",
|
|
"shortreal",
|
|
"solve",
|
|
"static",
|
|
"string",
|
|
"struct",
|
|
"super",
|
|
"tagged",
|
|
"this",
|
|
"throughout",
|
|
"timeprecision",
|
|
"timeunit",
|
|
"type",
|
|
"typedef",
|
|
"union",
|
|
"unique",
|
|
"var",
|
|
"virtual",
|
|
"void",
|
|
"wait_order",
|
|
"wildcard",
|
|
"with",
|
|
"within",
|
|
];
|
|
|
|
pub(crate) const KEYWORDS_1800_2009: &[&str] = &[
|
|
"always",
|
|
"and",
|
|
"assign",
|
|
"begin",
|
|
"buf",
|
|
"bufif0",
|
|
"bufif1",
|
|
"case",
|
|
"casex",
|
|
"casez",
|
|
"cmos",
|
|
"deassign",
|
|
"default",
|
|
"defparam",
|
|
"disable",
|
|
"edge",
|
|
"else",
|
|
"end",
|
|
"endcase",
|
|
"endfunction",
|
|
"endmodule",
|
|
"endprimitive",
|
|
"endspecify",
|
|
"endtable",
|
|
"endtask",
|
|
"event",
|
|
"for",
|
|
"force",
|
|
"forever",
|
|
"fork",
|
|
"function",
|
|
"highz0",
|
|
"highz1",
|
|
"if",
|
|
"ifnone",
|
|
"initial",
|
|
"inout",
|
|
"input",
|
|
"integer",
|
|
"join",
|
|
"large",
|
|
"macromodule",
|
|
"medium",
|
|
"module",
|
|
"nand",
|
|
"negedge",
|
|
"nmos",
|
|
"nor",
|
|
"not",
|
|
"notif0",
|
|
"notif1",
|
|
"or",
|
|
"output",
|
|
"parameter",
|
|
"pmos",
|
|
"posedge",
|
|
"primitive",
|
|
"pull0",
|
|
"pull1",
|
|
"pulldown",
|
|
"pullup",
|
|
"rcmos",
|
|
"real",
|
|
"realtime",
|
|
"reg",
|
|
"release",
|
|
"repeat",
|
|
"rnmos",
|
|
"rpmos",
|
|
"rtran",
|
|
"rtranif0",
|
|
"rtranif1",
|
|
"scalared",
|
|
"small",
|
|
"specify",
|
|
"specparam",
|
|
"strong0",
|
|
"strong1",
|
|
"supply0",
|
|
"supply1",
|
|
"table",
|
|
"task",
|
|
"time",
|
|
"tran",
|
|
"tranif0",
|
|
"tranif1",
|
|
"tri",
|
|
"tri0",
|
|
"tri1",
|
|
"triand",
|
|
"trior",
|
|
"trireg",
|
|
"vectored",
|
|
"wait",
|
|
"wand",
|
|
"weak0",
|
|
"weak1",
|
|
"while",
|
|
"wire",
|
|
"wor",
|
|
"xnor",
|
|
"xor",
|
|
"automatic",
|
|
"cell",
|
|
"config",
|
|
"design",
|
|
"endconfig",
|
|
"endgenerate",
|
|
"generate",
|
|
"genvar",
|
|
"incdir",
|
|
"include",
|
|
"instance",
|
|
"liblist",
|
|
"library",
|
|
"localparam",
|
|
"noshowcancelled",
|
|
"pulsestyle_ondetect",
|
|
"pulsestyle_onevent",
|
|
"showcancelled",
|
|
"signed",
|
|
"unsigned",
|
|
"use",
|
|
"uwire",
|
|
"alias",
|
|
"always_comb",
|
|
"always_ff",
|
|
"always_latch",
|
|
"assert",
|
|
"assume",
|
|
"before",
|
|
"bind",
|
|
"bins",
|
|
"binsof",
|
|
"bit",
|
|
"break",
|
|
"byte",
|
|
"chandle",
|
|
"class",
|
|
"clocking",
|
|
"const",
|
|
"constraint",
|
|
"context",
|
|
"continue",
|
|
"cover",
|
|
"covergroup",
|
|
"coverpoint",
|
|
"cross",
|
|
"dist",
|
|
"do",
|
|
"endclass",
|
|
"endclocking",
|
|
"endgroup",
|
|
"endinterface",
|
|
"endpackage",
|
|
"endprogram",
|
|
"endproperty",
|
|
"endsequence",
|
|
"enum",
|
|
"expect",
|
|
"export",
|
|
"extends",
|
|
"extern",
|
|
"final",
|
|
"first_match",
|
|
"foreach",
|
|
"forkjoin",
|
|
"iff",
|
|
"ignore_bins",
|
|
"illegal_bins",
|
|
"import",
|
|
"inside",
|
|
"int",
|
|
"interface",
|
|
"intersect",
|
|
"join_any",
|
|
"join_none",
|
|
"local",
|
|
"logic",
|
|
"longint",
|
|
"matches",
|
|
"modport",
|
|
"new",
|
|
"null",
|
|
"package",
|
|
"packed",
|
|
"priority",
|
|
"program",
|
|
"property",
|
|
"protected",
|
|
"pure",
|
|
"rand",
|
|
"randc",
|
|
"randcase",
|
|
"randsequence",
|
|
"ref",
|
|
"return",
|
|
"sequence",
|
|
"shortint",
|
|
"shortreal",
|
|
"solve",
|
|
"static",
|
|
"string",
|
|
"struct",
|
|
"super",
|
|
"tagged",
|
|
"this",
|
|
"throughout",
|
|
"timeprecision",
|
|
"timeunit",
|
|
"type",
|
|
"typedef",
|
|
"union",
|
|
"unique",
|
|
"var",
|
|
"virtual",
|
|
"void",
|
|
"wait_order",
|
|
"wildcard",
|
|
"with",
|
|
"within",
|
|
"accept_on",
|
|
"checker",
|
|
"endchecker",
|
|
"eventually",
|
|
"global",
|
|
"implies",
|
|
"let",
|
|
"nexttime",
|
|
"reject_on",
|
|
"restrict",
|
|
"s_always",
|
|
"s_eventually",
|
|
"s_nexttime",
|
|
"s_until",
|
|
"s_until_with",
|
|
"strong",
|
|
"sync_accept_on",
|
|
"sync_reject_on",
|
|
"unique0",
|
|
"until",
|
|
"until_with",
|
|
"untyped",
|
|
"weak",
|
|
];
|
|
|
|
pub(crate) const KEYWORDS_1800_2012: &[&str] = &[
|
|
"always",
|
|
"and",
|
|
"assign",
|
|
"begin",
|
|
"buf",
|
|
"bufif0",
|
|
"bufif1",
|
|
"case",
|
|
"casex",
|
|
"casez",
|
|
"cmos",
|
|
"deassign",
|
|
"default",
|
|
"defparam",
|
|
"disable",
|
|
"edge",
|
|
"else",
|
|
"end",
|
|
"endcase",
|
|
"endfunction",
|
|
"endmodule",
|
|
"endprimitive",
|
|
"endspecify",
|
|
"endtable",
|
|
"endtask",
|
|
"event",
|
|
"for",
|
|
"force",
|
|
"forever",
|
|
"fork",
|
|
"function",
|
|
"highz0",
|
|
"highz1",
|
|
"if",
|
|
"ifnone",
|
|
"initial",
|
|
"inout",
|
|
"input",
|
|
"integer",
|
|
"join",
|
|
"large",
|
|
"macromodule",
|
|
"medium",
|
|
"module",
|
|
"nand",
|
|
"negedge",
|
|
"nmos",
|
|
"nor",
|
|
"not",
|
|
"notif0",
|
|
"notif1",
|
|
"or",
|
|
"output",
|
|
"parameter",
|
|
"pmos",
|
|
"posedge",
|
|
"primitive",
|
|
"pull0",
|
|
"pull1",
|
|
"pulldown",
|
|
"pullup",
|
|
"rcmos",
|
|
"real",
|
|
"realtime",
|
|
"reg",
|
|
"release",
|
|
"repeat",
|
|
"rnmos",
|
|
"rpmos",
|
|
"rtran",
|
|
"rtranif0",
|
|
"rtranif1",
|
|
"scalared",
|
|
"small",
|
|
"specify",
|
|
"specparam",
|
|
"strong0",
|
|
"strong1",
|
|
"supply0",
|
|
"supply1",
|
|
"table",
|
|
"task",
|
|
"time",
|
|
"tran",
|
|
"tranif0",
|
|
"tranif1",
|
|
"tri",
|
|
"tri0",
|
|
"tri1",
|
|
"triand",
|
|
"trior",
|
|
"trireg",
|
|
"vectored",
|
|
"wait",
|
|
"wand",
|
|
"weak0",
|
|
"weak1",
|
|
"while",
|
|
"wire",
|
|
"wor",
|
|
"xnor",
|
|
"xor",
|
|
"automatic",
|
|
"cell",
|
|
"config",
|
|
"design",
|
|
"endconfig",
|
|
"endgenerate",
|
|
"generate",
|
|
"genvar",
|
|
"incdir",
|
|
"include",
|
|
"instance",
|
|
"liblist",
|
|
"library",
|
|
"localparam",
|
|
"noshowcancelled",
|
|
"pulsestyle_ondetect",
|
|
"pulsestyle_onevent",
|
|
"showcancelled",
|
|
"signed",
|
|
"unsigned",
|
|
"use",
|
|
"uwire",
|
|
"alias",
|
|
"always_comb",
|
|
"always_ff",
|
|
"always_latch",
|
|
"assert",
|
|
"assume",
|
|
"before",
|
|
"bind",
|
|
"bins",
|
|
"binsof",
|
|
"bit",
|
|
"break",
|
|
"byte",
|
|
"chandle",
|
|
"class",
|
|
"clocking",
|
|
"const",
|
|
"constraint",
|
|
"context",
|
|
"continue",
|
|
"cover",
|
|
"covergroup",
|
|
"coverpoint",
|
|
"cross",
|
|
"dist",
|
|
"do",
|
|
"endclass",
|
|
"endclocking",
|
|
"endgroup",
|
|
"endinterface",
|
|
"endpackage",
|
|
"endprogram",
|
|
"endproperty",
|
|
"endsequence",
|
|
"enum",
|
|
"expect",
|
|
"export",
|
|
"extends",
|
|
"extern",
|
|
"final",
|
|
"first_match",
|
|
"foreach",
|
|
"forkjoin",
|
|
"iff",
|
|
"ignore_bins",
|
|
"illegal_bins",
|
|
"import",
|
|
"inside",
|
|
"int",
|
|
"interface",
|
|
"intersect",
|
|
"join_any",
|
|
"join_none",
|
|
"local",
|
|
"logic",
|
|
"longint",
|
|
"matches",
|
|
"modport",
|
|
"new",
|
|
"null",
|
|
"package",
|
|
"packed",
|
|
"priority",
|
|
"program",
|
|
"property",
|
|
"protected",
|
|
"pure",
|
|
"rand",
|
|
"randc",
|
|
"randcase",
|
|
"randsequence",
|
|
"ref",
|
|
"return",
|
|
"sequence",
|
|
"shortint",
|
|
"shortreal",
|
|
"solve",
|
|
"static",
|
|
"string",
|
|
"struct",
|
|
"super",
|
|
"tagged",
|
|
"this",
|
|
"throughout",
|
|
"timeprecision",
|
|
"timeunit",
|
|
"type",
|
|
"typedef",
|
|
"union",
|
|
"unique",
|
|
"var",
|
|
"virtual",
|
|
"void",
|
|
"wait_order",
|
|
"wildcard",
|
|
"with",
|
|
"within",
|
|
"accept_on",
|
|
"checker",
|
|
"endchecker",
|
|
"eventually",
|
|
"global",
|
|
"implies",
|
|
"let",
|
|
"nexttime",
|
|
"reject_on",
|
|
"restrict",
|
|
"s_always",
|
|
"s_eventually",
|
|
"s_nexttime",
|
|
"s_until",
|
|
"s_until_with",
|
|
"strong",
|
|
"sync_accept_on",
|
|
"sync_reject_on",
|
|
"unique0",
|
|
"until",
|
|
"until_with",
|
|
"untyped",
|
|
"weak",
|
|
"implements",
|
|
"interconnect",
|
|
"nettype",
|
|
"soft",
|
|
];
|
|
|
|
pub(crate) const KEYWORDS_1800_2017: &[&str] = &[
|
|
"accept_on",
|
|
"alias",
|
|
"always",
|
|
"always_comb",
|
|
"always_ff",
|
|
"always_latch",
|
|
"and",
|
|
"assert",
|
|
"assign",
|
|
"assume",
|
|
"automatic",
|
|
"before",
|
|
"begin",
|
|
"bind",
|
|
"bins",
|
|
"binsof",
|
|
"bit",
|
|
"break",
|
|
"buf",
|
|
"bufif0",
|
|
"bufif1",
|
|
"byte",
|
|
"case",
|
|
"casex",
|
|
"casez",
|
|
"cell",
|
|
"chandle",
|
|
"checker",
|
|
"class",
|
|
"clocking",
|
|
"cmos",
|
|
"config",
|
|
"const",
|
|
"constraint",
|
|
"context",
|
|
"continue",
|
|
"cover",
|
|
"covergroup",
|
|
"coverpoint",
|
|
"cross",
|
|
"deassign",
|
|
"default",
|
|
"defparam",
|
|
"design",
|
|
"disable",
|
|
"dist",
|
|
"do",
|
|
"edge",
|
|
"else",
|
|
"end",
|
|
"endcase",
|
|
"endchecker",
|
|
"endclass",
|
|
"endclocking",
|
|
"endconfig",
|
|
"endfunction",
|
|
"endgenerate",
|
|
"endgroup",
|
|
"endinterface",
|
|
"endmodule",
|
|
"endpackage",
|
|
"endprimitive",
|
|
"endprogram",
|
|
"endproperty",
|
|
"endspecify",
|
|
"endsequence",
|
|
"endtable",
|
|
"endtask",
|
|
"enum",
|
|
"event",
|
|
"eventually",
|
|
"expect",
|
|
"export",
|
|
"extends",
|
|
"extern",
|
|
"final",
|
|
"first_match",
|
|
"for",
|
|
"force",
|
|
"foreach",
|
|
"forever",
|
|
"fork",
|
|
"forkjoin",
|
|
"function",
|
|
"generate",
|
|
"genvar",
|
|
"global",
|
|
"highz0",
|
|
"highz1",
|
|
"if",
|
|
"iff",
|
|
"ifnone",
|
|
"ignore_bins",
|
|
"illegal_bins",
|
|
"implements",
|
|
"implies",
|
|
"import",
|
|
"incdir",
|
|
"include",
|
|
"initial",
|
|
"inout",
|
|
"input",
|
|
"inside",
|
|
"instance",
|
|
"int",
|
|
"integer",
|
|
"interconnect",
|
|
"interface",
|
|
"intersect",
|
|
"join",
|
|
"join_any",
|
|
"join_none",
|
|
"large",
|
|
"let",
|
|
"liblist",
|
|
"library",
|
|
"local",
|
|
"localparam",
|
|
"logic",
|
|
"longint",
|
|
"macromodule",
|
|
"matches",
|
|
"medium",
|
|
"modport",
|
|
"module",
|
|
"nand",
|
|
"negedge",
|
|
"nettype",
|
|
"new",
|
|
"nexttime",
|
|
"nmos",
|
|
"nor",
|
|
"noshowcancelled",
|
|
"not",
|
|
"notif0",
|
|
"notif1",
|
|
"null",
|
|
"or",
|
|
"output",
|
|
"package",
|
|
"packed",
|
|
"parameter",
|
|
"pmos",
|
|
"posedge",
|
|
"primitive",
|
|
"priority",
|
|
"program",
|
|
"property",
|
|
"protected",
|
|
"pull0",
|
|
"pull1",
|
|
"pulldown",
|
|
"pullup",
|
|
"pulsestyle_ondetect",
|
|
"pulsestyle_onevent",
|
|
"pure",
|
|
"rand",
|
|
"randc",
|
|
"randcase",
|
|
"randsequence",
|
|
"rcmos",
|
|
"real",
|
|
"realtime",
|
|
"ref",
|
|
"reg",
|
|
"reject_on",
|
|
"release",
|
|
"repeat",
|
|
"restrict",
|
|
"return",
|
|
"rnmos",
|
|
"rpmos",
|
|
"rtran",
|
|
"rtranif0",
|
|
"rtranif1",
|
|
"s_always",
|
|
"s_eventually",
|
|
"s_nexttime",
|
|
"s_until",
|
|
"s_until_with",
|
|
"scalared",
|
|
"sequence",
|
|
"shortint",
|
|
"shortreal",
|
|
"showcancelled",
|
|
"signed",
|
|
"small",
|
|
"soft",
|
|
"solve",
|
|
"specify",
|
|
"specparam",
|
|
"static",
|
|
"string",
|
|
"strong",
|
|
"strong0",
|
|
"strong1",
|
|
"struct",
|
|
"super",
|
|
"supply0",
|
|
"supply1",
|
|
"sync_accept_on",
|
|
"sync_reject_on",
|
|
"table",
|
|
"tagged",
|
|
"task",
|
|
"this",
|
|
"throughout",
|
|
"time",
|
|
"timeprecision",
|
|
"timeunit",
|
|
"tran",
|
|
"tranif0",
|
|
"tranif1",
|
|
"tri",
|
|
"tri0",
|
|
"tri1",
|
|
"triand",
|
|
"trior",
|
|
"trireg",
|
|
"type",
|
|
"typedef",
|
|
"union",
|
|
"unique",
|
|
"unique0",
|
|
"unsigned",
|
|
"until",
|
|
"until_with",
|
|
"untyped",
|
|
"use",
|
|
"uwire",
|
|
"var",
|
|
"vectored",
|
|
"virtual",
|
|
"void",
|
|
"wait",
|
|
"wait_order",
|
|
"wand",
|
|
"weak",
|
|
"weak0",
|
|
"weak1",
|
|
"while",
|
|
"wildcard",
|
|
"wire",
|
|
"with",
|
|
"within",
|
|
"wor",
|
|
"xnor",
|
|
"xor",
|
|
];
|
|
|
|
pub(crate) const KEYWORDS_DIRECTIVE: &[&str] = &[
|
|
"__FILE__",
|
|
"__LINE__",
|
|
"begin_keywords",
|
|
"celldefine",
|
|
"default_nettype",
|
|
"define",
|
|
"else",
|
|
"elsif",
|
|
"end_keywords",
|
|
"endcelldefine",
|
|
"endif",
|
|
"ifdef",
|
|
"ifndef",
|
|
"include",
|
|
"line",
|
|
"nounconnected_drive",
|
|
"pragma",
|
|
"resetall",
|
|
"timescale",
|
|
"unconnected_drive",
|
|
"undef",
|
|
"undefineall",
|
|
];
|