]> gitweb.factorcode.org Git - factor.git/blob - basis/xmode/modes/pascal.xml
xmode.modes: updating with recent xmode files
[factor.git] / basis / xmode / modes / pascal.xml
1 <?xml version="1.0"?>
2
3 <!DOCTYPE MODE SYSTEM "xmode.dtd">
4
5 <!-- Pascal mode by Kristian Ovaska.
6      Delphi 3 was used as reference.
7      Modified by Barry Carr (Ixian Software Components Ltd)
8      Delphi 6 was used as reference.
9      Modified by Barry Carr (Ixian Software Components Ltd) Feb '04
10      Delphi 8 (for .NET) was used as reference
11      Keywords   = KEYWORD1
12      Directives = KEYWORD2.
13      Everything else as is-->
14 <MODE>
15     <PROPS>
16         <PROPERTY NAME="commentStart" VALUE="{" />
17         <PROPERTY NAME="commentEnd" VALUE="}" />
18         <PROPERTY NAME="lineComment" VALUE="//" />
19     </PROPS>
20
21     <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">
22         <!-- Compiler directives. -->
23         <SPAN TYPE="COMMENT3">
24             <BEGIN>{$</BEGIN>
25             <END>}</END>
26         </SPAN>
27         <SPAN TYPE="COMMENT3">
28             <BEGIN>(*$</BEGIN>
29             <END>*)</END>
30         </SPAN>
31
32         <!-- Normal comments. -->
33         <SPAN TYPE="COMMENT1">
34             <BEGIN>{</BEGIN>
35             <END>}</END>
36         </SPAN>
37
38         <SPAN TYPE="COMMENT1">
39             <BEGIN>(*</BEGIN>
40             <END>*)</END>
41         </SPAN>
42
43         <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>
44
45         <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">
46             <BEGIN>'</BEGIN>
47             <END>'</END>
48         </SPAN>
49
50         <SEQ TYPE="OPERATOR">)</SEQ>
51         <SEQ TYPE="OPERATOR">(</SEQ>
52         <SEQ TYPE="OPERATOR">]</SEQ>
53         <SEQ TYPE="OPERATOR">[</SEQ>
54         <SEQ TYPE="OPERATOR">.</SEQ>
55         <SEQ TYPE="OPERATOR">,</SEQ>
56         <SEQ TYPE="OPERATOR">;</SEQ>
57         <SEQ TYPE="OPERATOR">^</SEQ>
58         <SEQ TYPE="OPERATOR">@</SEQ>
59         <SEQ TYPE="OPERATOR">:=</SEQ>
60         <SEQ TYPE="OPERATOR">:</SEQ>
61         <SEQ TYPE="OPERATOR">=</SEQ>
62         <SEQ TYPE="OPERATOR">&lt;&gt;</SEQ>
63         <SEQ TYPE="OPERATOR">&gt;</SEQ>
64         <SEQ TYPE="OPERATOR">&lt;</SEQ>
65         <SEQ TYPE="OPERATOR">&gt;=</SEQ>
66         <SEQ TYPE="OPERATOR">&lt;=</SEQ>
67         <SEQ TYPE="OPERATOR">+</SEQ>
68         <SEQ TYPE="OPERATOR">-</SEQ>
69         <SEQ TYPE="OPERATOR">/</SEQ>
70         <SEQ TYPE="OPERATOR">*</SEQ>
71
72         <KEYWORDS>
73             <!-- Reserved words. Standard directives are not included, except
74                  private, protected, public, published, and automated. -->
75             <KEYWORD1>and</KEYWORD1>
76             <KEYWORD1>array</KEYWORD1>
77             <KEYWORD1>as</KEYWORD1>
78             <KEYWORD1>at</KEYWORD1>
79             <KEYWORD1>asm</KEYWORD1>
80             <KEYWORD1>begin</KEYWORD1>
81             <KEYWORD1>case</KEYWORD1>
82             <KEYWORD1>class</KEYWORD1>
83             <KEYWORD1>const</KEYWORD1>
84             <KEYWORD1>constructor</KEYWORD1>
85             <KEYWORD1>destructor</KEYWORD1>
86             <KEYWORD1>dispinterface</KEYWORD1>
87             <KEYWORD1>div</KEYWORD1>
88             <KEYWORD1>do</KEYWORD1>
89             <KEYWORD1>downto</KEYWORD1>
90             <KEYWORD1>else</KEYWORD1>
91             <KEYWORD1>end</KEYWORD1>
92             <KEYWORD1>except</KEYWORD1>
93             <KEYWORD1>exports</KEYWORD1>
94             <KEYWORD1>file</KEYWORD1>
95             <KEYWORD1>final</KEYWORD1>
96             <KEYWORD1>finalization</KEYWORD1>
97             <KEYWORD1>finally</KEYWORD1>
98             <KEYWORD1>for</KEYWORD1>
99             <KEYWORD1>function</KEYWORD1>
100             <KEYWORD1>goto</KEYWORD1>
101             <KEYWORD1>if</KEYWORD1>
102             <KEYWORD1>implementation</KEYWORD1>
103             <KEYWORD1>in</KEYWORD1>
104             <KEYWORD1>inherited</KEYWORD1>
105             <KEYWORD1>initialization</KEYWORD1>
106             <KEYWORD1>inline</KEYWORD1>
107             <KEYWORD1>interface</KEYWORD1>
108             <KEYWORD1>is</KEYWORD1>
109             <KEYWORD1>label</KEYWORD1>
110             <KEYWORD1>mod</KEYWORD1>
111             <KEYWORD1>not</KEYWORD1>
112             <KEYWORD1>object</KEYWORD1>
113             <KEYWORD1>of</KEYWORD1>
114             <KEYWORD1>on</KEYWORD1>
115             <KEYWORD1>or</KEYWORD1>
116             <KEYWORD1>out</KEYWORD1>
117             <KEYWORD1>packed</KEYWORD1>
118             <KEYWORD1>procedure</KEYWORD1>
119             <KEYWORD1>program</KEYWORD1>
120             <KEYWORD1>property</KEYWORD1>
121             <KEYWORD1>raise</KEYWORD1>
122             <KEYWORD1>record</KEYWORD1>
123             <KEYWORD1>repeat</KEYWORD1>
124             <KEYWORD1>resourcestring</KEYWORD1>
125             <KEYWORD1>set</KEYWORD1>
126             <KEYWORD1>sealed</KEYWORD1>
127             <KEYWORD1>shl</KEYWORD1>
128             <KEYWORD1>shr</KEYWORD1>
129             <KEYWORD1>static</KEYWORD1>
130             <KEYWORD1>string</KEYWORD1>
131             <KEYWORD1>then</KEYWORD1>
132             <KEYWORD1>threadvar</KEYWORD1>
133             <KEYWORD1>to</KEYWORD1>
134             <KEYWORD1>try</KEYWORD1>
135             <KEYWORD1>type</KEYWORD1>
136             <KEYWORD1>unit</KEYWORD1>
137             <KEYWORD1>unsafe</KEYWORD1>
138             <KEYWORD1>until</KEYWORD1>
139             <KEYWORD1>uses</KEYWORD1>
140             <KEYWORD1>var</KEYWORD1>
141             <KEYWORD1>while</KEYWORD1>
142             <KEYWORD1>with</KEYWORD1>
143             <KEYWORD1>xor</KEYWORD1>
144
145             <KEYWORD2>absolute</KEYWORD2>
146             <KEYWORD2>abstract</KEYWORD2>
147             <KEYWORD2>assembler</KEYWORD2>
148             <KEYWORD2>automated</KEYWORD2>
149             <KEYWORD2>cdecl</KEYWORD2>
150             <KEYWORD2>contains</KEYWORD2>
151             <KEYWORD2>default</KEYWORD2>
152             <KEYWORD2>deprecated</KEYWORD2>
153             <KEYWORD2>dispid</KEYWORD2>
154             <KEYWORD2>dynamic</KEYWORD2>
155             <KEYWORD2>export</KEYWORD2>
156             <KEYWORD2>external</KEYWORD2>
157             <KEYWORD2>far</KEYWORD2>
158             <KEYWORD2>forward</KEYWORD2>
159             <KEYWORD2>implements</KEYWORD2>
160             <KEYWORD2>index</KEYWORD2>
161             <KEYWORD2>library</KEYWORD2>
162             <KEYWORD2>local</KEYWORD2>
163             <KEYWORD2>message</KEYWORD2>
164             <KEYWORD2>name</KEYWORD2>
165             <KEYWORD2>namespaces</KEYWORD2>
166             <KEYWORD2>near</KEYWORD2>
167             <KEYWORD2>nodefault</KEYWORD2>
168             <KEYWORD2>overload</KEYWORD2>
169             <KEYWORD2>override</KEYWORD2>
170             <KEYWORD2>package</KEYWORD2>
171             <KEYWORD2>pascal</KEYWORD2>
172             <KEYWORD2>platform</KEYWORD2>
173             <KEYWORD2>private</KEYWORD2>
174             <KEYWORD2>protected</KEYWORD2>
175             <KEYWORD2>public</KEYWORD2>
176             <KEYWORD2>published</KEYWORD2>
177             <KEYWORD2>read</KEYWORD2>
178             <KEYWORD2>readonly</KEYWORD2>
179             <KEYWORD2>register</KEYWORD2>
180             <KEYWORD2>reintroduce</KEYWORD2>
181             <KEYWORD2>requires</KEYWORD2>
182             <KEYWORD2>resident</KEYWORD2>
183             <KEYWORD2>safecall</KEYWORD2>
184             <KEYWORD2>stdcall</KEYWORD2>
185             <KEYWORD2>stored</KEYWORD2>
186             <KEYWORD2>varargs</KEYWORD2>
187             <KEYWORD2>virtual</KEYWORD2>
188             <KEYWORD2>write</KEYWORD2>
189             <KEYWORD2>writeonly</KEYWORD2>
190
191             <!-- Ordinal types. -->
192             <KEYWORD3>shortint</KEYWORD3>
193             <KEYWORD3>byte</KEYWORD3>
194             <KEYWORD3>char</KEYWORD3>
195             <KEYWORD3>smallint</KEYWORD3>
196             <KEYWORD3>integer</KEYWORD3>
197             <KEYWORD3>word</KEYWORD3>
198             <KEYWORD3>longint</KEYWORD3>
199             <KEYWORD3>cardinal</KEYWORD3>
200             <!-- Boolean types. -->
201             <KEYWORD3>boolean</KEYWORD3>
202             <KEYWORD3>bytebool</KEYWORD3>
203             <KEYWORD3>wordbool</KEYWORD3>
204             <KEYWORD3>longbool</KEYWORD3>
205             <!-- Real types. -->
206             <KEYWORD3>real</KEYWORD3>
207             <KEYWORD3>single</KEYWORD3>
208             <KEYWORD3>double</KEYWORD3>
209             <KEYWORD3>extended</KEYWORD3>
210             <KEYWORD3>comp</KEYWORD3>
211             <KEYWORD3>currency</KEYWORD3>
212             <!-- Untyped pointer. -->
213             <KEYWORD3>pointer</KEYWORD3>
214
215             <LITERAL2>false</LITERAL2>
216             <LITERAL2>nil</LITERAL2>
217             <LITERAL2>self</LITERAL2>
218             <LITERAL2>true</LITERAL2>
219         </KEYWORDS>
220     </RULES>
221 </MODE>