]> gitweb.factorcode.org Git - factor.git/blob - basis/xmode/modes/modula3.xml
fa04e9cbfe4373efdfeb079dbf8a0db88c6e74ac
[factor.git] / basis / xmode / modes / modula3.xml
1 <?xml version="1.0"?>\r
2 \r
3 <!DOCTYPE MODE SYSTEM "xmode.dtd">\r
4 \r
5 <!-- Modula-3 mode, by Marcio Marchini mqm@magma.ca -->\r
6 <!-- See http://www.research.compaq.com/SRC/m3defn/html/syntax.html -->\r
7 \r
8 <MODE>\r
9         <PROPS>\r
10                 <PROPERTY NAME="commentStart" VALUE="(*" />\r
11                 <PROPERTY NAME="commentEnd" VALUE="*)" />\r
12         </PROPS>\r
13         <RULES ESCAPE="\" IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">\r
14                 <!-- Comment -->\r
15                 <!-- Compiler directives. -->\r
16                 <SPAN TYPE="COMMENT2">\r
17                         <BEGIN>&lt;*</BEGIN>\r
18                         <END>*&gt;</END>\r
19                 </SPAN>\r
20                 \r
21                 <SPAN TYPE="COMMENT1">\r
22                         <BEGIN>(*</BEGIN>\r
23                         <END>*)</END>\r
24                 </SPAN>\r
25 \r
26                 <!-- Standard literals -->\r
27                 <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
28                         <BEGIN>"</BEGIN>\r
29                         <END>"</END>\r
30                 </SPAN>\r
31                 <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
32                         <BEGIN>'</BEGIN>\r
33                         <END>'</END>\r
34                 </SPAN>\r
35 \r
36                 <SEQ TYPE="OPERATOR">^</SEQ>\r
37                 <SEQ TYPE="OPERATOR">@</SEQ>\r
38                 <SEQ TYPE="OPERATOR">:=</SEQ>\r
39                 <SEQ TYPE="OPERATOR">=</SEQ>\r
40                 <SEQ TYPE="OPERATOR">&lt;&gt;</SEQ>\r
41                 <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
42                 <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
43                 <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
44                 <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
45                 <SEQ TYPE="OPERATOR">+</SEQ>\r
46                 <SEQ TYPE="OPERATOR">-</SEQ>\r
47                 <SEQ TYPE="OPERATOR">/</SEQ>\r
48                 <SEQ TYPE="OPERATOR">*</SEQ>\r
49 \r
50                 <KEYWORDS>\r
51                         <KEYWORD1>AND</KEYWORD1>\r
52                         <KEYWORD1>DO</KEYWORD1>\r
53                         <KEYWORD1>FROM</KEYWORD1>\r
54                         <KEYWORD1>NOT</KEYWORD1>\r
55                         <KEYWORD1>REPEAT</KEYWORD1>\r
56                         <KEYWORD1>UNTIL</KEYWORD1>\r
57                         <KEYWORD1>ANY</KEYWORD1>\r
58                         <KEYWORD1>ELSE</KEYWORD1>\r
59                         <KEYWORD1>GENERIC</KEYWORD1>\r
60                         <KEYWORD1>OBJECT</KEYWORD1>\r
61                         <KEYWORD1>RETURN</KEYWORD1>\r
62                         <KEYWORD1>UNTRACED</KEYWORD1>\r
63                         <KEYWORD1>ARRAY</KEYWORD1>\r
64                         <KEYWORD1>ELSIF</KEYWORD1>\r
65                         <KEYWORD1>IF</KEYWORD1>\r
66                         <KEYWORD1>OF</KEYWORD1>\r
67                         <KEYWORD1>REVEAL</KEYWORD1>\r
68                         <KEYWORD1>VALUE</KEYWORD1>\r
69                         <KEYWORD1>AS</KEYWORD1>\r
70                         <KEYWORD1>END</KEYWORD1>\r
71                         <KEYWORD1>IMPORT</KEYWORD1>\r
72                         <KEYWORD1>OR</KEYWORD1>\r
73                         <KEYWORD1>ROOT</KEYWORD1>\r
74                         <KEYWORD1>VAR</KEYWORD1>\r
75                         <KEYWORD1>BEGIN</KEYWORD1>\r
76                         <KEYWORD1>EVAL</KEYWORD1>\r
77                         <KEYWORD1>IN</KEYWORD1>\r
78                         <KEYWORD1>OVERRIDES</KEYWORD1>\r
79                         <KEYWORD1>SET</KEYWORD1>\r
80                         <KEYWORD1>WHILE</KEYWORD1>\r
81                         <KEYWORD1>BITS</KEYWORD1>\r
82                         <KEYWORD1>EXCEPT</KEYWORD1>\r
83                         <KEYWORD1>INTERFACE</KEYWORD1>\r
84                         <KEYWORD1>PROCEDURE</KEYWORD1>\r
85                         <KEYWORD1>THEN</KEYWORD1>\r
86                         <KEYWORD1>WITH</KEYWORD1>\r
87                         <KEYWORD1>BRANDED</KEYWORD1>\r
88                         <KEYWORD1>EXCEPTION</KEYWORD1>\r
89                         <KEYWORD1>LOCK</KEYWORD1>\r
90                         <KEYWORD1>RAISE</KEYWORD1>\r
91                         <KEYWORD1>TO</KEYWORD1>\r
92                         <KEYWORD1>BY</KEYWORD1>\r
93                         <KEYWORD1>EXIT</KEYWORD1>\r
94                         <KEYWORD1>LOOP</KEYWORD1>\r
95                         <KEYWORD1>RAISES</KEYWORD1>\r
96                         <KEYWORD1>TRY</KEYWORD1>\r
97                         <KEYWORD1>CASE</KEYWORD1>\r
98                         <KEYWORD1>EXPORTS</KEYWORD1>\r
99                         <KEYWORD1>METHODS</KEYWORD1>\r
100                         <KEYWORD1>READONLY</KEYWORD1>\r
101                         <KEYWORD1>TYPE</KEYWORD1>\r
102                         <KEYWORD1>CONST</KEYWORD1>\r
103                         <KEYWORD1>FINALLY</KEYWORD1>\r
104                         <KEYWORD1>MOD</KEYWORD1>\r
105                         <KEYWORD1>RECORD</KEYWORD1>\r
106                         <KEYWORD1>TYPECASE</KEYWORD1>\r
107                         <KEYWORD1>DIV</KEYWORD1>\r
108                         <KEYWORD1>FOR</KEYWORD1>\r
109                         <KEYWORD1>MODULE</KEYWORD1>\r
110                         <KEYWORD1>REF</KEYWORD1>\r
111                         <KEYWORD1>UNSAFE</KEYWORD1>\r
112 \r
113                         <!-- Reserved identifiers -->\r
114                         <LITERAL2>ABS</LITERAL2>\r
115                         <LITERAL2>BYTESIZE</LITERAL2>\r
116                         <LITERAL2>EXTENDED</LITERAL2>\r
117                         <LITERAL2>INTEGER</LITERAL2>\r
118                         <LITERAL2>MIN</LITERAL2>\r
119                         <LITERAL2>NUMBER</LITERAL2>\r
120                         <LITERAL2>TEXT</LITERAL2>\r
121                         <LITERAL2>ADDRESS</LITERAL2>\r
122                         <LITERAL2>CARDINAL</LITERAL2>\r
123                         <LITERAL2>FALSE</LITERAL2>\r
124                         <LITERAL2>ISTYPE</LITERAL2>\r
125                         <LITERAL2>MUTEX</LITERAL2>\r
126                         <LITERAL2>ORD</LITERAL2>\r
127                         <LITERAL2>TRUE</LITERAL2>\r
128                         <LITERAL2>ADR</LITERAL2>\r
129                         <LITERAL2>CEILING</LITERAL2>\r
130                         <LITERAL2>FIRST</LITERAL2>\r
131                         <LITERAL2>LAST</LITERAL2>\r
132                         <LITERAL2>NARROW</LITERAL2>\r
133                         <LITERAL2>REAL</LITERAL2>\r
134                         <LITERAL2>TRUNC</LITERAL2>\r
135                         <LITERAL2>ADRSIZE</LITERAL2>\r
136                         <LITERAL2>CHAR</LITERAL2>\r
137                         <LITERAL2>FLOAT</LITERAL2>\r
138                         <LITERAL2>LONGREAL</LITERAL2>\r
139                         <LITERAL2>NEW</LITERAL2>\r
140                         <LITERAL2>REFANY</LITERAL2>\r
141                         <LITERAL2>TYPECODE</LITERAL2>\r
142                         <LITERAL2>BITSIZE</LITERAL2>\r
143                         <LITERAL2>DEC</LITERAL2>\r
144                         <LITERAL2>FLOOR</LITERAL2>\r
145                         <LITERAL2>LOOPHOLE</LITERAL2>\r
146                         <LITERAL2>NIL</LITERAL2>\r
147                         <LITERAL2>ROUND</LITERAL2>\r
148                         <LITERAL2>VAL</LITERAL2>\r
149                         <LITERAL2>BOOLEAN</LITERAL2>\r
150                         <LITERAL2>DISPOSE</LITERAL2>\r
151                         <LITERAL2>INC</LITERAL2>\r
152                         <LITERAL2>MAX</LITERAL2>\r
153                         <LITERAL2>NULL</LITERAL2>\r
154                         <LITERAL2>SUBARRAY</LITERAL2>\r
155                         \r
156                         <!-- Standard interfaces -->\r
157                         <!--  http://www.research.compaq.com/SRC/m3defn/html/intfs.html -->\r
158                         <KEYWORD2>Text</KEYWORD2>\r
159                         <KEYWORD2>Thread</KEYWORD2>\r
160                         <KEYWORD2>Word</KEYWORD2>\r
161                         <KEYWORD2>Real</KEYWORD2>\r
162                         <KEYWORD2>LongReal</KEYWORD2>\r
163                         <KEYWORD2>ExtendedReal</KEYWORD2>\r
164                         <KEYWORD2>RealFloat</KEYWORD2>\r
165                         <KEYWORD2>LongFloat</KEYWORD2>\r
166                         <KEYWORD2>ExtendedFloat</KEYWORD2>\r
167                         <KEYWORD2>FloatMode</KEYWORD2>\r
168 \r
169                         <!-- Recommended interfaces -->\r
170                         <!--  http://www.research.compaq.com/SRC/m3defn/html/intfs.html -->\r
171                         <KEYWORD3>Fmt</KEYWORD3>\r
172                         <KEYWORD3>Lex</KEYWORD3>\r
173                         <KEYWORD3>Pickle</KEYWORD3>\r
174                         <KEYWORD3>Table</KEYWORD3>\r
175                         \r
176                 </KEYWORDS>\r
177         </RULES>\r
178 </MODE>\r