diff options
Diffstat (limited to 'kate/data/systemverilog.xml')
-rw-r--r-- | kate/data/systemverilog.xml | 1028 |
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="""/> + <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="!%&()+,-<=+/:;>?[]^{|}~@"/> + + <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="""/> + </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=""" char1="""/> + <RangeDetect attribute="Prep. Lib" context="#stay" char="<" char1=">"/> + <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="""/> + <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="""/> + <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> |