]> gitweb.factorcode.org Git - factor.git/blob - basis/xmode/modes/idl.xml
65b7fc535c2e329cf1f96ed654b721702a05e2d8
[factor.git] / basis / xmode / modes / idl.xml
1 <?xml version="1.0"?>\r
2 \r
3 <!DOCTYPE MODE SYSTEM "xmode.dtd">\r
4 \r
5 <!-- IDL mode, by Slava Pestov\r
6      based on Java mode by Mike Dillon and IDLTokenMarker by Juha Lindfors -->\r
7 <MODE>\r
8         <PROPS>\r
9                 <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
10                 <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
11                 <PROPERTY NAME="commentStart" VALUE="/*" />\r
12                 <PROPERTY NAME="commentEnd" VALUE="*/" />\r
13                 <PROPERTY NAME="boxComment" VALUE="*" />\r
14                 <PROPERTY NAME="lineComment" VALUE="//" />\r
15         </PROPS>\r
16         <RULES ESCAPE="\" IGNORE_CASE="FALSE">\r
17                 <!-- C style comment -->\r
18                 <SPAN TYPE="COMMENT1">\r
19                         <BEGIN>/*</BEGIN>\r
20                         <END>*/</END>\r
21                 </SPAN>\r
22 \r
23                 <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
24                         <BEGIN>"</BEGIN>\r
25                         <END>"</END>\r
26                 </SPAN>\r
27                 <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
28                         <BEGIN>'</BEGIN>\r
29                         <END>'</END>\r
30                 </SPAN>\r
31 \r
32                 <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>\r
33 \r
34                 <!-- some of these should be marked OPERATOR -->\r
35                 <!-- <SEQ TYPE="NULL">)</SEQ>\r
36                 <SEQ TYPE="NULL">=</SEQ>\r
37                 <SEQ TYPE="NULL">!</SEQ>\r
38                 <SEQ TYPE="NULL">&gt;=</SEQ>\r
39                 <SEQ TYPE="NULL">&lt;=</SEQ>\r
40                 <SEQ TYPE="NULL">+</SEQ>\r
41                 <SEQ TYPE="NULL">-</SEQ>\r
42                 <SEQ TYPE="NULL">/</SEQ>\r
43                 <SEQ TYPE="NULL">*</SEQ>\r
44                 <SEQ TYPE="NULL">&gt;</SEQ>\r
45                 <SEQ TYPE="NULL">&lt;</SEQ>\r
46                 <SEQ TYPE="NULL">%</SEQ>\r
47                 <SEQ TYPE="NULL">&amp;</SEQ>\r
48                 <SEQ TYPE="NULL">|</SEQ>\r
49                 <SEQ TYPE="NULL">^</SEQ>\r
50                 <SEQ TYPE="NULL">~</SEQ>\r
51                 <SEQ TYPE="NULL">.</SEQ>\r
52                 <SEQ TYPE="NULL">,</SEQ>\r
53                 <SEQ TYPE="NULL">;</SEQ>\r
54                 <SEQ TYPE="NULL">]</SEQ>\r
55                 <SEQ TYPE="NULL">[</SEQ>\r
56                 <SEQ TYPE="NULL">?</SEQ> -->\r
57 \r
58                 <SEQ TYPE="OPERATOR">}</SEQ>\r
59                 <SEQ TYPE="OPERATOR">{</SEQ>\r
60                 <SEQ TYPE="OPERATOR">:</SEQ>\r
61 \r
62                 <!-- Function calls -->\r
63                 <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
64                 <SEQ TYPE="OPERATOR">)</SEQ>\r
65 \r
66                 <KEYWORDS>\r
67                         <KEYWORD3>any</KEYWORD3>\r
68                         <KEYWORD1>attribute</KEYWORD1>\r
69                         <KEYWORD3>boolean</KEYWORD3>\r
70                         <KEYWORD1>case</KEYWORD1>\r
71                         <KEYWORD3>char</KEYWORD3>\r
72                         <KEYWORD1>const</KEYWORD1>\r
73                         <KEYWORD1>context</KEYWORD1>\r
74                         <KEYWORD1>default</KEYWORD1>\r
75                         <KEYWORD3>double</KEYWORD3>\r
76                         <KEYWORD3>enum</KEYWORD3>\r
77                         <KEYWORD1>exception</KEYWORD1>\r
78                         <LITERAL2>FALSE</LITERAL2>\r
79                         <KEYWORD1>fixed</KEYWORD1>\r
80                         <KEYWORD3>float</KEYWORD3>\r
81                         <KEYWORD1>in</KEYWORD1>\r
82                         <KEYWORD1>inout</KEYWORD1>\r
83                         <KEYWORD1>interface</KEYWORD1>\r
84                         <KEYWORD3>long</KEYWORD3>\r
85                         <KEYWORD1>module</KEYWORD1>\r
86                         <KEYWORD3>Object</KEYWORD3>\r
87                         <KEYWORD3>octet</KEYWORD3>\r
88                         <KEYWORD1>oneway</KEYWORD1>\r
89                         <KEYWORD1>out</KEYWORD1>\r
90                         <KEYWORD1>raises</KEYWORD1>\r
91                         <KEYWORD1>readonly</KEYWORD1>\r
92                         <KEYWORD3>sequence</KEYWORD3>\r
93                         <KEYWORD3>short</KEYWORD3>\r
94                         <KEYWORD3>string</KEYWORD3>\r
95                         <KEYWORD3>struct</KEYWORD3>\r
96                         <KEYWORD1>switch</KEYWORD1>\r
97                         <LITERAL2>TRUE</LITERAL2>\r
98                         <KEYWORD3>typedef</KEYWORD3>\r
99                         <KEYWORD3>unsigned</KEYWORD3>\r
100                         <KEYWORD3>union</KEYWORD3>\r
101                         <KEYWORD3>void</KEYWORD3>\r
102                         <KEYWORD3>wchar</KEYWORD3>\r
103                         <KEYWORD3>wstring</KEYWORD3>\r
104                 </KEYWORDS>\r
105         </RULES>\r
106 </MODE>\r