verilog function
Highlight.js language definition for verilog.
Implementation
Mode verilog(Highlight hljs) {
final Mode mode0 = Mode();
mode0.begin = r'\\[\s\S]';
mode0.relevance = 0;
return Mode(
name: r'Verilog',
aliases: [r'v', r'sv', r'svh'],
caseInsensitive: false,
keywords: {
r'$pattern': r'\$?[\w]+(\$[\w]+)*',
r'keyword': [
r'accept_on',
r'alias',
r'always',
r'always_comb',
r'always_ff',
r'always_latch',
r'and',
r'assert',
r'assign',
r'assume',
r'automatic',
r'before',
r'begin',
r'bind',
r'bins',
r'binsof',
r'bit',
r'break',
r'buf|0',
r'bufif0',
r'bufif1',
r'byte',
r'case',
r'casex',
r'casez',
r'cell',
r'chandle',
r'checker',
r'class',
r'clocking',
r'cmos',
r'config',
r'const',
r'constraint',
r'context',
r'continue',
r'cover',
r'covergroup',
r'coverpoint',
r'cross',
r'deassign',
r'default',
r'defparam',
r'design',
r'disable',
r'dist',
r'do',
r'edge',
r'else',
r'end',
r'endcase',
r'endchecker',
r'endclass',
r'endclocking',
r'endconfig',
r'endfunction',
r'endgenerate',
r'endgroup',
r'endinterface',
r'endmodule',
r'endpackage',
r'endprimitive',
r'endprogram',
r'endproperty',
r'endspecify',
r'endsequence',
r'endtable',
r'endtask',
r'enum',
r'event',
r'eventually',
r'expect',
r'export',
r'extends',
r'extern',
r'final',
r'first_match',
r'for',
r'force',
r'foreach',
r'forever',
r'fork',
r'forkjoin',
r'function',
r'generate|5',
r'genvar',
r'global',
r'highz0',
r'highz1',
r'if',
r'iff',
r'ifnone',
r'ignore_bins',
r'illegal_bins',
r'implements',
r'implies',
r'import',
r'incdir',
r'include',
r'initial',
r'inout',
r'input',
r'inside',
r'instance',
r'int',
r'integer',
r'interconnect',
r'interface',
r'intersect',
r'join',
r'join_any',
r'join_none',
r'large',
r'let',
r'liblist',
r'library',
r'local',
r'localparam',
r'logic',
r'longint',
r'macromodule',
r'matches',
r'medium',
r'modport',
r'module',
r'nand',
r'negedge',
r'nettype',
r'new',
r'nexttime',
r'nmos',
r'nor',
r'noshowcancelled',
r'not',
r'notif0',
r'notif1',
r'or',
r'output',
r'package',
r'packed',
r'parameter',
r'pmos',
r'posedge',
r'primitive',
r'priority',
r'program',
r'property',
r'protected',
r'pull0',
r'pull1',
r'pulldown',
r'pullup',
r'pulsestyle_ondetect',
r'pulsestyle_onevent',
r'pure',
r'rand',
r'randc',
r'randcase',
r'randsequence',
r'rcmos',
r'real',
r'realtime',
r'ref',
r'reg',
r'reject_on',
r'release',
r'repeat',
r'restrict',
r'return',
r'rnmos',
r'rpmos',
r'rtran',
r'rtranif0',
r'rtranif1',
r's_always',
r's_eventually',
r's_nexttime',
r's_until',
r's_until_with',
r'scalared',
r'sequence',
r'shortint',
r'shortreal',
r'showcancelled',
r'signed',
r'small',
r'soft',
r'solve',
r'specify',
r'specparam',
r'static',
r'string',
r'strong',
r'strong0',
r'strong1',
r'struct',
r'super',
r'supply0',
r'supply1',
r'sync_accept_on',
r'sync_reject_on',
r'table',
r'tagged',
r'task',
r'this',
r'throughout',
r'time',
r'timeprecision',
r'timeunit',
r'tran',
r'tranif0',
r'tranif1',
r'tri',
r'tri0',
r'tri1',
r'triand',
r'trior',
r'trireg',
r'type',
r'typedef',
r'union',
r'unique',
r'unique0',
r'unsigned',
r'until',
r'until_with',
r'untyped',
r'use',
r'uwire',
r'var',
r'vectored',
r'virtual',
r'void',
r'wait',
r'wait_order',
r'wand',
r'weak',
r'weak0',
r'weak1',
r'while',
r'wildcard',
r'wire',
r'with',
r'within',
r'wor',
r'xnor',
r'xor',
],
r'literal': [r'null'],
r'built_in': [
r'$finish',
r'$stop',
r'$exit',
r'$fatal',
r'$error',
r'$warning',
r'$info',
r'$realtime',
r'$time',
r'$printtimescale',
r'$bitstoreal',
r'$bitstoshortreal',
r'$itor',
r'$signed',
r'$cast',
r'$bits',
r'$stime',
r'$timeformat',
r'$realtobits',
r'$shortrealtobits',
r'$rtoi',
r'$unsigned',
r'$asserton',
r'$assertkill',
r'$assertpasson',
r'$assertfailon',
r'$assertnonvacuouson',
r'$assertoff',
r'$assertcontrol',
r'$assertpassoff',
r'$assertfailoff',
r'$assertvacuousoff',
r'$isunbounded',
r'$sampled',
r'$fell',
r'$changed',
r'$past_gclk',
r'$fell_gclk',
r'$changed_gclk',
r'$rising_gclk',
r'$steady_gclk',
r'$coverage_control',
r'$coverage_get',
r'$coverage_save',
r'$set_coverage_db_name',
r'$rose',
r'$stable',
r'$past',
r'$rose_gclk',
r'$stable_gclk',
r'$future_gclk',
r'$falling_gclk',
r'$changing_gclk',
r'$display',
r'$coverage_get_max',
r'$coverage_merge',
r'$get_coverage',
r'$load_coverage_db',
r'$typename',
r'$unpacked_dimensions',
r'$left',
r'$low',
r'$increment',
r'$clog2',
r'$ln',
r'$log10',
r'$exp',
r'$sqrt',
r'$pow',
r'$floor',
r'$ceil',
r'$sin',
r'$cos',
r'$tan',
r'$countbits',
r'$onehot',
r'$isunknown',
r'$fatal',
r'$warning',
r'$dimensions',
r'$right',
r'$high',
r'$size',
r'$asin',
r'$acos',
r'$atan',
r'$atan2',
r'$hypot',
r'$sinh',
r'$cosh',
r'$tanh',
r'$asinh',
r'$acosh',
r'$atanh',
r'$countones',
r'$onehot0',
r'$error',
r'$info',
r'$random',
r'$dist_chi_square',
r'$dist_erlang',
r'$dist_exponential',
r'$dist_normal',
r'$dist_poisson',
r'$dist_t',
r'$dist_uniform',
r'$q_initialize',
r'$q_remove',
r'$q_exam',
r'$async$and$array',
r'$async$nand$array',
r'$async$or$array',
r'$async$nor$array',
r'$sync$and$array',
r'$sync$nand$array',
r'$sync$or$array',
r'$sync$nor$array',
r'$q_add',
r'$q_full',
r'$psprintf',
r'$async$and$plane',
r'$async$nand$plane',
r'$async$or$plane',
r'$async$nor$plane',
r'$sync$and$plane',
r'$sync$nand$plane',
r'$sync$or$plane',
r'$sync$nor$plane',
r'$system',
r'$display',
r'$displayb',
r'$displayh',
r'$displayo',
r'$strobe',
r'$strobeb',
r'$strobeh',
r'$strobeo',
r'$write',
r'$readmemb',
r'$readmemh',
r'$writememh',
r'$value$plusargs',
r'$dumpvars',
r'$dumpon',
r'$dumplimit',
r'$dumpports',
r'$dumpportson',
r'$dumpportslimit',
r'$writeb',
r'$writeh',
r'$writeo',
r'$monitor',
r'$monitorb',
r'$monitorh',
r'$monitoro',
r'$writememb',
r'$dumpfile',
r'$dumpoff',
r'$dumpall',
r'$dumpflush',
r'$dumpportsoff',
r'$dumpportsall',
r'$dumpportsflush',
r'$fclose',
r'$fdisplay',
r'$fdisplayb',
r'$fdisplayh',
r'$fdisplayo',
r'$fstrobe',
r'$fstrobeb',
r'$fstrobeh',
r'$fstrobeo',
r'$swrite',
r'$swriteb',
r'$swriteh',
r'$swriteo',
r'$fscanf',
r'$fread',
r'$fseek',
r'$fflush',
r'$feof',
r'$fopen',
r'$fwrite',
r'$fwriteb',
r'$fwriteh',
r'$fwriteo',
r'$fmonitor',
r'$fmonitorb',
r'$fmonitorh',
r'$fmonitoro',
r'$sformat',
r'$sformatf',
r'$fgetc',
r'$ungetc',
r'$fgets',
r'$sscanf',
r'$rewind',
r'$ftell',
r'$ferror',
],
},
contains: [
Mode(
scope: r'comment',
begin: r'/\*',
end: r'\*/',
contains: [
Mode(
scope: r'doctag',
begin: r'[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)',
end: r'(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):',
excludeBegin: true,
relevance: 0,
),
Mode(
begin:
r"[ ]+((?:I|a|is|so|us|to|at|if|in|it|on|[A-Za-z]+['](d|ve|re|ll|t|s|n)|[A-Za-z]+[-][a-z]+|[A-Za-z][a-z]{2,})[.]?[:]?([.][ ]|[ ])){3}",
),
],
),
Mode(
scope: r'comment',
begin: r'//',
end: r'$',
contains: [
Mode(
scope: r'doctag',
begin: r'[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)',
end: r'(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):',
excludeBegin: true,
relevance: 0,
),
Mode(
begin:
r"[ ]+((?:I|a|is|so|us|to|at|if|in|it|on|[A-Za-z]+['](d|ve|re|ll|t|s|n)|[A-Za-z]+[-][a-z]+|[A-Za-z][a-z]{2,})[.]?[:]?([.][ ]|[ ])){3}",
),
],
),
Mode(
scope: r'string',
begin: r'"',
end: r'"',
illegal: r'\n',
contains: [mode0],
),
Mode(
scope: r'number',
contains: [mode0],
variants: [
Mode(begin: r"\b((\d+'([bhodBHOD]))[0-9xzXZa-fA-F_]+)"),
Mode(begin: r"\B(('([bhodBHOD]))[0-9xzXZa-fA-F_]+)"),
Mode(begin: r'\b[0-9][0-9_]*', relevance: 0),
],
),
Mode(
scope: r'variable',
variants: [
Mode(begin: r'#\((?!parameter).+\)'),
Mode(begin: r'\.\w+', relevance: 0),
],
),
Mode(scope: r'variable.constant', match: r'`(?:__FILE__|__LINE__)'),
Mode(
scope: r'meta',
begin:
r'`(?: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: r'$|\/\/|\/\*',
returnEnd: true,
keywords: [
r'begin_keywords',
r'celldefine',
r'default_nettype',
r'default_decay_time',
r'default_trireg_strength',
r'define',
r'delay_mode_distributed',
r'delay_mode_path',
r'delay_mode_unit',
r'delay_mode_zero',
r'else',
r'elsif',
r'end_keywords',
r'endcelldefine',
r'endif',
r'ifdef',
r'ifndef',
r'include',
r'line',
r'nounconnected_drive',
r'pragma',
r'resetall',
r'timescale',
r'unconnected_drive',
r'undef',
r'undefineall',
],
),
],
);
}