]> gitweb.factorcode.org Git - factor.git/blobdiff - basis/xmode/modes/javacc.xml
xmode.modes: updating with recent xmode files
[factor.git] / basis / xmode / modes / javacc.xml
index d3172d2a7d026b89ff05bb891be0b8e095efb56b..966ca02ef64b6ebb9068c6352bbb72f394f2bbd6 100644 (file)
@@ -1,39 +1,98 @@
-<?xml version="1.0"?>\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\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="unalignedOpenBrackets" VALUE="(" />\r
-               <PROPERTY NAME="unalignedCloseBrackets" VALUE=")" />\r
-               <PROPERTY NAME="indentNextLine"\r
-                       VALUE="\s*(((if|while)\s*\(|else\s*|else\s+if\s*\(|for\s*\(.*\))[^{;]*)" />\r
-               <PROPERTY NAME="unindentThisLine"\r
-                       VALUE="^.*(default:\s*|case.*:.*)$" />\r
-               <PROPERTY NAME="electricKeys" VALUE=":" />\r
-       </PROPS>\r
-    <RULES IGNORE_CASE="FALSE">\r
-        <IMPORT DELEGATE="java::MAIN"/>\r
-        \r
-        <KEYWORDS>\r
-            <KEYWORD1>EOF</KEYWORD1>\r
-            <KEYWORD1>IGNORE_CASE</KEYWORD1>\r
-            <KEYWORD1>JAVACODE</KEYWORD1>\r
-            <KEYWORD1>LOOKAHEAD</KEYWORD1>\r
-            <KEYWORD1>MORE</KEYWORD1>\r
-            <KEYWORD1>PARSER_BEGIN</KEYWORD1>\r
-            <KEYWORD1>PARSER_END</KEYWORD1>\r
-            <KEYWORD1>SKIP</KEYWORD1>\r
-            <KEYWORD1>SPECIAL_TOKEN</KEYWORD1>\r
-            <KEYWORD1>TOKEN</KEYWORD1>\r
-            <KEYWORD1>TOKEN_MGR_DECLS</KEYWORD1>\r
-            <KEYWORD1>options</KEYWORD1>\r
-        </KEYWORDS>\r
-    </RULES>\r
-</MODE>\r
+<?xml version="1.0"?>
+<!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="unalignedOpenBrackets" VALUE="(" />
+        <PROPERTY NAME="unalignedCloseBrackets" VALUE=")" />
+        <PROPERTY NAME="indentNextLine"
+            VALUE="\s*(((if|while)\s*\(|else\s+|else$|else\s+if\s*\(|for\s*\(.*\))[^{;]*)" />
+        <PROPERTY NAME="unindentThisLine"
+            VALUE="^.*(default:\s*|case.*:.*)$" />
+        <PROPERTY NAME="electricKeys" VALUE=":" />
+    </PROPS>
+    <RULES IGNORE_CASE="FALSE">
+        <IMPORT DELEGATE="java::MAIN"/>
+
+        <!-- regular expression definitions -->
+        <SEQ_REGEXP HASH_CHAR="&lt;" TYPE="KEYWORD2">&lt;[[:space:]]*\w+[[:space:]]*[:]</SEQ_REGEXP>
+
+        <!-- regular expression label(s) -->
+        <SEQ_REGEXP HASH_CHAR="&lt;" TYPE="KEYWORD2">&lt;[[:space:]]*\w+([[:space:]]*[,][[:space:]]*\w+[[:space:]]*)*[[:space:]]*&gt;</SEQ_REGEXP>
+
+        <!-- private regular expression labels -->
+        <SEQ_REGEXP HASH_CHAR="#" TYPE="KEYWORD2">[#]\w+[:]</SEQ_REGEXP>
+
+        <KEYWORDS>
+            <!-- javacc keywords -->
+            <KEYWORD1>EOF</KEYWORD1>
+            <KEYWORD1>IGNORE_CASE</KEYWORD1>
+            <KEYWORD1>JAVACODE</KEYWORD1>
+            <KEYWORD1>LOOKAHEAD</KEYWORD1>
+            <KEYWORD1>MORE</KEYWORD1>
+            <KEYWORD1>PARSER_BEGIN</KEYWORD1>
+            <KEYWORD1>PARSER_END</KEYWORD1>
+            <KEYWORD1>SKIP</KEYWORD1>
+            <KEYWORD1>SPECIAL_TOKEN</KEYWORD1>
+            <KEYWORD1>TOKEN</KEYWORD1>
+            <KEYWORD1>TOKEN_MGR_DECLS</KEYWORD1>
+            <KEYWORD1>options</KEYWORD1>
+        
+            <!-- javacc option keywords -->
+            <KEYWORD1>CHOICE_AMBIGUITY_CHECK</KEYWORD1>
+            <KEYWORD1>OTHER_AMBIGUITY_CHECK</KEYWORD1>
+            <KEYWORD1>STATIC</KEYWORD1>
+            <KEYWORD1>SUPPORT_CLASS_VISIBILITY_PUBLIC</KEYWORD1>
+            <KEYWORD1>DEBUG_PARSER</KEYWORD1>
+            <KEYWORD1>DEBUG_LOOKAHEAD</KEYWORD1>
+            <KEYWORD1>DEBUG_TOKEN_MANAGER</KEYWORD1>
+            <KEYWORD1>ERROR_REPORTING</KEYWORD1>
+            <KEYWORD1>JAVA_UNICODE_ESCAPE</KEYWORD1>
+            <KEYWORD1>UNICODE_INPUT</KEYWORD1>
+            <KEYWORD1>IGNORE_CASE</KEYWORD1>
+            <KEYWORD1>USER_TOKEN_MANAGER</KEYWORD1>
+            <KEYWORD1>USER_CHAR_STREAM</KEYWORD1>
+            <KEYWORD1>BUILD_PARSER</KEYWORD1>
+            <KEYWORD1>BUILD_TOKEN_MANAGER</KEYWORD1>
+            <KEYWORD1>TOKEN_EXTENDS</KEYWORD1>
+            <KEYWORD1>TOKEN_FACTORY</KEYWORD1>
+            <KEYWORD1>TOKEN_MANAGER_USES_PARSER</KEYWORD1>
+            <KEYWORD1>SANITY_CHECK</KEYWORD1>
+            <KEYWORD1>FORCE_LA_CHECK</KEYWORD1>
+            <KEYWORD1>COMMON_TOKEN_ACTION</KEYWORD1>
+            <KEYWORD1>CACHE_TOKENS</KEYWORD1>
+            <KEYWORD1>OUTPUT_DIRECTORY</KEYWORD1>
+
+            <!-- jjtree keywords -->
+            <KEYWORD1>BUILD_NODE_FILES</KEYWORD1>
+            <KEYWORD1>MULTI</KEYWORD1>
+            <KEYWORD1>NODE_DEFAULT_VOID</KEYWORD1>
+            <KEYWORD1>NODE_CLASS</KEYWORD1>
+            <KEYWORD1>NODE_FACTORY</KEYWORD1>
+            <KEYWORD1>NODE_PACKAGE</KEYWORD1>
+            <KEYWORD1>NODE_EXTENDS</KEYWORD1>
+            <KEYWORD1>NODE_PREFIX</KEYWORD1>
+            <KEYWORD1>NODE_SCOPE_HOOK</KEYWORD1>
+            <KEYWORD1>NODE_USES_PARSER</KEYWORD1>
+            <KEYWORD1>TRACK_TOKENS</KEYWORD1>
+            <KEYWORD1>STATIC</KEYWORD1>
+            <KEYWORD1>VISITOR</KEYWORD1>
+            <KEYWORD1>VISITOR_DATA_TYPE</KEYWORD1>
+            <KEYWORD1>VISITOR_RETURN_TYPE</KEYWORD1>
+            <KEYWORD1>VISITOR_EXCEPTION</KEYWORD1>
+            <KEYWORD1>JJTREE_OUTPUT_DIRECTORY</KEYWORD1>
+        
+            <!-- DEFAULT is the standard lexical state -->
+            <KEYWORD2>DEFAULT</KEYWORD2>
+        </KEYWORDS>
+
+    </RULES>
+</MODE>
+