<?xml version="1.0" encoding="windows-1251"?>
<!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">
<type name="sml">
<annotation>
<documentation><![CDATA[
Standard ML Syntax
<filename>/\.(sml|sig)$/i</filename>
]]></documentation>
<contributors>
Eugene Kotlyarov 2:5058/26.9@fidonet.org http://ekot.narod.ru/far
</contributors>
</annotation>
<region name="String" parent="def:String"/>
<region name="Comment" parent="def:Comment"/>
<region name="Symbol" parent="def:Symbol"/>
<region name="Keyword" parent="def:Keyword"/>
<region name="Number" parent="def:Number"/>
<region name="PairStart" parent="def:PairStart"/>
<region name="PairEnd" parent="def:PairEnd"/>
<scheme name="NestedComment">
<inherit scheme="def:Comment"/>
<block scheme="NestedComment" region="Comment">
<start region="PairStart">/\(\*/</start>
<end region="PairEnd">/\*\)/</end>
</block>
</scheme>
<scheme name="sml">
<!-- Comments -->
<block start="/\(\*/" end="/\*\)/" scheme="NestedComment" region="Comment" region00="PairStart" region10="PairEnd"/>
<!-- paired -->
<block start="/(\()/" end="/(\))/" scheme="sml" region00="Symbol" region01="PairStart" region10="Symbol" region11="PairEnd"/>
<block start="/(\[)/" end="/(\])/" scheme="sml" region00="Symbol" region01="PairStart" region10="Symbol" region11="PairEnd"/>
<block start="/(\{)/" end="/(\})/" scheme="sml" region00="Symbol" region01="PairStart" region10="Symbol" region11="PairEnd"/>
<block start="/\b(let|local|with|struct|sig)\b/" end="/\b(end)\b/" scheme="sml"
region01="Keyword" region00="PairStart"
region10="Keyword" region11="PairEnd"/>
<regexp match="/^ \s* \M (fun|fn) \s+ (?{def:Outlined}[_\w]+)/ix"/>
<inherit scheme="c:String"/>
<!-- Character constants -->
<regexp match="/ #"( \\. | [^\\"] )" /x" region="String"/>
<!-- Integer constants 0 ~0 4 ~04 999999 0xffff -->
<regexp match="/\~?\b(\d+|0x[\da-fA-F]+)\b/" region="Number"/>
<!-- Word constants 0w0 0w4 0w999999 0wxFFFF 0wx1ff -->
<regexp match="/\~?\b(0w[\d]+|0wx[\da-fA-F]+)\b/" region="Number"/>
<!-- Real constants 0.7 ~0.7 3.32E5 3E~7 ~3E~7 3e~7 ~3e~7 -->
<regexp match="/\~?\b([0-9]+[\.]?[0-9]*(e[\~]?[\d]+)?)\b/i" region="Number"/>
<!-- Symbols -->
<keywords region="Symbol">
<!-- reserved -->
<symb name=","/>
<symb name=":"/>
<symb name=":>"/>
<symb name=";"/>
<symb name="..."/>
<symb name="|"/>
<symb name="="/>
<symb name="=>"/>
<symb name="->"/>
<symb name="#"/>
<symb name="*"/>
<!-- other -->
<symb name="+"/>
<symb name="^"/>
<symb name="-"/>
<symb name="/"/>
<symb name="("/>
<symb name=")"/>
<symb name="["/>
<symb name="]"/>
<symb name="{"/>
<symb name="}"/>
<symb name="<"/>
<symb name=">"/>
</keywords>
<keywords region="Keyword">
<!-- reserved words -->
<word name="abstype"/>
<word name="and"/>
<word name="andalso"/>
<word name="as"/>
<word name="case"/>
<word name="do"/>
<word name="datatype"/>
<word name="else"/>
<word name="end"/>
<word name="eqtype"/>
<word name="exception"/>
<word name="fn"/>
<word name="fun"/>
<word name="functor"/>
<word name="handle"/>
<word name="if"/>
<word name="in"/>
<word name="infix"/>
<word name="infixr"/>
<word name="let"/>
<word name="local"/>
<word name="nonfix"/>
<word name="of"/>
<word name="op"/>
<word name="open"/>
<word name="orelse"/>
<word name="raise"/>
<word name="rec"/>
<word name="sig"/>
<word name="signature"/>
<word name="struct"/>
<word name="structure"/>
<word name="then"/>
<word name="type"/>
<word name="val"/>
<word name="where"/>
<word name="with"/>
<word name="withtype"/>
<word name="while"/>
<word name="SOME"/>
<word name="NONE"/>
<!-- Built-in types -->
<word name="array"/>
<word name="bool"/>
<word name="char"/>
<word name="int"/>
<word name="list"/>
<word name="real"/>
<word name="string"/>
<word name="unit"/>
<word name="vector"/>
<word name="word"/>
<word name="word8"/>
<word name="true"/>
<word name="false"/>
<!-- SML.NET -->
<word name="exn"/>
<word name="heap"/>
<word name="object"/>
<word name="_classtype"/>
<word name="_interfacetype"/>
</keywords>
</scheme>
</type>
</hrc>
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
-
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
- http://www.mozilla.org/MPL/
-
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
-
- The Original Code is the Colorer Library.
-
- The Initial Developer of the Original Code is
- Cail Lomecb <cail@nm.ru>.
- Portions created by the Initial Developer are Copyright (C) 1999-2003
- the Initial Developer. All Rights Reserved.
-
- Contributor(s):
-
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
-
- ***** END LICENSE BLOCK ***** -->