summaryrefslogtreecommitdiffstats
path: root/kate/data/systemverilog.xml
diff options
context:
space:
mode:
Diffstat (limited to 'kate/data/systemverilog.xml')
-rw-r--r--kate/data/systemverilog.xml1028
1 files changed, 1028 insertions, 0 deletions
diff --git a/kate/data/systemverilog.xml b/kate/data/systemverilog.xml
new file mode 100644
index 000000000..a13d3fc19
--- /dev/null
+++ b/kate/data/systemverilog.xml
@@ -0,0 +1,1028 @@
+<?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="1.50" 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>