verilog top-level property

Language verilog
final

Implementation

final verilog = Language(
  id: "verilog",
  refs: {},
  name: "Verilog",
  aliases: ["v", "sv", "svh"],
  case_insensitive: false,
  keywords: {
    "\$pattern": "\\\$?[\\w]+(\\\$[\\w]+)*",
    "keyword": [
      "accept_on",
      "alias",
      "always",
      "always_comb",
      "always_ff",
      "always_latch",
      "and",
      "assert",
      "assign",
      "assume",
      "automatic",
      "before",
      "begin",
      "bind",
      "bins",
      "binsof",
      "bit",
      "break",
      "buf|0",
      "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|5",
      "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",
      "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"
    ],
    "literal": ["null"],
    "built_in": [
      "\$finish",
      "\$stop",
      "\$exit",
      "\$fatal",
      "\$error",
      "\$warning",
      "\$info",
      "\$realtime",
      "\$time",
      "\$printtimescale",
      "\$bitstoreal",
      "\$bitstoshortreal",
      "\$itor",
      "\$signed",
      "\$cast",
      "\$bits",
      "\$stime",
      "\$timeformat",
      "\$realtobits",
      "\$shortrealtobits",
      "\$rtoi",
      "\$unsigned",
      "\$asserton",
      "\$assertkill",
      "\$assertpasson",
      "\$assertfailon",
      "\$assertnonvacuouson",
      "\$assertoff",
      "\$assertcontrol",
      "\$assertpassoff",
      "\$assertfailoff",
      "\$assertvacuousoff",
      "\$isunbounded",
      "\$sampled",
      "\$fell",
      "\$changed",
      "\$past_gclk",
      "\$fell_gclk",
      "\$changed_gclk",
      "\$rising_gclk",
      "\$steady_gclk",
      "\$coverage_control",
      "\$coverage_get",
      "\$coverage_save",
      "\$set_coverage_db_name",
      "\$rose",
      "\$stable",
      "\$past",
      "\$rose_gclk",
      "\$stable_gclk",
      "\$future_gclk",
      "\$falling_gclk",
      "\$changing_gclk",
      "\$display",
      "\$coverage_get_max",
      "\$coverage_merge",
      "\$get_coverage",
      "\$load_coverage_db",
      "\$typename",
      "\$unpacked_dimensions",
      "\$left",
      "\$low",
      "\$increment",
      "\$clog2",
      "\$ln",
      "\$log10",
      "\$exp",
      "\$sqrt",
      "\$pow",
      "\$floor",
      "\$ceil",
      "\$sin",
      "\$cos",
      "\$tan",
      "\$countbits",
      "\$onehot",
      "\$isunknown",
      "\$fatal",
      "\$warning",
      "\$dimensions",
      "\$right",
      "\$high",
      "\$size",
      "\$asin",
      "\$acos",
      "\$atan",
      "\$atan2",
      "\$hypot",
      "\$sinh",
      "\$cosh",
      "\$tanh",
      "\$asinh",
      "\$acosh",
      "\$atanh",
      "\$countones",
      "\$onehot0",
      "\$error",
      "\$info",
      "\$random",
      "\$dist_chi_square",
      "\$dist_erlang",
      "\$dist_exponential",
      "\$dist_normal",
      "\$dist_poisson",
      "\$dist_t",
      "\$dist_uniform",
      "\$q_initialize",
      "\$q_remove",
      "\$q_exam",
      "\$async\$and\$array",
      "\$async\$nand\$array",
      "\$async\$or\$array",
      "\$async\$nor\$array",
      "\$sync\$and\$array",
      "\$sync\$nand\$array",
      "\$sync\$or\$array",
      "\$sync\$nor\$array",
      "\$q_add",
      "\$q_full",
      "\$psprintf",
      "\$async\$and\$plane",
      "\$async\$nand\$plane",
      "\$async\$or\$plane",
      "\$async\$nor\$plane",
      "\$sync\$and\$plane",
      "\$sync\$nand\$plane",
      "\$sync\$or\$plane",
      "\$sync\$nor\$plane",
      "\$system",
      "\$display",
      "\$displayb",
      "\$displayh",
      "\$displayo",
      "\$strobe",
      "\$strobeb",
      "\$strobeh",
      "\$strobeo",
      "\$write",
      "\$readmemb",
      "\$readmemh",
      "\$writememh",
      "\$value\$plusargs",
      "\$dumpvars",
      "\$dumpon",
      "\$dumplimit",
      "\$dumpports",
      "\$dumpportson",
      "\$dumpportslimit",
      "\$writeb",
      "\$writeh",
      "\$writeo",
      "\$monitor",
      "\$monitorb",
      "\$monitorh",
      "\$monitoro",
      "\$writememb",
      "\$dumpfile",
      "\$dumpoff",
      "\$dumpall",
      "\$dumpflush",
      "\$dumpportsoff",
      "\$dumpportsall",
      "\$dumpportsflush",
      "\$fclose",
      "\$fdisplay",
      "\$fdisplayb",
      "\$fdisplayh",
      "\$fdisplayo",
      "\$fstrobe",
      "\$fstrobeb",
      "\$fstrobeh",
      "\$fstrobeo",
      "\$swrite",
      "\$swriteb",
      "\$swriteh",
      "\$swriteo",
      "\$fscanf",
      "\$fread",
      "\$fseek",
      "\$fflush",
      "\$feof",
      "\$fopen",
      "\$fwrite",
      "\$fwriteb",
      "\$fwriteh",
      "\$fwriteo",
      "\$fmonitor",
      "\$fmonitorb",
      "\$fmonitorh",
      "\$fmonitoro",
      "\$sformat",
      "\$sformatf",
      "\$fgetc",
      "\$ungetc",
      "\$fgets",
      "\$sscanf",
      "\$rewind",
      "\$ftell",
      "\$ferror"
    ]
  },
  contains: [
    C_BLOCK_COMMENT_MODE,
    C_LINE_COMMENT_MODE,
    QUOTE_STRING_MODE,
    Mode(
      scope: "number",
      contains: [
        BACKSLASH_ESCAPE,
      ],
      variants: [
        Mode(
          begin: "\\b((\\d+'([bhodBHOD]))[0-9xzXZa-fA-F_]+)",
        ),
        Mode(
          begin: "\\B(('([bhodBHOD]))[0-9xzXZa-fA-F_]+)",
        ),
        Mode(
          begin: "\\b[0-9][0-9_]*",
          relevance: 0,
        ),
      ],
    ),
    Mode(
      scope: "variable",
      variants: [
        Mode(
          begin: "#\\((?!parameter).+\\)",
        ),
        Mode(
          begin: "\\.\\w+",
          relevance: 0,
        ),
      ],
    ),
    Mode(
      scope: "variable.constant",
      match: "`(?:__FILE__|__LINE__)",
    ),
    Mode(
      scope: "meta",
      begin:
          "`(?:begin_keywords|celldefine|default_nettype|default_decay_time|default_trireg_strength|define|delay_mode_distributed|delay_mode_path|delay_mode_unit|delay_mode_zero|else|elsif|end_keywords|endcelldefine|endif|ifdef|ifndef|include|line|nounconnected_drive|pragma|resetall|timescale|unconnected_drive|undef|undefineall)",
      end: "\$|\\/\\/|\\/\\*",
      returnEnd: true,
      keywords: [
        "begin_keywords",
        "celldefine",
        "default_nettype",
        "default_decay_time",
        "default_trireg_strength",
        "define",
        "delay_mode_distributed",
        "delay_mode_path",
        "delay_mode_unit",
        "delay_mode_zero",
        "else",
        "elsif",
        "end_keywords",
        "endcelldefine",
        "endif",
        "ifdef",
        "ifndef",
        "include",
        "line",
        "nounconnected_drive",
        "pragma",
        "resetall",
        "timescale",
        "unconnected_drive",
        "undef",
        "undefineall"
      ],
    ),
  ],
);