<?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">
<!--
    WRL Defs
With help of:
    Cibulka Karel <K.Cibulka@sh.cvut.cz>
-->
   <type name="vrml" access="public">

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

      <region name="wrlString" parent="String"/>
      <region name="wrlComment" parent="Comment"/>
      <region name="wrlSymb" parent="Symbol"/>
      <region name="wrlSymb2" parent="SymbolStrong"/>
      <region name="wrlWord" parent="Keyword"/>
      <region name="wrlOther" parent="Label"/>
      <region name="wrlNumb" parent="Number"/>


      <scheme name="JScript4wrl">
         <inherit scheme="jScript">
            <virtual scheme="CString" subst-scheme="empty"/>
         </inherit>
      </scheme>

      <scheme name="vrml">
         <regexp match="/\b(0[xX][\da-fA-F]+)\b/" region0="wrlNumb"/>
         <regexp match="/ \b ([0-9\.]+) \b /x" region0="wrlNumb"/>
         <regexp match="/(\#.*$)/" region0="wrlComment"/>
         <regexp match="/(&#34;.*?&#34;)/" region0="wrlString"/>
<!-- !!!bad!!! -->
         <block start="/'(javascript):/i" end="/'/" scheme="JScript4wrl" region01="wrlWord"/>
         <block start="/&#34;(javascript):/i" end="/&#34;/" scheme="JScript4wrl" region01="wrlWord"/>
<!-- paired block -->
         <block start="/(\{)/" end="/(\})/" scheme="vrml" region00="wrlSymb2" region01="PairStart" region10="wrlSymb2" region11="PairEnd"/>
         <block start="/(\[)/" end="/(\])/" scheme="vrml" region00="wrlSymb2" region01="PairStart" region10="wrlSymb2" region11="PairEnd"/>
         <keywords region="wrlSymb">
            <symb name="{"/>
            <symb name="}"/>
            <symb name="["/>
            <symb name="]"/>
            <symb name=","/>
         </keywords>
         <keywords region="wrlSymb">
<!-- VRML Base Syntax -->
            <word name="DEF"/>
            <word name="USE"/>
            <word name="ROUTE"/>
            <word name="TO"/>
            <word name="PROTO"/>
            <word name="EXTERNPROTO"/>
            <word name="field"/>
            <word name="exposedField"/>
            <word name="eventIn"/>
            <word name="eventOut"/>
            <word name="TRUE"/>
            <word name="FALSE"/>
            <word name="NULL"/>
            <word name="SFBool"/>
            <word name="MFBool"/>
            <word name="SFColor"/>
            <word name="MFColor"/>
            <word name="SFFloat"/>
            <word name="MFFloat"/>
            <word name="SFImage"/>
            <word name="MFImage"/>
            <word name="SFInt32"/>
            <word name="MFInt32"/>
            <word name="SFNode"/>
            <word name="MFNode"/>
            <word name="SFRotation"/>
            <word name="MFRotation"/>
            <word name="SFString"/>
            <word name="MFString"/>
            <word name="SFTime"/>
            <word name="MFTime"/>
            <word name="SFVec2f"/>
            <word name="MFVec2f"/>
            <word name="SFVec3f"/>
            <word name="MFVec3f"/>
         </keywords>
         <keywords region="wrlWord">
<!-- VRML97 Standard nodes -->
            <word name="TouchSensor"/>
            <word name="PlaneSensor"/>
            <word name="CylinderSensor"/>
            <word name="SphereSensor"/>
            <word name="ProximitySensor"/>
            <word name="VisibilitySensor"/>
            <word name="TimeSensor"/>
            <word name="ColorInterpolator"/>
            <word name="CoordinateInterpolator"/>
            <word name="NormalInterpolator"/>
            <word name="OrientationInterpolator"/>
            <word name="PositionInterpolator"/>
            <word name="ScalarInterpolator"/>
            <word name="Transform"/>
            <word name="Anchor"/>
            <word name="Inline"/>
            <word name="Group"/>
            <word name="Billboard"/>
            <word name="Collision"/>
            <word name="LOD"/>
            <word name="Switch"/>
            <word name="Script"/>
            <word name="Viewpoint"/>
            <word name="Background"/>
            <word name="Fog"/>
            <word name="NavigationInfo"/>
            <word name="DirectionalLight"/>
            <word name="PointLight"/>
            <word name="SpotLight"/>
            <word name="WorldInfo"/>
            <word name="Shape"/>
            <word name="Appearance"/>
            <word name="Material"/>
            <word name="TextureTransform"/>
            <word name="PixelTexture"/>
            <word name="ImageTexture"/>
            <word name="MovieTexture"/>
            <word name="Box"/>
            <word name="Cone"/>
            <word name="Cylinder"/>
            <word name="Sphere"/>
            <word name="PointSet"/>
            <word name="IndexedLineSet"/>
            <word name="IndexedFaceSet"/>
            <word name="ElevationGrid"/>
            <word name="Extrusion"/>
            <word name="Coordinate"/>
            <word name="Normal"/>
            <word name="Color"/>
            <word name="TextureCoordinate"/>
            <word name="Sound"/>
            <word name="AudioClip"/>
            <word name="Text"/>
            <word name="FontStyle"/>
         </keywords>
      </scheme>

   </type>
</hrc>
