<?xml version="1.0" encoding="windows-1251"?>
<!--
    Cache/Open-M Syntax description
Made By:
    Timur Safin <timur@lanit.ru><timur@intersystems.ru>
-->
<!DOCTYPE hrc PUBLIC "-//Cail Lomecb//DTD Colorer HRC take5//EN" "../hrc.dtd">
<hrc version="take5" xmlns="http://colorer.sf.net/2003/hrc">
   <type name="cache" access="public">

      <import type="def"/>
      <import type="config"/>

      <region name="mString" parent="String"/>
      <region name="mComment" parent="Comment"/>
      <region name="mCommentEx" parent="Comment"/>
      <region name="mSymb" parent="Symbol"/>
      <region name="mWord" parent="Symbol"/>
      <region name="mPreProc" parent="Directive"/>
      <region name="mPrePrWord" parent="Directive"/>
      <region name="mTagLabel" parent="Label"/>


      <scheme name="MPairBlock">
<!-- paired block -->
<!-- block start="/(\{)/" end="/(\})/" scheme="cache"
          region00="mSymb" region01="PairStart"
          region10="mSymb" region11="PairEnd"/ -->
         <block start="/(\()/" end="/(\))/" scheme="cache" region00="mSymb" region01="PairStart" region10="mSymb" region11="PairEnd"/>
      </scheme>

      <scheme name="MPrePro">
         <block start="/\;/" end="/$/" scheme="Comment" region="mComment"/>
         <regexp match="/(&lt;[\w\d\.\-\\/]*&gt;)/" region0="mString"/>
         <regexp match="/(&#34;(\\.|[^\\&#34;])*?&#34;)/" region0="mString"/>
<!-- inherit scheme="PairBlock"/ -->
         <block start="/(\()/" end="/(\))/" scheme="MPrePro" region00="mSymb" region01="PairStart" region10="mSymb" region11="PairEnd"/>
         <keywords region="mSymb">
            <symb name=";"/>
            <symb name="="/>
            <symb name="+"/>
            <symb name="-"/>
            <symb name="/"/>
            <symb name="*"/>
            <symb name="&amp;"/>
            <symb name="|"/>
            <symb name="^"/>
            <symb name="("/>
            <symb name=")"/>
            <symb name="["/>
            <symb name="]"/>
            <symb name=","/>
            <symb name="."/>
            <symb name=":"/>
            <symb name="!"/>
            <symb name="~"/>
            <symb name="&lt;"/>
            <symb name="&gt;"/>
            <symb name="_"/>
            <symb name="{"/>
            <symb name="}"/>
            <symb name="?"/>
            <symb name="#"/>
            <symb name="@"/>
         </keywords>
         <keywords ignorecase="yes" region="mPrePrWord">
            <word name="defined"/>
            <word name="sizeof"/>
            <word name="ifdef"/>
            <word name="ifndef"/>
            <word name="define"/>
            <word name="endif"/>
            <word name="pragma"/>
            <word name="else"/>
            <word name="include"/>
            <word name="if"/>
            <word name="elif"/>
            <word name="undef"/>
            <word name="class"/>
         </keywords>
      </scheme>

      <scheme name="CacheCore">
         <block start="/\;/" end="/$/" scheme="Comment" region="mComment"/>
         <inherit scheme="FloatNumber"/>
         <inherit scheme="DecNumber"/>
         <regexp match="/(&#34;(\\.|[^\\&#34;])*?&#34;)/" region="mString"/>
         <regexp match="/(\$[a-zA-Z\%][a-zA-Z\d]*)/" region="mWord"/>
         <regexp match="/(\$\$[a-zA-Z\%][a-zA-Z\d]*)/" region="mTagLabel"/>
         <regexp match="/(\$\$\$[a-zA-Z\%][a-zA-Z\d]*)/" region="mPreProc"/>
<!-- inherit scheme="PairBlock"/ -->
         <block start="/(\()/" end="/(\))/" scheme="CacheCore" region00="mSymb" region01="PairStart" region10="mSymb" region11="PairEnd"/>
         <keywords region="mSymb">
            <symb name="="/>
            <symb name="+"/>
            <symb name="-"/>
            <symb name="_"/>
            <symb name="/"/>
            <symb name="*"/>
            <symb name="&amp;"/>
            <symb name="|"/>
            <symb name="("/>
            <symb name=")"/>
            <symb name="?"/>
            <symb name="["/>
            <symb name="]"/>
            <symb name=","/>
            <symb name="."/>
            <symb name=":"/>
            <symb name="'"/>
            <symb name="&lt;"/>
            <symb name="&gt;"/>
            <symb name="^"/>
            <symb name="#"/>
            <symb name="\"/>
            <symb name="{"/>
            <symb name="}"/>
         </keywords>
         <keywords ignorecase="yes" region="mWord">
            <word name="for"/>
            <word name="f"/>
            <word name="if"/>
            <word name="i"/>
            <word name="while"/>
            <word name="else"/>
            <word name="e"/>
            <word name="quit"/>
            <word name="q"/>
            <word name="set"/>
            <word name="s"/>
            <word name="do"/>
            <word name="d"/>
            <word name="new"/>
            <word name="n"/>
            <word name="kill"/>
            <word name="k"/>
            <word name="read"/>
            <word name="r"/>
            <word name="write"/>
            <word name="w"/>
            <word name="view"/>
            <word name="v"/>
            <word name="use"/>
            <word name="u"/>
            <word name="open"/>
            <word name="o"/>
            <word name="close"/>
            <word name="c"/>
            <word name="goto"/>
            <word name="g"/>
         </keywords>
      </scheme>

      <scheme name="cache">
         <block start="/^\s*#/" end="/$/x" scheme="MPrePro" region="mPreProc"/>
         <regexp match="/^[^\^]+\^(IN[TC]|MAC)[^\^]*\^.*$/i" region0="StringEdge"/>
         <block start="/^([a-zA-Z\%][\da-zA-Z\%]*|\d\d*)/" end="/$/" region01="mTagLabel" scheme="CacheCore"/>
         <block start="/^\s/" end="/$/" scheme="CacheCore"/>
      </scheme>

   </type>
</hrc>
