]> gitweb.factorcode.org Git - factor.git/blobdiff - basis/xmode/modes/pike.xml
xmode.modes: updating with recent xmode files
[factor.git] / basis / xmode / modes / pike.xml
index fa50f3edee48f44af2d7daeff16cae65f9c282b5..9147bad07cc93f6bc04afbd0622f46bb5732ebbc 100644 (file)
-<?xml version="1.0"?>\r
-\r
-<!-- Pike mode, contributed by\r
-                      Marco G?tze, <gomar@gmx.net> -->\r
-<!-- Small fixes and autodoc support contributed by\r
-                      Peter Lundqvist <peterl@update.uu.se> -->\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-  <PROPS>\r
-    <PROPERTY NAME="commentStart" VALUE="/*"/>\r
-    <PROPERTY NAME="commentEnd" VALUE="*/"/>\r
-    <PROPERTY NAME="lineComment" VALUE="//"/>\r
-    <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*`"/>\r
-\r
-    <!-- Auto indent -->\r
-    <PROPERTY NAME="indentOpenBrackets" VALUE="{"/>\r
-    <PROPERTY NAME="indentCloseBrackets" VALUE="}"/>\r
-    <PROPERTY NAME="indentNextLine" VALUE="\s*(((if|(for(each)?)|while|catch|gauge)\s*\(|(do|else)\s*|else\s+if\s*\()[^{;]*)"/>\r
-    <!-- set this to 'true' if you want to use GNU coding style -->\r
-    <PROPERTY NAME="doubleBracketIndent" VALUE="false"/>\r
-  </PROPS>\r
-  <RULES IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="(0x[\p{XDigit}]+|[\p{Digit}]+|0[bB][01]+)[lLdDfF]?">\r
-\r
-    <!-- comments -->\r
-    <SPAN TYPE="COMMENT1" DELEGATE="COMMENT">\r
-      <BEGIN>/*</BEGIN>\r
-      <END>*/</END>\r
-    </SPAN>\r
-    <SEQ TYPE="INVALID">*/</SEQ>\r
-\r
-    <!-- Autodoc comment -->\r
-    <EOL_SPAN TYPE="COMMENT1" DELEGATE="AUTODOC">//!</EOL_SPAN>\r
-    <!-- C++ line comment -->\r
-    <EOL_SPAN TYPE="COMMENT1" DELEGATE="COMMENT">//</EOL_SPAN>\r
-\r
-    <!-- string, char literals -->\r
-    <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE" DELEGATE="STRING_LITERAL">\r
-      <BEGIN>"</BEGIN>\r
-      <END>"</END>\r
-    </SPAN>\r
-    <SPAN TYPE="LITERAL1" DELEGATE="STRING_LITERAL">\r
-      <BEGIN>#"</BEGIN>\r
-      <END>"</END>\r
-    </SPAN>\r
-    <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-      <BEGIN>'</BEGIN>\r
-      <END>'</END>\r
-    </SPAN>\r
-\r
-    <!-- preprocessor statements -->\r
-    <SEQ_REGEXP TYPE="KEYWORD2" HASH_CHAR="#" AT_LINE_START="TRUE">#.*?(?=($|/\*|//))</SEQ_REGEXP>\r
-\r
-    <!-- operators -->\r
-    <SEQ TYPE="OPERATOR">({</SEQ>\r
-    <SEQ TYPE="OPERATOR">})</SEQ>\r
-    <SEQ TYPE="OPERATOR">([</SEQ>\r
-    <SEQ TYPE="OPERATOR">])</SEQ>\r
-    <SEQ TYPE="OPERATOR">(&lt;</SEQ>\r
-    <SEQ TYPE="OPERATOR">&gt;)</SEQ>\r
-    <SEQ TYPE="OPERATOR">=</SEQ>\r
-    <SEQ TYPE="OPERATOR">!</SEQ>\r
-    <SEQ TYPE="OPERATOR">+</SEQ>\r
-    <SEQ TYPE="OPERATOR">-</SEQ>\r
-    <SEQ TYPE="OPERATOR">/</SEQ>\r
-    <SEQ TYPE="OPERATOR">*</SEQ>\r
-    <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-    <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-    <SEQ TYPE="OPERATOR">%</SEQ>\r
-    <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
-    <SEQ TYPE="OPERATOR">|</SEQ>\r
-    <SEQ TYPE="OPERATOR">^</SEQ>\r
-    <SEQ TYPE="OPERATOR">~</SEQ>\r
-    <SEQ TYPE="OPERATOR">@</SEQ>\r
-    <SEQ TYPE="OPERATOR">`</SEQ>\r
-    <SEQ TYPE="OPERATOR">.</SEQ>\r
-\r
-    <!-- function calls -->\r
-    <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
-       <SEQ TYPE="OPERATOR">)</SEQ>\r
-\r
-    <KEYWORDS>\r
-      <!-- type modifiers -->\r
-      <KEYWORD1>constant</KEYWORD1>\r
-      <KEYWORD1>extern</KEYWORD1>\r
-      <KEYWORD1>final</KEYWORD1>\r
-      <KEYWORD1>inline</KEYWORD1>\r
-      <KEYWORD1>local</KEYWORD1>\r
-      <KEYWORD1>nomask</KEYWORD1>\r
-      <KEYWORD1>optional</KEYWORD1>\r
-      <KEYWORD1>private</KEYWORD1>\r
-      <KEYWORD1>protected</KEYWORD1>\r
-      <KEYWORD1>public</KEYWORD1>\r
-      <KEYWORD1>static</KEYWORD1>\r
-      <KEYWORD1>variant</KEYWORD1>\r
-\r
-      <!-- types -->\r
-      <KEYWORD3>array</KEYWORD3>\r
-      <KEYWORD3>class</KEYWORD3>\r
-      <KEYWORD3>float</KEYWORD3>\r
-      <KEYWORD3>function</KEYWORD3>\r
-      <KEYWORD3>int</KEYWORD3>\r
-      <KEYWORD3>mapping</KEYWORD3>\r
-      <KEYWORD3>mixed</KEYWORD3>\r
-      <KEYWORD3>multiset</KEYWORD3>\r
-      <KEYWORD3>object</KEYWORD3>\r
-      <KEYWORD3>program</KEYWORD3>\r
-      <KEYWORD3>string</KEYWORD3>\r
-      <KEYWORD3>void</KEYWORD3>\r
-\r
-      <!-- flow control and block-introducing keywords -->\r
-      <KEYWORD1>break</KEYWORD1>\r
-      <KEYWORD1>case</KEYWORD1>\r
-      <KEYWORD1>catch</KEYWORD1>\r
-      <KEYWORD1>continue</KEYWORD1>\r
-      <KEYWORD1>default</KEYWORD1>\r
-      <KEYWORD1>do</KEYWORD1>\r
-      <KEYWORD1>else</KEYWORD1>\r
-      <KEYWORD1>for</KEYWORD1>\r
-      <KEYWORD1>foreach</KEYWORD1>\r
-      <KEYWORD1>gauge</KEYWORD1>\r
-      <KEYWORD1>if</KEYWORD1>\r
-      <KEYWORD1>lambda</KEYWORD1>\r
-      <KEYWORD1>return</KEYWORD1>\r
-      <KEYWORD1>sscanf</KEYWORD1>\r
-      <KEYWORD1>switch</KEYWORD1>\r
-      <KEYWORD1>while</KEYWORD1>\r
-\r
-      <!-- special instructions -->\r
-      <KEYWORD2>import</KEYWORD2>\r
-      <KEYWORD2>inherit</KEYWORD2>\r
-    </KEYWORDS>\r
-  </RULES>\r
-\r
-  <RULES SET="COMMENT" IGNORE_CASE="FALSE" DEFAULT="COMMENT1">\r
-    <KEYWORDS>\r
-      <COMMENT2>FIXME</COMMENT2>\r
-      <COMMENT2>XXX</COMMENT2>\r
-    </KEYWORDS>\r
-  </RULES>\r
-\r
-  <RULES SET="AUTODOC" IGNORE_CASE="TRUE" DEFAULT="COMMENT1">\r
-\r
-               <EOL_SPAN TYPE="NULL" DELEGATE="MAIN" MATCH_TYPE="CONTEXT">@decl</EOL_SPAN>\r
-\r
-               <!-- XML tags -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="xml::TAGS">\r
-                 <BEGIN>@xml{</BEGIN>\r
-                       <END>@}</END>\r
-               </SPAN>\r
-               <!-- Cross references -->\r
-               <SPAN TYPE="FUNCTION" NO_LINE_BREAK="TRUE">\r
-               <BEGIN>@[</BEGIN>\r
-                       <END>]</END>\r
-               </SPAN>\r
-\r
-               <!-- Brace keywords -->\r
-               <SEQ_REGEXP TYPE="FUNCTION" HASH_CHAR="@">@(b|i|u|tt|url|pre|ref|code|expr|image)?(\{.*@\})</SEQ_REGEXP>\r
-\r
-               <!-- Attempt to get syntax highlighting of @decl-ed functions\r
-                    inside of the autodoc-rule.\r
-\r
-                    It works - but jEdit 4.1 has problems keeping it highlighted\r
-                    (the syntax highlighting works depending on how you travel\r
-                    past the @decl-ed region).\r
-                    Can't figure aout how to to proper coloring of the @decl\r
-                    keyword either.\r
-\r
-                    If there are problems with what regions are highlighted -\r
-                    try to uncomment this first.\r
-               -->\r
-               <EOL_SPAN TYPE="NULL" DELEGATE="MAIN">@decl</EOL_SPAN>\r
-\r
-               <KEYWORDS>\r
-                 <!-- Meta keywords -->\r
-                 <LABEL>@appears</LABEL>\r
-                 <LABEL>@belongs</LABEL>\r
-                 <LABEL>@class</LABEL>\r
-                 <LABEL>@endclass</LABEL>\r
-                 <LABEL>@example</LABEL>\r
-                 <LABEL>@module</LABEL>\r
-                 <LABEL>@endmodule</LABEL>\r
-                 <LABEL>@namespace</LABEL>\r
-                 <LABEL>@endnamespace</LABEL>\r
-                 <!-- <LABEL>@decl</LABEL>\r
-                 -->\r
-\r
-                 <!-- Single keywords -->\r
-                 <LABEL>@deprecated</LABEL>\r
-\r
-                 <!-- Delimiter keywords -->\r
-                 <LABEL>@note</LABEL>\r
-                 <LABEL>@example</LABEL>\r
-                 <LABEL>@bugs</LABEL>\r
-                 <LABEL>@returns</LABEL>\r
-                 <LABEL>@throws</LABEL>\r
-                 <LABEL>@param</LABEL>\r
-                 <LABEL>@seealso</LABEL>\r
-                 <LABEL>@fixme</LABEL>\r
-                 <LABEL>@constant</LABEL>\r
-                 <LABEL>@member</LABEL>\r
-                 <LABEL>@index</LABEL>\r
-                 <LABEL>@elem</LABEL>\r
-                 <LABEL>@value</LABEL>\r
-                 <LABEL>@type</LABEL>\r
-                 <LABEL>@item</LABEL>\r
-\r
-                 <!-- Container keywords -->\r
-                 <LABEL>@section</LABEL>\r
-                 <LABEL>@mapping</LABEL>\r
-                 <LABEL>@endmapping</LABEL>\r
-                 <LABEL>@multiset</LABEL>\r
-                 <LABEL>@endmultiset</LABEL>\r
-                 <LABEL>@array</LABEL>\r
-                 <LABEL>@endarray</LABEL>\r
-                 <LABEL>@int</LABEL>\r
-                 <LABEL>@endint</LABEL>\r
-                 <LABEL>@string</LABEL>\r
-                 <LABEL>@endstring</LABEL>\r
-                 <LABEL>@mixed</LABEL>\r
-                 <LABEL>@endmixed</LABEL>\r
-                 <LABEL>@dl</LABEL>\r
-                 <LABEL>@enddl</LABEL>\r
-                 <LABEL>@ol</LABEL>\r
-                 <LABEL>@endol</LABEL>\r
-                 <LABEL>@ul</LABEL>\r
-                 <LABEL>@endol</LABEL>\r
-\r
-                 <!-- Special keywords -->\r
-                 <LABEL>@ignore</LABEL>\r
-                 <LABEL>@endignore</LABEL>\r
-\r
-               </KEYWORDS>\r
-\r
-       </RULES>\r
-\r
-  <RULES SET="STRING_LITERAL" ESCAPE="\" IGNORE_CASE="TRUE" DEFAULT="LITERAL1">\r
-    <SEQ_REGEXP TYPE="LITERAL2" HASH_CHAR="%">%([^ a-z]*[a-z]|\[[^\]]*\])</SEQ_REGEXP>\r
-    <SEQ TYPE="COMMENT2">DEBUG:</SEQ>\r
-  </RULES>\r
+<?xml version="1.0"?>
+
+<!-- Pike mode, contributed by
+                      Marco G?tze, <gomar@gmx.net> -->
+<!-- Small fixes and autodoc support contributed by
+                      Peter Lundqvist <peterl@update.uu.se> -->
+
+<!DOCTYPE MODE SYSTEM "xmode.dtd">
+
+<MODE>
+  <PROPS>
+    <PROPERTY NAME="commentStart" VALUE="/*"/>
+    <PROPERTY NAME="commentEnd" VALUE="*/"/>
+    <PROPERTY NAME="lineComment" VALUE="//"/>
+    <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*`"/>
+
+    <!-- Auto indent -->
+    <PROPERTY NAME="indentOpenBrackets" VALUE="{"/>
+    <PROPERTY NAME="indentCloseBrackets" VALUE="}"/>
+    <PROPERTY NAME="indentNextLine" VALUE="\s*(((if|(for(each)?)|while|catch|gauge)\s*\(|(do|else)\s*|else\s+if\s*\()[^{;]*)"/>
+    <!-- set this to 'true' if you want to use GNU coding style -->
+    <PROPERTY NAME="doubleBracketIndent" VALUE="false"/>
+  </PROPS>
+  <RULES IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="(0x[\p{XDigit}]+|[\p{Digit}]+|0[bB][01]+)[lLdDfF]?">
+
+    <!-- comments -->
+    <SPAN TYPE="COMMENT1" DELEGATE="COMMENT">
+      <BEGIN>/*</BEGIN>
+      <END>*/</END>
+    </SPAN>
+    <SEQ TYPE="INVALID">*/</SEQ>
+
+    <!-- Autodoc comment -->
+    <EOL_SPAN TYPE="COMMENT1" DELEGATE="AUTODOC">//!</EOL_SPAN>
+    <!-- C++ line comment -->
+    <EOL_SPAN TYPE="COMMENT1" DELEGATE="COMMENT">//</EOL_SPAN>
+
+    <!-- string, char literals -->
+    <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE" DELEGATE="STRING_LITERAL">
+      <BEGIN>"</BEGIN>
+      <END>"</END>
+    </SPAN>
+    <SPAN TYPE="LITERAL1" DELEGATE="STRING_LITERAL">
+      <BEGIN>#"</BEGIN>
+      <END>"</END>
+    </SPAN>
+    <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">
+      <BEGIN>'</BEGIN>
+      <END>'</END>
+    </SPAN>
+
+    <!-- preprocessor statements -->
+    <SEQ_REGEXP TYPE="KEYWORD2" HASH_CHAR="#" AT_LINE_START="TRUE">#.*?(?=($|/\*|//))</SEQ_REGEXP>
+
+    <!-- operators -->
+    <SEQ TYPE="OPERATOR">({</SEQ>
+    <SEQ TYPE="OPERATOR">})</SEQ>
+    <SEQ TYPE="OPERATOR">([</SEQ>
+    <SEQ TYPE="OPERATOR">])</SEQ>
+    <SEQ TYPE="OPERATOR">(&lt;</SEQ>
+    <SEQ TYPE="OPERATOR">&gt;)</SEQ>
+    <SEQ TYPE="OPERATOR">=</SEQ>
+    <SEQ TYPE="OPERATOR">!</SEQ>
+    <SEQ TYPE="OPERATOR">+</SEQ>
+    <SEQ TYPE="OPERATOR">-</SEQ>
+    <SEQ TYPE="OPERATOR">/</SEQ>
+    <SEQ TYPE="OPERATOR">*</SEQ>
+    <SEQ TYPE="OPERATOR">&gt;</SEQ>
+    <SEQ TYPE="OPERATOR">&lt;</SEQ>
+    <SEQ TYPE="OPERATOR">%</SEQ>
+    <SEQ TYPE="OPERATOR">&amp;</SEQ>
+    <SEQ TYPE="OPERATOR">|</SEQ>
+    <SEQ TYPE="OPERATOR">^</SEQ>
+    <SEQ TYPE="OPERATOR">~</SEQ>
+    <SEQ TYPE="OPERATOR">@</SEQ>
+    <SEQ TYPE="OPERATOR">`</SEQ>
+    <SEQ TYPE="OPERATOR">.</SEQ>
+
+    <!-- function calls -->
+    <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>
+       <SEQ TYPE="OPERATOR">)</SEQ>
+
+    <KEYWORDS>
+      <!-- type modifiers -->
+      <KEYWORD1>constant</KEYWORD1>
+      <KEYWORD1>extern</KEYWORD1>
+      <KEYWORD1>final</KEYWORD1>
+      <KEYWORD1>inline</KEYWORD1>
+      <KEYWORD1>local</KEYWORD1>
+      <KEYWORD1>nomask</KEYWORD1>
+      <KEYWORD1>optional</KEYWORD1>
+      <KEYWORD1>private</KEYWORD1>
+      <KEYWORD1>protected</KEYWORD1>
+      <KEYWORD1>public</KEYWORD1>
+      <KEYWORD1>static</KEYWORD1>
+      <KEYWORD1>variant</KEYWORD1>
+
+      <!-- types -->
+      <KEYWORD3>array</KEYWORD3>
+      <KEYWORD3>class</KEYWORD3>
+      <KEYWORD3>float</KEYWORD3>
+      <KEYWORD3>function</KEYWORD3>
+      <KEYWORD3>int</KEYWORD3>
+      <KEYWORD3>mapping</KEYWORD3>
+      <KEYWORD3>mixed</KEYWORD3>
+      <KEYWORD3>multiset</KEYWORD3>
+      <KEYWORD3>object</KEYWORD3>
+      <KEYWORD3>program</KEYWORD3>
+      <KEYWORD3>string</KEYWORD3>
+      <KEYWORD3>void</KEYWORD3>
+
+      <!-- flow control and block-introducing keywords -->
+      <KEYWORD1>break</KEYWORD1>
+      <KEYWORD1>case</KEYWORD1>
+      <KEYWORD1>catch</KEYWORD1>
+      <KEYWORD1>continue</KEYWORD1>
+      <KEYWORD1>default</KEYWORD1>
+      <KEYWORD1>do</KEYWORD1>
+      <KEYWORD1>else</KEYWORD1>
+      <KEYWORD1>for</KEYWORD1>
+      <KEYWORD1>foreach</KEYWORD1>
+      <KEYWORD1>gauge</KEYWORD1>
+      <KEYWORD1>if</KEYWORD1>
+      <KEYWORD1>lambda</KEYWORD1>
+      <KEYWORD1>return</KEYWORD1>
+      <KEYWORD1>sscanf</KEYWORD1>
+      <KEYWORD1>switch</KEYWORD1>
+      <KEYWORD1>while</KEYWORD1>
+
+      <!-- special instructions -->
+      <KEYWORD2>import</KEYWORD2>
+      <KEYWORD2>inherit</KEYWORD2>
+    </KEYWORDS>
+  </RULES>
+
+  <RULES SET="COMMENT" IGNORE_CASE="FALSE" DEFAULT="COMMENT1">
+    <KEYWORDS>
+      <COMMENT2>FIXME</COMMENT2>
+      <COMMENT2>XXX</COMMENT2>
+    </KEYWORDS>
+  </RULES>
+
+  <RULES SET="AUTODOC" IGNORE_CASE="TRUE" DEFAULT="COMMENT1">
+
+               <EOL_SPAN TYPE="NULL" DELEGATE="MAIN" MATCH_TYPE="CONTEXT">@decl</EOL_SPAN>
+
+               <!-- XML tags -->
+               <SPAN TYPE="MARKUP" DELEGATE="xml::TAGS">
+                 <BEGIN>@xml{</BEGIN>
+                       <END>@}</END>
+               </SPAN>
+               <!-- Cross references -->
+               <SPAN TYPE="FUNCTION" NO_LINE_BREAK="TRUE">
+               <BEGIN>@[</BEGIN>
+                       <END>]</END>
+               </SPAN>
+
+               <!-- Brace keywords -->
+               <SEQ_REGEXP TYPE="FUNCTION" HASH_CHAR="@">@(b|i|u|tt|url|pre|ref|code|expr|image)?(\{.*@\})</SEQ_REGEXP>
+
+               <!-- Attempt to get syntax highlighting of @decl-ed functions
+                    inside of the autodoc-rule.
+
+                    It works - but jEdit 4.1 has problems keeping it highlighted
+                    (the syntax highlighting works depending on how you travel
+                    past the @decl-ed region).
+                    Can't figure aout how to to proper coloring of the @decl
+                    keyword either.
+
+                    If there are problems with what regions are highlighted -
+                    try to uncomment this first.
+               -->
+               <EOL_SPAN TYPE="NULL" DELEGATE="MAIN">@decl</EOL_SPAN>
+
+               <KEYWORDS>
+                 <!-- Meta keywords -->
+                 <LABEL>@appears</LABEL>
+                 <LABEL>@belongs</LABEL>
+                 <LABEL>@class</LABEL>
+                 <LABEL>@endclass</LABEL>
+                 <LABEL>@example</LABEL>
+                 <LABEL>@module</LABEL>
+                 <LABEL>@endmodule</LABEL>
+                 <LABEL>@namespace</LABEL>
+                 <LABEL>@endnamespace</LABEL>
+                 <!-- <LABEL>@decl</LABEL>
+                 -->
+
+                 <!-- Single keywords -->
+                 <LABEL>@deprecated</LABEL>
+
+                 <!-- Delimiter keywords -->
+                 <LABEL>@note</LABEL>
+                 <LABEL>@example</LABEL>
+                 <LABEL>@bugs</LABEL>
+                 <LABEL>@returns</LABEL>
+                 <LABEL>@throws</LABEL>
+                 <LABEL>@param</LABEL>
+                 <LABEL>@seealso</LABEL>
+                 <LABEL>@fixme</LABEL>
+                 <LABEL>@constant</LABEL>
+                 <LABEL>@member</LABEL>
+                 <LABEL>@index</LABEL>
+                 <LABEL>@elem</LABEL>
+                 <LABEL>@value</LABEL>
+                 <LABEL>@type</LABEL>
+                 <LABEL>@item</LABEL>
+
+                 <!-- Container keywords -->
+                 <LABEL>@section</LABEL>
+                 <LABEL>@mapping</LABEL>
+                 <LABEL>@endmapping</LABEL>
+                 <LABEL>@multiset</LABEL>
+                 <LABEL>@endmultiset</LABEL>
+                 <LABEL>@array</LABEL>
+                 <LABEL>@endarray</LABEL>
+                 <LABEL>@int</LABEL>
+                 <LABEL>@endint</LABEL>
+                 <LABEL>@string</LABEL>
+                 <LABEL>@endstring</LABEL>
+                 <LABEL>@mixed</LABEL>
+                 <LABEL>@endmixed</LABEL>
+                 <LABEL>@dl</LABEL>
+                 <LABEL>@enddl</LABEL>
+                 <LABEL>@ol</LABEL>
+                 <LABEL>@endol</LABEL>
+                 <LABEL>@ul</LABEL>
+                 <LABEL>@endol</LABEL>
+
+                 <!-- Special keywords -->
+                 <LABEL>@ignore</LABEL>
+                 <LABEL>@endignore</LABEL>
+
+               </KEYWORDS>
+
+       </RULES>
+
+  <RULES SET="STRING_LITERAL" ESCAPE="\" IGNORE_CASE="TRUE" DEFAULT="LITERAL1">
+    <SEQ_REGEXP TYPE="LITERAL2" HASH_CHAR="%">%([^ a-z]*[a-z]|\[[^\]]*\])</SEQ_REGEXP>
+    <SEQ TYPE="COMMENT2">DEBUG:</SEQ>
+  </RULES>
 </MODE>
\ No newline at end of file