You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdelibs/kate/data/systemverilog.xml

1029 lines
40 KiB

<?xml version="1.0" encoding="UTF-8"?>
<!--***********************************************************************-->
<!-- $Id: systemverilog.xml 10 2009-06-25 03:41:39Z seanoboyle $ -->
<!--***********************************************************************-->
<!-- This program is free software: you can redistribute it and/or modify -->
<!-- it under the terms of the GNU General Public License as published by -->
<!-- the Free Software Foundation, either version 3 of the License, or -->
<!-- (at your option) any later version. -->
<!-- -->
<!-- This program is distributed in the hope that it will be useful, -->
<!-- but WITHOUT ANY WARRANTY; without even the implied warranty of -->
<!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -->
<!-- GNU General Public License for more details. -->
<!-- -->
<!-- You should have received a copy of the GNU General Public License -->
<!-- along with this program. If not, see <http://www.gnu.org/licenses/>.-->
<!-- -->
<!--***********************************************************************-->
<!-- Title: SystemVerilog Language Keywords File for Kate Editor -->
<!-- Description: This file contains the SV keywords defined in the -->
<!-- IEEE1800-2009 Draft Standard in the format expected by -->
<!-- the Kate Editor. -->
<!-- -->
<!-- Original Author: Sean O'Boyle -->
<!-- Contact: seanoboyle@intelligentdv.com -->
<!-- Company: Intelligent Design Verification -->
<!-- Company URL: http://intelligentdv.com -->
<!-- -->
<!-- Download the most recent version here: -->
<!-- http://intelligentdv.com/downloads -->
<!-- -->
<!-- File Bugs Here: http://bugs.intelligentdv.com -->
<!-- Project: SyntaxFiles -->
<!-- -->
<!-- File: systemverilog.xml -->
<!-- $LastChangedBy: seanoboyle $ -->
<!-- $LastChangedDate: 2009-06-24 20:41:39 -0700 (Wed, 24 Jun 2009) $ -->
<!-- $LastChangedRevision: 10 $ -->
<!-- -->
<!--***********************************************************************-->
<!DOCTYPE language SYSTEM "language.dtd">
<language name="SystemVerilog" version="2" kateversion="2.4" section="Hardware" extensions="*.sv;*.svh" mimetype="text/x-systemverilog-src" author="Sean O'Boyle (seanoboyle@intelligentdv.com)" license="GPL">
<highlighting>
<list name="key_deprecated">
<item> defparam </item>
<item> deassign </item>
</list>
<list name="key_dpi">
<item> DPI </item>
<item> DPI-C </item>
<item> import </item>
<item> export </item>
<item> context </item>
</list>
<list name="key_assert">
<item> assert </item>
<item> assume </item>
<item> cover </item>
<item> expect </item>
<item> disable </item>
<item> iff </item>
<item> binsof </item>
<item> intersect </item>
<item> first_match </item>
<item> throughout </item>
<item> within </item>
</list>
<list name="key_coverage">
<item> coverpoint </item>
<item> cross </item>
<item> wildcard </item>
<item> bins </item>
<item> ignore_bins </item>
<item> illegal_bins </item>
</list>
<list name="key_generator">
<item> genvar </item>
</list>
<list name="key_conditional">
<item> if </item>
<item> else </item>
<item> unique </item>
<item> priority </item>
<item> matches </item>
</list>
<list name="key_case">
<item> default </item>
</list>
<list name="key_loop">
<item> forever </item>
<item> repeat </item>
<item> while </item>
<item> for </item>
<item> do </item>
<item> foreach </item>
<item> break </item>
<item> continue </item>
<item> return </item>
</list>
<list name="key_specify">
<item> pulsestyle_onevent </item>
<item> pulsestyle_ondetect </item>
<item> noshowcancelled </item>
<item> showcancelled </item>
<item> ifnone </item>
</list>
<list name="key_procblock">
<item> initial </item>
<item> final </item>
<item> always </item>
<item> always_comb </item>
<item> always_ff </item>
<item> always_latch </item>
</list>
<list name="key_contassign">
<item> alias </item>
<item> assign </item>
<item> force </item>
<item> release </item>
</list>
<list name="key_event">
<item> posedge </item>
<item> negedge </item>
<item> edge </item>
<item> wait </item>
<item> wait_order </item>
</list>
<list name="key_time">
<item> timeunit </item>
<item> timeprecision </item>
<item> s </item>
<item> ms </item>
<item> ns </item>
<item> us </item>
<item> ns </item>
<item> ps </item>
<item> fs </item>
<item> step </item>
</list>
<list name="key_class">
<item> new </item>
<item> extends </item>
<item> this </item>
<item> super </item>
<item> protected </item>
<item> local </item>
<item> rand </item>
<item> randc </item>
<item> bind </item>
</list>
<list name="key_constraint">
<item> constraint </item>
<item> solve </item>
<item> before </item>
<item> dist </item>
<item> inside </item>
<item> with </item>
</list>
<list name="key_methods">
<item> virtual </item>
<item> pure </item>
<item> extern </item>
<item> forkjoin </item>
</list>
<list name="key_config">
<item> design </item>
<item> instance </item>
<item> cell </item>
<item> liblist </item>
<item> use </item>
</list>
<list name="key_library">
<item> library </item>
<item> incdir </item>
<item> include </item>
</list>
<list name="key_interface">
<item> modport </item>
</list>
<list name="key_checker">
<item> sync_accept_on </item>
<item> reject_on </item>
<item> accept_on </item>
<item> sync_reject_on </item>
<item> restrict </item>
<item> let </item>
<item> until </item>
<item> until_with </item>
<item> unique0 </item>
<item> eventually </item>
<item> s_until </item>
<item> s_always </item>
<item> s_eventually </item>
<item> s_nexttime </item>
<item> s_until_with </item>
<item> global </item>
<item> untyped </item>
<item> implies </item>
<item> weak </item>
<item> strong </item>
<item> nexttime </item>
</list>
<list name="key_types">
<!-- parameters -->
<item> parameter </item>
<item> localparam </item>
<item> specparam </item>
<!-- port direction -->
<item> input </item>
<item> output </item>
<item> inout </item>
<item> ref </item>
<!-- integer atom type -->
<item> byte </item>
<item> shortint </item>
<item> int </item>
<item> integer </item>
<item> longint </item>
<item> time </item>
<!-- integer vector type -->
<item> bit </item>
<item> logic </item>
<item> reg </item>
<!-- net type -->
<item> supply0 </item>
<item> supply1 </item>
<item> tri </item>
<item> triand </item>
<item> trior </item>
<item> trireg </item>
<item> tri0 </item>
<item> tri1 </item>
<item> wire </item>
<item> uwire </item>
<item> wand </item>
<item> wor </item>
<!-- signing -->
<item> signed </item>
<item> unsigned </item>
<!-- noninteger type -->
<item> shortreal </item>
<item> real </item>
<item> realtime </item>
<!-- type reference -->
<item> type </item>
<item> void </item>
<!-- struct union -->
<item> struct </item>
<item> union </item>
<item> tagged </item>
<!-- modifier -->
<item> const </item>
<item> var </item>
<item> automatic </item>
<item> static </item>
<item> packed </item>
<item> vectored </item>
<item> scalared </item>
<!-- other types -->
<item> typedef </item>
<item> enum </item>
<item> string </item>
<item> chandle </item>
<item> event </item>
<!-- misc -->
<item> null </item>
</list>
<list name="key_preprocessor">
<item> `__FILE__ </item>
<item> `__LINE__ </item>
<item> `begin_keywords </item>
<item> `celldefine </item>
<item> `default_nettype </item>
<item> `define </item>
<item> `else </item>
<item> `elsif </item>
<item> `end_keywords </item>
<item> `endcelldefine </item>
<item> `endif </item>
<item> `ifdef </item>
<item> `ifndef </item>
<item> `include </item>
<item> `line </item>
<item> `nounconnected_drive </item>
<item> `pragma </item>
<item> `resetall </item>
<item> `timescale </item>
<item> `unconnected_drive </item>
<item> `undef </item>
<item> `undefineall </item>
</list>
<list name="key_system">
<item> $finish </item>
<item> $stop </item>
<item> $exit </item>
<item> $realtime </item>
<item> $stime </item>
<item> $time </item>
<item> $printtimescale </item>
<item> $timeformat </item>
<item> $bitstoreal </item>
<item> $realtobits </item>
<item> $bitstoshortreal </item>
<item> $shortrealtobits </item>
<item> $itor </item>
<item> $rtoi </item>
<item> $signed </item>
<item> $unsigned </item>
<item> $cast </item>
<item> $bits </item>
<item> $isunbounded </item>
<item> $typename </item>
<item> $unpacked_dimensions </item>
<item> $dimensions </item>
<item> $left </item>
<item> $right </item>
<item> $low </item>
<item> $high </item>
<item> $increment </item>
<item> $size </item>
<item> $clog2 </item>
<item> $asin </item>
<item> $ln </item>
<item> $acos </item>
<item> $log10 </item>
<item> $atan </item>
<item> $exp </item>
<item> $atan2 </item>
<item> $sqrt </item>
<item> $hypot </item>
<item> $pow </item>
<item> $sinh </item>
<item> $floor </item>
<item> $cosh </item>
<item> $ceil </item>
<item> $tanh </item>
<item> $sin </item>
<item> $asinh </item>
<item> $cos </item>
<item> $acosh </item>
<item> $tan </item>
<item> $atanh </item>
<item> $fatal </item>
<item> $error </item>
<item> $warning </item>
<item> $info </item>
<item> $fatal </item>
<item> $error </item>
<item> $warning </item>
<item> $info </item>
<item> $asserton </item>
<item> $assertoff </item>
<item> $assertkill </item>
<item> $assertpasson </item>
<item> $assertpassoff </item>
<item> $assertfailon </item>
<item> $assertfailoff </item>
<item> $assertnonvacuouson </item>
<item> $assertvacuousoff </item>
<item> $onehot </item>
<item> $onehot0 </item>
<item> $isunknown </item>
<item> $sampled </item>
<item> $rose </item>
<item> $fell </item>
<item> $stable </item>
<item> $changed </item>
<item> $past </item>
<item> $countones </item>
<item> $past_gclk </item>
<item> $rose_gclk </item>
<item> $fell_gclk </item>
<item> $stable_gclk </item>
<item> $changed_gclk </item>
<item> $future_gclk </item>
<item> $rising_gclk </item>
<item> $falling_gclk </item>
<item> $steady_gclk </item>
<item> $changing_gclk </item>
<item> $coverage_control </item>
<item> $coverage_get_max </item>
<item> $coverage_get </item>
<item> $coverage_merge </item>
<item> $coverage_save </item>
<item> $get_coverage </item>
<item> $set_coverage_db_name </item>
<item> $load_coverage_db </item>
<item> $random </item>
<item> $dist_chi_square </item>
<item> $dist_erlang </item>
<item> $dist_exponential </item>
<item> $dist_normal </item>
<item> $dist_poisson </item>
<item> $dist_t </item>
<item> $dist_uniform </item>
<item> $q_initialize </item>
<item> $q_add </item>
<item> $q_remove </item>
<item> $q_full </item>
<item> $q_exam </item>
<item> $async$and$array </item>
<item> $async$and$plane </item>
<item> $async$nand$array </item>
<item> $async$nand$plane </item>
<item> $async$or$array </item>
<item> $async$or$plane </item>
<item> $async$nor$array </item>
<item> $async$nor$plane </item>
<item> $sync$and$array </item>
<item> $sync$and$plane </item>
<item> $sync$nand$array </item>
<item> $sync$nand$plane </item>
<item> $sync$or$array </item>
<item> $sync$or$plane </item>
<item> $sync$nor$array </item>
<item> $sync$nor$plane </item>
<item> $system </item>
<item> $display </item>
<item> $write </item>
<item> $displayb </item>
<item> $writeb </item>
<item> $displayh </item>
<item> $writeh </item>
<item> $displayo </item>
<item> $writeo </item>
<item> $strobe </item>
<item> $monitor </item>
<item> $strobeb </item>
<item> $monitorb </item>
<item> $strobeh </item>
<item> $monitorh </item>
<item> $strobeo </item>
<item> $monitoro </item>
<item> $monitoroff </item>
<item> $monitoron </item>
<item> $fclose </item>
<item> $fopen </item>
<item> $fdisplay </item>
<item> $fwrite </item>
<item> $fdisplayb </item>
<item> $fwriteb </item>
<item> $fdisplayh </item>
<item> $fwriteh </item>
<item> $fdisplayo </item>
<item> $fwriteo </item>
<item> $fstrobe </item>
<item> $fmonitor </item>
<item> $fstrobeb </item>
<item> $fmonitorb </item>
<item> $fstrobeh </item>
<item> $fmonitorh </item>
<item> $fstrobeo </item>
<item> $fmonitoro </item>
<item> $swrite </item>
<item> $sformat </item>
<item> $swriteb </item>
<item> $sformatf </item>
<item> $swriteh </item>
<item> $fgetc </item>
<item> $swriteo </item>
<item> $ungetc </item>
<item> $fscanf </item>
<item> $fgets </item>
<item> $fread </item>
<item> $sscanf </item>
<item> $fseek </item>
<item> $rewind </item>
<item> $fflush </item>
<item> $ftell </item>
<item> $feof </item>
<item> $ferror </item>
<item> $readmemb </item>
<item> $readmemh </item>
<item> $writememb </item>
<item> $writememh </item>
<item> $test$plusargs </item>
<item> $value$plusargs </item>
<item> $dumpfile </item>
<item> $dumpvars </item>
<item> $dumpoff </item>
<item> $dumpon </item>
<item> $dumpall </item>
<item> $dumplimit </item>
<item> $dumpflush </item>
<item> $dumpports </item>
<item> $dumpportsoff </item>
<item> $dumpportson </item>
<item> $dumpportsall </item>
<item> $dumpportslimit </item>
<item> $dumpportsflush </item>
</list>
<list name="key_gates">
<item> pullup </item>
<item> pulldown </item>
<item> cmos </item>
<item> rcmos </item>
<item> nmos </item>
<item> pmos </item>
<item> rnmos </item>
<item> rpmos </item>
<item> and </item>
<item> nand </item>
<item> or </item>
<item> nor </item>
<item> xor </item>
<item> xnor </item>
<item> not </item>
<item> buf </item>
<item> tran </item>
<item> rtran </item>
<item> tranif0 </item>
<item> tranif1 </item>
<item> rtranif0 </item>
<item> rtranif1 </item>
<item> bufif0 </item>
<item> bufif1 </item>
<item> notif0 </item>
<item> notif1 </item>
</list>
<list name="key_strength">
<!-- drive strength -->
<item> strong0 </item>
<item> strong1 </item>
<item> pull0 </item>
<item> pull1 </item>
<item> weak0 </item>
<item> weak1 </item>
<item> highz0 </item>
<item> highz1 </item>
<!-- charge strength -->
<item> small </item>
<item> medium </item>
<item> large </item>
</list>
<list name="key_stdlib">
<item> randomize </item>
<item> mailbox </item>
<item> semaphore </item>
<item> put </item>
<item> get </item>
<item> try_put </item>
<item> try_get </item>
<item> peek </item>
<item> try_peek </item>
<item> process </item>
<item> state </item>
<item> self </item>
<item> status </item>
<item> kill </item>
<item> await </item>
<item> suspend </item>
<item> resume </item>
<!-- Array -->
<item> size </item>
<item> delete </item>
<item> insert </item>
<item> num </item>
<item> first </item>
<item> last </item>
<item> next </item>
<item> prev </item>
<item> pop_front </item>
<item> pop_back </item>
<item> push_front </item>
<item> push_back </item>
<item> find </item>
<item> find_index </item>
<item> find_first </item>
<item> find_last </item>
<item> find_last_index </item>
<item> min </item>
<item> max </item>
<item> unique_index </item>
<item> reverse </item>
<item> sort </item>
<item> rsort </item>
<item> shuffle </item>
<item> sum </item>
<item> product </item>
<!-- List_pkg -->
<item> List </item>
<item> List_Iterator </item>
<item> neq </item>
<item> eq </item>
<item> data </item>
<item> empty </item>
<item> front </item>
<item> back </item>
<item> start </item>
<item> finish </item>
<item> insert_range </item>
<item> erase </item>
<item> erase_range </item>
<item> set </item>
<item> swap </item>
<item> clear </item>
<item> purge </item>
</list>
<list name="begin">
<item>begin</item>
</list>
<list name="end">
<item>end</item>
</list>
<list name="package">
<item> package </item>
</list>
<list name="endpackage">
<item> endpackage </item>
</list>
<list name="macromodule">
<item> macromodule </item>
</list>
<list name="module">
<item> module </item>
</list>
<list name="endmodule">
<item> endmodule </item>
</list>
<list name="generate">
<item> generate </item>
</list>
<list name="endgenerate">
<item> endgenerate </item>
</list>
<list name="program">
<item> program </item>
</list>
<list name="endprogram">
<item> endprogram </item>
</list>
<list name="class">
<item> class </item>
</list>
<list name="endclass">
<item> endclass </item>
</list>
<list name="function">
<item> function </item>
</list>
<list name="endfunction">
<item> endfunction </item>
</list>
<list name="case">
<item> case </item>
</list>
<list name="casex">
<item> casex </item>
</list>
<list name="casez">
<item> casez </item>
</list>
<list name="randcase">
<item> randcase </item>
</list>
<list name="endcase">
<item> endcase </item>
</list>
<list name="interface">
<item> interface </item>
</list>
<list name="endinterface">
<item> endinterface </item>
</list>
<list name="clocking">
<item> clocking </item>
</list>
<list name="endclocking">
<item> endclocking </item>
</list>
<list name="task">
<item> task </item>
</list>
<list name="endtask">
<item> endtask </item>
</list>
<list name="primitive">
<item> primitive </item>
</list>
<list name="endprimitive">
<item> endprimitive </item>
</list>
<list name="fork">
<item> fork </item>
</list>
<list name="join">
<item> join </item>
</list>
<list name="join_any">
<item> join_any </item>
</list>
<list name="join_none">
<item> join_none </item>
</list>
<list name="covergroup">
<item> covergroup </item>
</list>
<list name="endgroup">
<item> endgroup </item>
</list>
<list name="checker">
<item> checker </item>
</list>
<list name="endchecker">
<item> endchecker </item>
</list>
<list name="property">
<item> property </item>
</list>
<list name="endproperty">
<item> endproperty </item>
</list>
<list name="randsequence">
<item> randsequence </item>
</list>
<list name="sequence">
<item> sequence </item>
</list>
<list name="endsequence">
<item> endsequence </item>
</list>
<list name="specify">
<item> specify </item>
</list>
<list name="endspecify">
<item> endspecify </item>
</list>
<list name="config">
<item> config </item>
</list>
<list name="endconfig">
<item> endconfig </item>
</list>
<list name="table">
<item> table </item>
</list>
<list name="endtable">
<item> endtable </item>
</list>
<list name="extern">
<item> extern </item>
</list>
<list name="pure">
<item> pure </item>
</list>
<list name="typedef">
<item> typedef </item>
</list>
<list name="import">
<item> import </item>
</list>
<contexts>
<context attribute="Normal Text" lineEndContext="#stay" name="Normal">
<DetectChar attribute="Symbol" context="#stay" char="{" beginRegion="Brace1"/>
<DetectChar attribute="Symbol" context="#stay" char="}" endRegion="Brace1"/>
<RegExpr attribute="Block Keyword" context="Block Name" String="begin\ *:" beginRegion="beginEnd"/>
<keyword attribute="Method Keyword" context="Extern Context" String="extern"/>
<keyword attribute="Method Keyword" context="Extern Context" String="pure"/>
<keyword attribute="Method Keyword" context="Extern Context" String="import"/>
<keyword attribute="Type Keyword" context="Typedef Context" String="typedef"/>
<keyword attribute="Block Keyword" context="#stay" String="begin" beginRegion="beginEnd"/>
<keyword attribute="Block Keyword" context="#stay" String="end" endRegion="beginEnd"/>
<keyword attribute="Block Keyword" context="#stay" String="package" beginRegion="packageEndpackage"/>
<keyword attribute="Block Keyword" context="#stay" String="endpackage" endRegion="packageEndpackage"/>
<keyword attribute="Block Keyword" context="#stay" String="macromodule" beginRegion="moduleEndmodule"/>
<keyword attribute="Block Keyword" context="#stay" String="module" beginRegion="moduleEndmodule"/>
<keyword attribute="Block Keyword" context="#stay" String="endmodule" endRegion="moduleEndmodule"/>
<keyword attribute="Block Keyword" context="#stay" String="generate" beginRegion="generateEndgenerate"/>
<keyword attribute="Block Keyword" context="#stay" String="endgenerate" endRegion="generateEndgenerate"/>
<keyword attribute="Block Keyword" context="#stay" String="program" beginRegion="programEndprogram"/>
<keyword attribute="Block Keyword" context="#stay" String="endprogram" endRegion="programEndprogram"/>
<keyword attribute="Block Keyword" context="#stay" String="class" beginRegion="classEndclass"/>
<keyword attribute="Block Keyword" context="#stay" String="endclass" endRegion="classEndclass"/>
<keyword attribute="Block Keyword" context="#stay" String="function" beginRegion="functionEndfunction"/>
<keyword attribute="Block Keyword" context="#stay" String="endfunction" endRegion="functionEndfunction"/>
<keyword attribute="Block Keyword" context="#stay" String="case" beginRegion="caseEndcase"/>
<keyword attribute="Block Keyword" context="#stay" String="casex" beginRegion="caseEndcase"/>
<keyword attribute="Block Keyword" context="#stay" String="casez" beginRegion="caseEndcase"/>
<keyword attribute="Block Keyword" context="#stay" String="randcase" beginRegion="caseEndcase"/>
<keyword attribute="Block Keyword" context="#stay" String="endcase" endRegion="caseEndcase"/>
<keyword attribute="Block Keyword" context="#stay" String="interface" beginRegion="interfaceEndinterface"/>
<keyword attribute="Block Keyword" context="#stay" String="endinterface" endRegion="interfaceEndinterface"/>
<keyword attribute="Block Keyword" context="#stay" String="clocking" beginRegion="clockingEndclocking"/>
<keyword attribute="Block Keyword" context="#stay" String="endclocking" endRegion="clockingEndclocking"/>
<keyword attribute="Block Keyword" context="#stay" String="task" beginRegion="taskEndtask"/>
<keyword attribute="Block Keyword" context="#stay" String="endtask" endRegion="taskEndtask"/>
<keyword attribute="Block Keyword" context="#stay" String="primitive" beginRegion="primitiveEndprimitive"/>
<keyword attribute="Block Keyword" context="#stay" String="endprimitive" endRegion="primitiveEndprimitive"/>
<keyword attribute="Block Keyword" context="#stay" String="fork" beginRegion="forkJoin"/>
<keyword attribute="Block Keyword" context="#stay" String="join" endRegion="forkJoin"/>
<keyword attribute="Block Keyword" context="#stay" String="join_any" endRegion="forkJoin"/>
<keyword attribute="Block Keyword" context="#stay" String="join_none" endRegion="forkJoin"/>
<keyword attribute="Block Keyword" context="#stay" String="covergroup" beginRegion="covergroupEndgroup"/>
<keyword attribute="Block Keyword" context="#stay" String="endgroup" endRegion="covergroupEndgroup"/>
<keyword attribute="Block Keyword" context="#stay" String="checker" beginRegion="checkerEndchecker"/>
<keyword attribute="Block Keyword" context="#stay" String="endchecker" endRegion="checkerEndchecker"/>
<keyword attribute="Block Keyword" context="#stay" String="property" beginRegion="propertyEndproperty"/>
<keyword attribute="Block Keyword" context="#stay" String="endproperty" endRegion="propertyEndproperty"/>
<keyword attribute="Block Keyword" context="#stay" String="randsequence" beginRegion="sequenceEndsequence"/>
<keyword attribute="Block Keyword" context="#stay" String="sequence" beginRegion="sequenceEndsequence"/>
<keyword attribute="Block Keyword" context="#stay" String="endsequence" endRegion="sequenceEndsequence"/>
<keyword attribute="Block Keyword" context="#stay" String="specify" beginRegion="specifyEndspecify"/>
<keyword attribute="Block Keyword" context="#stay" String="endspecify" endRegion="specifyEndspecify"/>
<keyword attribute="Block Keyword" context="#stay" String="config" beginRegion="configEndconfig"/>
<keyword attribute="Block Keyword" context="#stay" String="endconfig" endRegion="configEndconfig"/>
<keyword attribute="Block Keyword" context="#stay" String="table" beginRegion="tableEndtable"/>
<keyword attribute="Block Keyword" context="#stay" String="endtable" endRegion="tableEndtable"/>
<keyword attribute="Deprecated Keyword" context="#stay" String="key_deprecated"/>
<keyword attribute="DPI Keyword" context="#stay" String="key_dpi"/>
<keyword attribute="Assert Keyword" context="#stay" String="key_assert"/>
<keyword attribute="Coverage Keyword" context="#stay" String="key_coverage"/>
<keyword attribute="Generator Keyword" context="#stay" String="key_generator"/>
<keyword attribute="Confitional Keyword" context="#stay" String="key_conditional"/>
<keyword attribute="Case Keyword" context="#stay" String="key_case"/>
<keyword attribute="Loop Keyword" context="#stay" String="key_loop"/>
<keyword attribute="Specify Keyword" context="#stay" String="key_specify"/>
<keyword attribute="Process Block Keyword" context="#stay" String="key_procblock"/>
<keyword attribute="Continuous Assign Keyword" context="#stay" String="key_contassign"/>
<keyword attribute="Event Keyword" context="#stay" String="key_event"/>
<keyword attribute="Time Keyword" context="#stay" String="key_time"/>
<keyword attribute="Class Keyword" context="#stay" String="key_class"/>
<keyword attribute="Constraint Keyword" context="#stay" String="key_constraint"/>
<keyword attribute="Method Keyword" context="#stay" String="key_methods"/>
<keyword attribute="Config Keyword" context="#stay" String="key_config"/>
<keyword attribute="Library Keyword" context="#stay" String="key_library"/>
<keyword attribute="Interface Keyword" context="#stay" String="key_interface"/>
<keyword attribute="Checker Keyword" context="#stay" String="key_checker"/>
<keyword attribute="Type Keyword" context="#stay" String="key_types"/>
<keyword attribute="Preprocessor Keyword" context="#stay" String="key_preprocessor"/>
<keyword attribute="System Task Keyword" context="#stay" String="key_system"/>
<keyword attribute="Data Type Keyword" context="#stay" String="key_types"/>
<keyword attribute="Drive/Charge Strength Keyword" context="#stay" String="key_strength"/>
<keyword attribute="Gate Instantiation Keyword" context="#stay" String="key_gates"/>
<keyword attribute="Standard Library" context="#stay" String="key_stdlib"/>
<RegExpr attribute="Decimal" context="#stay" String="[\d_]*'d[\d_]+"/>
<RegExpr attribute="Octal" context="#stay" String="[\d_]*'o[0-7xXzZ_]+"/>
<RegExpr attribute="Hex" context="#stay" String="[\d_]*'h[\da-fA-FxXzZ_]+"/>
<RegExpr attribute="Binary" context="#stay" String="[\d_]*'b[01_zZxX]+"/>
<Float attribute="Float" context="#stay"/>
<Int attribute="Integer" context="#stay"/>
<RegExpr attribute="Port Connection" context="#stay" String="[^\w$]\.[a-zA-Z]+[\w$]*"/>
<DetectChar attribute="String" context="String" char="&quot;"/>
<IncludeRules context="##Doxygen" />
<Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/"/>
<Detect2Chars attribute="Comment" context="Commentar 2" char="/" char1="*" beginRegion="Comment"/>
<AnyChar attribute="Symbol" context="#stay" String="!%&amp;()+,-&lt;=+/:;&gt;?[]^{|}~@"/>
<DetectChar attribute="Preprocessor" context="Preprocessor" char="`" column="0"/>
<RegExpr attribute="Preprocessor" context="#stay" String="\`[a-zA-Z_]+\w*" />
<RegExpr attribute="PLI Task" context="#stay" String="\$[a-zA-Z_]+\w*"/>
<RegExpr attribute="Delay" context="#stay" String="#[\d_]+"/>
</context>
<context attribute="Extern Context" lineEndContext="#pop" name="Extern Context">
<keyword attribute="Method Keyword" context="#stay" String="key_methods"/>
<keyword attribute="DPI Keyword" context="#stay" String="key_dpi"/>
<keyword attribute="Class Keyword" context="#stay" String="key_class"/>
<keyword attribute="Constraint Keyword" context="#stay" String="key_constraint"/>
<keyword attribute="Block Keyword" context="#pop" String="function"/>
<keyword attribute="Block Keyword" context="#pop" String="task"/>
</context>
<context attribute="Typedef Context" lineEndContext="#pop" name="Typedef Context">
<keyword attribute="Block Keyword" context="#pop" String="class"/>
<keyword attribute="Type Keyword" context="#pop" String="key_types"/>
<keyword attribute="Interface Keyword" context="#pop" String="key_interface"/>
<keyword attribute="Checker Keyword" context="#pop" String="key_checker"/>
</context>
<context attribute="String" lineEndContext="#pop" name="String">
<LineContinue attribute="String" context="#stay"/>
<HlCStringChar attribute="String Char" context="#stay"/>
<DetectChar attribute="String" context="#pop" char="&quot;"/>
</context>
<context attribute="Comment" lineEndContext="#pop" name="Commentar 1">
<LineContinue attribute="Comment" context="#stay"/>
<DetectSpaces />
<IncludeRules context="##Alerts" />
<DetectIdentifier />
</context>
<context attribute="Comment" lineEndContext="#stay" name="Commentar 2">
<DetectSpaces />
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment"/>
<IncludeRules context="##Alerts" />
<DetectIdentifier />
</context>
<context attribute="Preprocessor" lineEndContext="#pop" name="Preprocessor">
<LineContinue attribute="Preprocessor" context="#stay"/>
<RangeDetect attribute="Prep. Lib" context="#stay" char="&quot;" char1="&quot;"/>
<RangeDetect attribute="Prep. Lib" context="#stay" char="&lt;" char1="&gt;"/>
<IncludeRules context="##Doxygen" />
<Detect2Chars attribute="Comment" context="Commentar/Preprocessor" char="/" char1="*" beginRegion="Comment2" />
<Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/"/>
</context>
<context attribute="Preprocessor" lineEndContext="#pop" name="Define">
<LineContinue attribute="Preprocessor" context="#stay"/>
</context>
<context attribute="Comment" lineEndContext="#stay" name="Commentar/Preprocessor">
<DetectSpaces />
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment2" />
<DetectIdentifier />
</context>
<context attribute="Comment" lineEndContext="#stay" name="Outscoped" >
<DetectSpaces />
<IncludeRules context="##Alerts" />
<DetectIdentifier />
<DetectChar attribute="String" context="String" char="&quot;"/>
<IncludeRules context="##Doxygen" />
<Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/"/>
<Detect2Chars attribute="Comment" context="Commentar 2" char="/" char1="*" beginRegion="Comment"/>
<RegExpr attribute="Comment" context="Outscoped intern" String="#\s*if" beginRegion="PP" firstNonSpace="true" />
<RegExpr attribute="Preprocessor" context="#pop" String="#\s*el(?:se|if)" firstNonSpace="true" />
<RegExpr attribute="Preprocessor" context="#pop" String="#\s*endif" endRegion="PP" firstNonSpace="true" />
</context>
<context attribute="Comment" lineEndContext="#stay" name="Outscoped intern">
<DetectSpaces />
<IncludeRules context="##Alerts" />
<DetectIdentifier />
<DetectChar attribute="String" context="String" char="&quot;"/>
<IncludeRules context="##Doxygen" />
<Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/"/>
<Detect2Chars attribute="Comment" context="Commentar 2" char="/" char1="*" beginRegion="Comment"/>
<RegExpr attribute="Comment" context="Outscoped intern" String="#\s*if" beginRegion="PP" firstNonSpace="true" />
<RegExpr attribute="Comment" context="#pop" String="#\s*endif" endRegion="PP" firstNonSpace="true" />
</context>
<context attribute="Block Name" lineEndContext="#pop" name="Block Name">
<RegExpr attribute="Data Type Keyword" context="#pop" String="[^ ]+"/>
</context>
</contexts>
<itemDatas>
<itemData name="Normal Text" defStyleNum="dsNormal"/>
<itemData name="Keyword" defStyleNum="dsKeyword"/>
<itemData name="Block Keyword" defStyleNum="dsKeyword"/>
<itemData name="DPI Keyword" defStyleNum="dsKeyword"/>
<itemData name="Assert Keyword" defStyleNum="dsKeyword"/>
<itemData name="Coverage Keyword" defStyleNum="dsKeyword"/>
<itemData name="Generator Keyword" defStyleNum="dsKeyword"/>
<itemData name="Confitional Keyword" defStyleNum="dsKeyword"/>
<itemData name="Case Keyword" defStyleNum="dsKeyword"/>
<itemData name="Loop Keyword" defStyleNum="dsKeyword"/>
<itemData name="Specify Keyword" defStyleNum="dsKeyword"/>
<itemData name="Process Block Keyword" defStyleNum="dsKeyword"/>
<itemData name="Continuous Assign Keyword" defStyleNum="dsKeyword"/>
<itemData name="Event Keyword" defStyleNum="dsKeyword"/>
<itemData name="Time Keyword" defStyleNum="dsKeyword"/>
<itemData name="Class Keyword" defStyleNum="dsKeyword"/>
<itemData name="Constraint Keyword" defStyleNum="dsKeyword"/>
<itemData name="Method Keyword" defStyleNum="dsKeyword"/>
<itemData name="Config Keyword" defStyleNum="dsKeyword"/>
<itemData name="Library Keyword" defStyleNum="dsKeyword"/>
<itemData name="Interface Keyword" defStyleNum="dsKeyword"/>
<itemData name="Checker Keyword" defStyleNum="dsKeyword"/>
<itemData name="Type Keyword" defStyleNum="dsKeyword"/>
<itemData name="Preprocessor Keyword" defStyleNum="dsOthers"/>
<itemData name="Preprocessor" defStyleNum="dsOthers"/>
<itemData name="System Task Keyword" defStyleNum="dsKeyword"/>
<itemData name="Data Type Keyword" defStyleNum="dsKeyword"/>
<itemData name="Drive/Charge Strength Keyword" defStyleNum="dsKeyword"/>
<itemData name="Gate Instantiation Keyword" defStyleNum="dsKeyword"/>
<itemData name="Data Type Keyword" defStyleNum="dsDataType"/>
<itemData name="Decimal" defStyleNum="dsBaseN"/>
<itemData name="Octal" defStyleNum="dsBaseN"/>
<itemData name="Hex" defStyleNum="dsBaseN"/>
<itemData name="Binary" defStyleNum="dsBaseN"/>
<itemData name="Float" defStyleNum="dsFloat"/>
<itemData name="String" defStyleNum="dsString"/>
<itemData name="String Char" defStyleNum="dsChar"/>
<itemData name="Comment" defStyleNum="dsComment"/>
<itemData name="Deprecated Keyword" defStyleNum="dsError"/>
<itemData name="Symbol" defStyleNum="dsNormal"/>
<itemData name="Preprocessor Keyword" defStyleNum="dsOthers"/>
<itemData name="Prep. Lib" defStyleNum="dsFloat"/>
<itemData name="PLI Task" defStyleNum="dsDataType"/>
<itemData name="System Task Keyword" defStyleNum="dsDataType"/>
<itemData name="Integer" defStyleNum="dsDecVal"/>
<itemData name="Delay" defStyleNum="dsBaseN"/>
<itemData name="Block Name" defStyleNum="dsDataType"/>
<itemData name="Drive/Charge Strength Keyword" defStyleNum="dsBaseN"/>
<itemData name="Gate Instantiation Keyword" defStyleNum="dsDataType"/>
<itemData name="Port Connection" defStyleNum="dsDataType"/>
<itemData name="Standard Library" defStyleNum="dsOthers"/>
</itemDatas>
</highlighting>
<general>
<comments>
<comment name="singleLine" start="//" />
<comment name="multiLine" start="/*" end="*/" region="Comment"/>
</comments>
<keywords casesensitive="1"/>
</general>
</language>