<?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">
<!--
Forth Syntax
With Help of
Andrey Cherezov <ac@eserv.ru> based on SP-forth
Loktev Nikola <loktev@niisi.msk.ru> based on P-forth
cail: add new worddiv parameter
-->
<type name="forth">
<import type="def"/>
<region name="forHiColor" parent="LabelStrong"/>
<region name="forString" parent="String"/>
<region name="forComment" parent="Comment"/>
<region name="forMl" parent="String"/>
<region name="forWord" parent="Keyword"/>
<region name="forResWord" parent="Label"/>
<region name="forNumb" parent="Number"/>
<region name="forExtWords" parent="VarStrong"/>
<region name="forWordDefinition" parent="forHiColor"/>
<scheme name="forth">
<!-- linear comments -->
<regexp match="/(\\.*$)/" region0="forComment"/>
<block start="/\( /" end="/\)/" scheme="Comment" region="forComment"/>
<block start="/0\s+\[if\]/i" end="/\[then\]/i" scheme="Comment" region="forComment"/>
<block start="/\[/" end="/\]/" scheme="Comment" region="forHiColor"/>
<!-- why ???
<block start="/OF /i" end="/ ENDOF/i" scheme="Comment" region0="forMl"/-->
<!-- strings -->
<block start="/(\s|^)(\.\'\s+)/" end="/\'/" scheme="Comment" region="forString"/>
<block start="/(\s|^)([SCsc\.]|ABORT)\"/i" end="/"/" scheme="Comment" region="forString"/>
<!-- numbers -->
<regexp match="/\b(0[xX])?[\da-fA-F]+\b/" region0="forNumb"/>
<regexp match="/\b[0-9]+\b/" region0="forNumb"/>
<!-- LNM: Local variables -->
<regexp match="/(\{)(.+?)(\|)(.+?)(\-\-)(.*?)(\})/" region1="Symbol" region2="String" region3="StringEdge" region4="StringContent" region5="Symbol" region6="StringContent" region7="Symbol"/>
<!-- def words -->
<regexp match="/(\s|^)(:)\s+(\S+)/" region0="forWord" region3="forWordDefinition"/>
<regexp match="/(WINAPI:)\s+(\S+)/" region0="forWord" region2="forWordDefinition"/>
<regexp match="/(CREATE)\s+(\S+)/" region0="forWord" region2="forWordDefinition"/>
<regexp match="/(VARIABLE)\s+(\S+)/" region0="forWord" region2="forWordDefinition"/>
<regexp match="/(USER)\s+(\S+)/" region0="forWord" region2="forWordDefinition"/>
<regexp match="/(CONSTANT)\s+(\S+)/" region0="forWord" region2="forWordDefinition"/>
<regexp match="/(VOCABULARY)\s+(\S+)/" region0="forWord" region2="forWordDefinition"/>
<regexp match="/(VECT)\s+(\S+)/" region0="forWord" region2="forWordDefinition"/>
<regexp match="/(VALUE)\s+(\S+)/" region0="forWord" region2="forWordDefinition"/>
<regexp match="/(ASCII\s+\S)/i" region0="forString"/>
<regexp match="/(\[char\]\s+\S)/i" region0="forString"/>
<regexp match="/(parse\s+\S+)/i" region0="forWordDefinition"/>
<regexp match="/(parse-word\s+\S+)/i" region0="forWordDefinition"/>
<!-- Immediate -->
<regexp match="/(\['\]\s+(\S+))/" region0="forMl" region2="forWord"/>
<regexp match="/(POSTPONE\s+\S+)/" region0="forMl"/>
<keywords ignorecase="yes" worddiv="[\s\[\]\{\}\(\)]" region="forResWord">
<word name="OF"/>
<word name="ENDOF"/>
<word name="CASE"/>
<word name="ENDCASE"/>
<word name="IF"/>
<word name="ELSE"/>
<word name="THEN"/>
<word name="BEGIN"/>
<word name="WHILE"/>
<word name="REPEAT"/>
<word name="BEGIN"/>
<word name="UNTIL"/>
<word name="AGAIN"/>
<word name="PREVIOUS" region="forWordDefinition"/>
<word name="DEFINITIONS" region="forWordDefinition"/>
<word name="DOES>" region="forWordDefinition"/>
<word name="DO"/>
<word name="+LOOP"/>
<word name="LOOP"/>
<word name="?DO"/>
<word name="IMMEDIATE"/>
<word name="DECIMAL"/>
<word name="HEX"/>
<word name="OCTAL"/>
</keywords>
<keywords ignorecase="yes" worddiv="[\s\[\]\{\}\(\)]" region="forWord">
<word name="!"/>
<word name="#"/>
<word name="#>"/>
<word name="#S"/>
<word name="#TIB"/>
<word name="<"/>
<word name="<#"/>
<word name="<>"/>
<word name="*"/>
<word name="*/"/>
<word name="*/MOD"/>
<word name="+!"/>
<word name="+"/>
<word name=","/>
<word name="-"/>
<word name="."/>
<word name=".0"/>
<word name=".S"/>
<word name="/"/>
<word name="/MOD"/>
<word name="2/"/>
<word name="2>R"/>
<word name="2DROP"/>
<word name="2DUP"/>
<word name="2LITERAL"/>
<word name="2OVER"/>
<word name="2R>"/>
<word name="2R@"/>
<word name="2SWAP"/>
<word name=":"/>
<word name=":NONAME"/>
<word name="="/>
<word name=">"/>
<word name="?DUP"/>
<word name="@"/>
<word name="ABORT"/>
<word name="ABS"/>
<word name="ACCEPT"/>
<word name="AGAIN"/>
<word name="ALIGN"/>
<word name="ALIGNED"/>
<word name="ALLOCATE"/>
<word name="ALLOT"/>
<word name="ALSO"/>
<word name="AND"/>
<word name="ASCII"/>
<word name="BASE"/>
<word name="BETWEEN"/>
<word name="BL"/>
<word name="BLK"/>
<word name="BUFFER:"/>
<word name="BYE"/>
<word name="CATCH"/>
<word name="CELL"/>
<word name="CELL+"/>
<word name="CELL-"/>
<word name="CELLS"/>
<word name="CHAR"/>
<word name="CHAR+"/>
<word name="CHARS"/>
<word name="CLITERAL"/>
<word name="CLOSE-FILE"/>
<word name="CMOVE"/>
<word name="CMOVE>"/>
<word name="CODE>"/>
<word name="COMPARE"/>
<word name="compile"/>
<word name="CONSTANT"/>
<word name="CONTEXT"/>
<word name="COUNT"/>
<word name="CR"/>
<word name="create"/>
<word name="CREATE-FILE"/>
<word name="CURRENT"/>
<word name="DABS"/>
<word name="DEFER"/>
<word name="DELETE-FILE"/>
<word name="DEPTH"/>
<word name="DIGIT"/>
<word name="DNEGATE"/>
<word name="DP"/>
<word name="DROP"/>
<word name="DUMP"/>
<word name="DUP"/>
<word name="EKEY"/>
<word name="EKEY?"/>
<word name="EMIT"/>
<word name="ENVIRONMENT?"/>
<word name="ERASE"/>
<word name="EVALUATE"/>
<word name="EXECUTE"/>
<word name="EXIT"/>
<word name="FALSE"/>
<word name="FIELD"/>
<word name="FILE-POSITION"/>
<word name="FILE-SIZE"/>
<word name="FILL"/>
<word name="FIND"/>
<word name="FM/MOD"/>
<word name="FORTH"/>
<word name="FORTH-WORDLIST"/>
<word name="FREE"/>
<word name="GET-CURRENT"/>
<word name="GET-ORDER"/>
<word name="HANDLER"/>
<word name="HEADER"/>
<word name="HERE"/>
<word name="HIDE"/>
<word name="HLD"/>
<word name="HOLD"/>
<word name="include"/>
<word name="INCLUDE-FILE"/>
<word name="INCLUDED"/>
<word name="INTERPRET"/>
<word name="INVERT"/>
<word name="IS"/>
<word name="KEY"/>
<word name="KEY?"/>
<word name="LATEST"/>
<word name="LEAVE"/>
<word name="LITERAL"/>
<word name="LSHIFT"/>
<word name="M*"/>
<word name="MAX"/>
<word name="MIN"/>
<word name="MOD"/>
<word name="MOVE"/>
<word name="NAME>"/>
<word name="NEGATE"/>
<word name="NIP"/>
<word name="NLIST"/>
<word name="NOOP"/>
<word name="NOT"/>
<word name="ONLY"/>
<word name="OPEN-FILE"/>
<word name="OR"/>
<word name="ORDER"/>
<word name="OVER"/>
<word name="PAD"/>
<word name="PARSE"/>
<word name="PICK"/>
<word name="POSTPONE"/>
<word name="PREVIOUS"/>
<word name="private" region="forHiColor"/>
<word name="privatize" region="forHiColor"/>
<word name="QUIT"/>
<word name="R/O"/>
<word name="R/W"/>
<word name="R0"/>
<word name="R>"/>
<word name="R@"/>
<word name="RDROP"/>
<word name="READ-FILE"/>
<word name="READ-LINE"/>
<word name="RECURSE"/>
<word name="REFILL"/>
<word name="REPOSITION-FILE"/>
<word name="RESIZE"/>
<word name="RESIZE-FILE"/>
<word name="ROLL"/>
<word name="ROT"/>
<word name="RP!"/>
<word name="RP@"/>
<word name="RSHIFT"/>
<word name="S0"/>
<word name="SEARCH"/>
<word name="SEARCH-WORDLIST"/>
<word name="SET-CURRENT"/>
<word name="SET-ORDER"/>
<word name="SIGN"/>
<word name="SKIP"/>
<word name="SLITERAL"/>
<word name="SM/REM"/>
<word name="SMUDGE"/>
<word name="SOURCE"/>
<word name="SOURCE-ID"/>
<word name="SP!"/>
<word name="SP@"/>
<word name="SPACE"/>
<word name="SPACES"/>
<word name="STATE"/>
<word name="SWAP"/>
<word name="THROW"/>
<word name="TIB"/>
<word name="TO"/>
<word name="TRUE"/>
<word name="TUCK"/>
<word name="TYPE"/>
<word name="U<"/>
<word name="U."/>
<word name="U/"/>
<word name="U>"/>
<word name="U>D"/>
<word name="UM*"/>
<word name="UM/MOD"/>
<word name="UMOD"/>
<word name="UNLOOP"/>
<word name="VALUE"/>
<word name="variable"/>
<word name="vocabulary"/>
<word name="VOCS"/>
<word name="W!"/>
<word name="W,"/>
<word name="W/O"/>
<word name="W@"/>
<word name="WARNING"/>
<word name="WITHIN"/>
<word name="WORD"/>
<word name="WORDLIST"/>
<word name="WORDS"/>
<word name="WRITE-FILE"/>
<word name="WRITE-LINE"/>
<word name="XOR"/>
<word name="["/>
<word name="[CHAR]"/>
<word name="]"/>
<word name="","/>
<word name="<<"/>
<word name="(.")"/>
<word name="(ABORT")"/>
<word name="->"/>
<word name="-ROT"/>
<word name="-TRAILING"/>
<word name="0</"/>
<word name="0<>/"/>
<word name="0=/"/>
<word name="1\+"/>
<word name="1\-"/>
<word name="2\+"/>
<word name="2\-"/>
<word name=">>"/>
<word name=">BODY"/>
<word name=">CODE"/>
<word name=">IN"/>
<word name=">NUMBER"/>
<word name=">R"/>
<word name="ABORT""/>
<word name="C!"/>
<word name="C,"/>
<word name="C/L"/>
<word name="C@"/>
<word name="C@"/>
<word name="D<"/>
<word name="D0="/>
<word name="D>S"/>
<word name="D\+"/>
<word name="D\."/>
<word name="S>D"/>
<word name="\.S"/>
</keywords>
<!-- Key words for OpenBoot programming LNM -->
<keywords ignorecase="yes" worddiv="[\s\[\]\{\}\(\)]" region="forExtWords">
<word name="!nt"/>
<word name="@nt"/>
<word name="br+"/>
<word name="br-"/>
<word name="br0"/>
<word name="ddo"/>
<word name="decode-2int"/>
<word name="decode-int"/>
<word name="decode-phys"/>
<word name="decode-string"/>
<word name="device-name"/>
<word name="DICTLIST"/>
<word name="encode+"/>
<word name="encode-2int"/>
<word name="encode-bytes"/>
<word name="encode-int"/>
<word name="encode-phys"/>
<word name="encode-string"/>
<word name="end0"/>
<word name="end1"/>
<word name="ex"/>
<word name="ex+"/>
<word name="ex-"/>
<word name="ex0"/>
<word name="external"/>
<word name="finish-device"/>
<word name="headers"/>
<word name="if+"/>
<word name="if-"/>
<word name="if0"/>
<word name="my-self"/>
<word name="NAMEBASE"/>
<word name="new-device"/>
<word name="PROPERTY"/>
<word name="rp"/>
<word name="TVOCABULARY"/>
</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 ***** -->