<?xml version="1.0"?>
<!DOCTYPE hrc PUBLIC "-//Cail Lomecb//DTD Colorer HRC take5//EN"
  "http://colorer.sf.net/2003/hrc.dtd">
<hrc version="take5" xmlns="http://colorer.sf.net/2003/hrc"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://colorer.sf.net/2003/hrc http://colorer.sf.net/2003/hrc.xsd">
<!--
  Colorer sheme file for PV-Wave script language

  by Konstantin Khlopenkov <konstan@nifs.ac.jp>
  19.12.2000


-->
   <type name="pvwave" access="public">

      <import type="def"/>

      <region name="pvwString" parent="String"/>
      <region name="pvwComment" parent="Comment"/>
      <region name="pvwSymb" parent="Symbol"/>
      <region name="pvwWord" parent="Keyword"/>
      <region name="pvwWord2" parent="KeywordStrong"/>
      <region name="pvwFunction" parent="Function"/>
      <region name="pvwLabel" parent="Label"/>
      <region name="pvwError" parent="Error"/>


      <scheme name="pvwave">
<!-- Comments -->
         <block start="/\;/" end="/$/" scheme="Comment" region="pvwComment"/>
<!-- Labels -->
         <regexp match="/^\w*:/" region0="pvwLabel"/>
         <regexp match="/(goto),\s*(\w*\b)/i" region1="pvwWord" region2="pvwLabel"/>
<!-- Numbers  -->
         <regexp match="/'([\da-fA-F]+)'[xX]/" region1="NumberHex"/>
         <inherit scheme="FloatNumber"/>
         <inherit scheme="DecNumber"/>
<!-- Strings -->
         <regexp match="/'(.*?[^\'])??'/" region0="pvwString"/>
         <regexp match="/^ \s* \M (pro) \s+ (\w+)/ix" region2="pvwFunction"/>
         <block start="/\b(pro)\b/ix" end="/\b(end)\b/ix" scheme="pvwave" region00="pvwWord" region10="pvwWord" region01="PairStart" region11="PairEnd"/>
         <block start="/\b(for)\b/ix" end="/\b(do)\b/ix" scheme="pvwave" region00="pvwWord" region10="pvwWord" region01="PairStart" region11="PairEnd"/>
         <block start="/\b(if)\b/ix" end="/\b(then)\b/ix" scheme="pvwave" region00="pvwWord" region10="pvwWord" region01="PairStart" region11="PairEnd"/>
         <block start="/\b(repeat\s+begin)\b/ix" end="/\b(endrep\s+until)\b/ix" scheme="pvwave" region00="pvwWord" region10="pvwWord" region01="PairStart" region11="PairEnd"/>
         <block start="/\b(case)\b/ix" end="/\b(endcase)\b/ix" scheme="pvwave" region00="pvwWord" region10="pvwWord" region01="PairStart" region11="PairEnd"/>
         <block start="/\b(while)\b/ix" end="/\b(do)\b/ix" scheme="pvwave" region00="pvwWord" region10="pvwWord" region01="PairStart" region11="PairEnd"/>
         <block start="/\b(else\s+begin)\b/ix" end="/\b(endelse)\b/ix" scheme="pvwave" region00="pvwWord" region10="pvwWord" region01="PairStart" region11="PairEnd"/>
         <block start="/\b(begin)\b/ix" end="/\b(endfor|endif|endwhile|end)\b/ix" scheme="pvwave" region00="pvwWord" region10="pvwWord" region01="PairStart" region11="PairEnd"/>
         <block start="/(\()/" end="/(\))/" scheme="pvwave" region00="pvwSymb" region10="pvwSymb" region01="PairStart" region11="PairEnd"/>
         <block start="/(\[)/" end="/(\])/" scheme="pvwave" region00="pvwSymb" region10="pvwSymb" region01="PairStart" region11="PairEnd"/>
<!--regexp match="/^ \s* \M (pro) \s+ ([_\w]+)/ix" region1="pvwFunction"-->
         <keywords region="pvwSymb">
            <symb name="(" region="pvwError"/>
            <symb name=")" region="pvwError"/>
         </keywords>
         <keywords ignorecase="yes" region="pvwSymb">
            <word name="EQ"/>
            <word name="NE"/>
            <word name="LE"/>
            <word name="GE"/>
            <word name="GT"/>
            <word name="LT"/>
            <word name="OR"/>
            <word name="AND"/>
            <word name="XOR"/>
            <word name="NOT"/>
         </keywords>
<!-- pvw KeyWords -->
         <keywords ignorecase="yes" region="pvwWord">
            <word name="else"/>
            <word name="return"/>
            <word name="device"/>
            <word name="openw"/>
            <word name="readf"/>
            <word name="readu"/>
            <word name="plot"/>
         </keywords>
      </scheme>

   </type>
</hrc>
