]> gitweb.factorcode.org Git - factor.git/blob - basis/xmode/modes/fortran90.xml
xmode.modes: updating with recent xmode files
[factor.git] / basis / xmode / modes / fortran90.xml
1 <?xml version="1.0"?>\r
2 \r
3 <!DOCTYPE MODE SYSTEM "xmode.dtd">\r
4 <!--  FORTRAN90 edit mode\r
5       Version 0.1\r
6       2008-12-08\r
7       suitable for jEdit 4.2final and jEdit 4.3pre16\r
8 -->\r
9 <!-- This is a mode for FORTRAN 90/95 and newer, free-form source files.\r
10 In general, this supports common features of the F90 specification.\r
11 -->\r
12 <!-- Suggested catalog file entry:\r
13 \r
14 <MODE NAME="fortran90"          FILE="fortran90.xml"\r
15                                 FILE_NAME_GLOB="*.{f90,f95,f03}" />\r
16  -->\r
17 <MODE>\r
18     <PROPS>\r
19          <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />\r
20          <PROPERTY NAME="indentNextLines" VALUE="\s*((if\s*\(.*\)\s*then|else\s*|do\s*)*)" />\r
21     </PROPS>\r
22 \r
23     <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="FALSE">\r
24 \r
25 <!-- comments started by ! in free-form fortran-->\r
26 <EOL_SPAN TYPE="COMMENT1">!</EOL_SPAN>\r
27 \r
28                 <SPAN TYPE="LITERAL1" NO_LINE_BREAK="FALSE">\r
29                         <BEGIN>"</BEGIN>\r
30                         <END>"</END>\r
31                 </SPAN>\r
32                 <SPAN TYPE="LITERAL1" NO_LINE_BREAK="FALSE">\r
33                         <BEGIN>'</BEGIN>\r
34                         <END>'</END>\r
35                 </SPAN>\r
36 \r
37 <!-- Highlighted Operators -->\r
38                 <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
39                 <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
40                 <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
41                 <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
42                 <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
43                 <SEQ TYPE="OPERATOR">/=</SEQ>\r
44                 <SEQ TYPE="OPERATOR">==</SEQ>\r
45                 <SEQ TYPE="OPERATOR">.lt.</SEQ>\r
46                 <SEQ TYPE="OPERATOR">.gt.</SEQ>\r
47                 <SEQ TYPE="OPERATOR">.eq.</SEQ>\r
48                 <SEQ TYPE="OPERATOR">.ne.</SEQ>\r
49                 <SEQ TYPE="OPERATOR">.le.</SEQ>\r
50                 <SEQ TYPE="OPERATOR">.ge.</SEQ>\r
51                 <SEQ TYPE="OPERATOR">.AND.</SEQ>\r
52                 <SEQ TYPE="OPERATOR">.OR.</SEQ>\r
53 \r
54 <KEYWORDS>\r
55 <!-- unclassified keywords -->\r
56 <KEYWORD1>INCLUDE</KEYWORD1>\r
57 <!-- Program units and calling them -->\r
58 <KEYWORD1>PROGRAM</KEYWORD1>\r
59 <KEYWORD1>MODULE</KEYWORD1>\r
60 <KEYWORD1>SUBROUTINE</KEYWORD1>\r
61 <KEYWORD1>FUNCTION</KEYWORD1>\r
62 <KEYWORD1>CONTAINS</KEYWORD1>\r
63 <KEYWORD1>USE</KEYWORD1>\r
64 <KEYWORD1>CALL</KEYWORD1>\r
65 <KEYWORD1>RETURN</KEYWORD1>\r
66 <!-- data types, declaration, and allocation keywords -->\r
67 <KEYWORD1>IMPLICIT</KEYWORD1>\r
68 <KEYWORD1>EXPLICIT</KEYWORD1>\r
69 <KEYWORD1>NONE</KEYWORD1>\r
70 <KEYWORD1>DATA</KEYWORD1>\r
71 <KEYWORD1>PARAMETER</KEYWORD1>\r
72 <KEYWORD1>ALLOCATE</KEYWORD1>\r
73 <KEYWORD1>ALLOCATABLE</KEYWORD1>\r
74 <KEYWORD1>ALLOCATED</KEYWORD1>\r
75 <KEYWORD1>DEALLOCATE</KEYWORD1>\r
76 <KEYWORD1>INTEGER</KEYWORD1>\r
77 <KEYWORD1>REAL</KEYWORD1>\r
78 <KEYWORD1>DOUBLE</KEYWORD1>\r
79 <KEYWORD1>PRECISION</KEYWORD1>\r
80 <KEYWORD1>COMPLEX</KEYWORD1>\r
81 <KEYWORD1>LOGICAL</KEYWORD1>\r
82 <KEYWORD1>CHARACTER</KEYWORD1>\r
83 <KEYWORD1>DIMENSION</KEYWORD1>\r
84 <KEYWORD1>KIND</KEYWORD1>\r
85 <!-- FORTRAN Statements -->\r
86 <KEYWORD1>CASE</KEYWORD1>\r
87 <KEYWORD1>SELECT</KEYWORD1>\r
88 <KEYWORD1>DEFAULT</KEYWORD1>\r
89 <KEYWORD1>CONTINUE</KEYWORD1>\r
90 <KEYWORD1>CYCLE</KEYWORD1>\r
91 <KEYWORD1>DO</KEYWORD1>\r
92 <KEYWORD1>WHILE</KEYWORD1>\r
93 <KEYWORD1>ELSE</KEYWORD1>\r
94 <KEYWORD1>IF</KEYWORD1>\r
95 <KEYWORD1>ELSEIF</KEYWORD1>\r
96 <KEYWORD1>THEN</KEYWORD1>\r
97 <KEYWORD1>ELSEWHERE</KEYWORD1>\r
98 <KEYWORD1>END</KEYWORD1>\r
99 <KEYWORD1>ENDIF</KEYWORD1>\r
100 <KEYWORD1>ENDDO</KEYWORD1>\r
101 <KEYWORD1>FORALL</KEYWORD1>\r
102 <KEYWORD1>WHERE</KEYWORD1>\r
103 <KEYWORD1>EXIT</KEYWORD1>\r
104 <KEYWORD1>GOTO</KEYWORD1>\r
105 <KEYWORD1>PAUSE</KEYWORD1>\r
106 <KEYWORD1>STOP</KEYWORD1>\r
107 <!-- i/o keywords -->\r
108 <KEYWORD1>BACKSPACE</KEYWORD1>\r
109 <KEYWORD1>CLOSE</KEYWORD1>\r
110 <KEYWORD1>ENDFILE</KEYWORD1>\r
111 <KEYWORD1>INQUIRE</KEYWORD1>\r
112 <KEYWORD1>OPEN</KEYWORD1>\r
113 <KEYWORD1>PRINT</KEYWORD1>\r
114 <KEYWORD1>READ</KEYWORD1>\r
115 <KEYWORD1>REWIND</KEYWORD1>\r
116 <KEYWORD1>WRITE</KEYWORD1>\r
117 <KEYWORD1>FORMAT</KEYWORD1>\r
118 <!-- Type conversion and utility functions -->\r
119 <KEYWORD1>AIMAG</KEYWORD1>\r
120 <KEYWORD1>AINT</KEYWORD1>\r
121 <KEYWORD1>AMAX0</KEYWORD1>\r
122 <KEYWORD1>AMIN0</KEYWORD1>\r
123 <KEYWORD1>ANINT</KEYWORD1>\r
124 <KEYWORD1>CEILING</KEYWORD1>\r
125 <KEYWORD1>CMPLX</KEYWORD1>\r
126 <KEYWORD1>CONJG</KEYWORD1>\r
127 <KEYWORD1>DBLE</KEYWORD1>\r
128 <KEYWORD1>DCMPLX</KEYWORD1>\r
129 <KEYWORD1>DFLOAT</KEYWORD1>\r
130 <KEYWORD1>DIM</KEYWORD1>\r
131 <KEYWORD1>DPROD</KEYWORD1>\r
132 <KEYWORD1>FLOAT</KEYWORD1>\r
133 <KEYWORD1>FLOOR</KEYWORD1>\r
134 <KEYWORD1>IFIX</KEYWORD1>\r
135 <KEYWORD1>IMAG</KEYWORD1>\r
136 <KEYWORD1>INT</KEYWORD1>\r
137 <KEYWORD1>LOGICAL</KEYWORD1>\r
138 <KEYWORD1>MODULO</KEYWORD1>\r
139 <KEYWORD1>NINT</KEYWORD1>\r
140 <KEYWORD1>REAL</KEYWORD1>\r
141 <KEYWORD1>SIGN</KEYWORD1>\r
142 <KEYWORD1>SNGL</KEYWORD1>\r
143 <KEYWORD1>TRANSFER</KEYWORD1>\r
144 <KEYWORD1>ZEXT</KEYWORD1>\r
145 <!-- More Functions -->\r
146 <KEYWORD1>ABS</KEYWORD1>\r
147 <KEYWORD1>ACOS</KEYWORD1>\r
148 <KEYWORD1>AIMAG</KEYWORD1>\r
149 <KEYWORD1>AINT</KEYWORD1>\r
150 <KEYWORD1>ALOG</KEYWORD1>\r
151 <KEYWORD1>ALOG10</KEYWORD1>\r
152 <KEYWORD1>AMAX0</KEYWORD1>\r
153 <KEYWORD1>AMAX1</KEYWORD1>\r
154 <KEYWORD1>AMIN0</KEYWORD1>\r
155 <KEYWORD1>AMIN1</KEYWORD1>\r
156 <KEYWORD1>AMOD</KEYWORD1>\r
157 <KEYWORD1>ANINT</KEYWORD1>\r
158 <KEYWORD1>ASIN</KEYWORD1>\r
159 <KEYWORD1>ATAN</KEYWORD1>\r
160 <KEYWORD1>ATAN2</KEYWORD1>\r
161 <KEYWORD1>CABS</KEYWORD1>\r
162 <KEYWORD1>CCOS</KEYWORD1>\r
163 <KEYWORD1>CHAR</KEYWORD1>\r
164 <KEYWORD1>CLOG</KEYWORD1>\r
165 <KEYWORD1>CMPLX</KEYWORD1>\r
166 <KEYWORD1>CONJG</KEYWORD1>\r
167 <KEYWORD1>COS</KEYWORD1>\r
168 <KEYWORD1>COSH</KEYWORD1>\r
169 <KEYWORD1>CSIN</KEYWORD1>\r
170 <KEYWORD1>CSQRT</KEYWORD1>\r
171 <KEYWORD1>DABS</KEYWORD1>\r
172 <KEYWORD1>DACOS</KEYWORD1>\r
173 <KEYWORD1>DASIN</KEYWORD1>\r
174 <KEYWORD1>DATAN</KEYWORD1>\r
175 <KEYWORD1>DATAN2</KEYWORD1>\r
176 <KEYWORD1>DBLE</KEYWORD1>\r
177 <KEYWORD1>DCOS</KEYWORD1>\r
178 <KEYWORD1>DCOSH</KEYWORD1>\r
179 <KEYWORD1>DDIM</KEYWORD1>\r
180 <KEYWORD1>DEXP</KEYWORD1>\r
181 <KEYWORD1>DIM</KEYWORD1>\r
182 <KEYWORD1>DINT</KEYWORD1>\r
183 <KEYWORD1>DLOG</KEYWORD1>\r
184 <KEYWORD1>DLOG10</KEYWORD1>\r
185 <KEYWORD1>DMAX1</KEYWORD1>\r
186 <KEYWORD1>DMIN1</KEYWORD1>\r
187 <KEYWORD1>DMOD</KEYWORD1>\r
188 <KEYWORD1>DNINT</KEYWORD1>\r
189 <KEYWORD1>DPROD</KEYWORD1>\r
190 <KEYWORD1>DREAL</KEYWORD1>\r
191 <KEYWORD1>DSIGN</KEYWORD1>\r
192 <KEYWORD1>DSIN</KEYWORD1>\r
193 <KEYWORD1>DSINH</KEYWORD1>\r
194 <KEYWORD1>DSQRT</KEYWORD1>\r
195 <KEYWORD1>DTAN</KEYWORD1>\r
196 <KEYWORD1>DTANH</KEYWORD1>\r
197 <KEYWORD1>EXP</KEYWORD1>\r
198 <KEYWORD1>FLOAT</KEYWORD1>\r
199 <KEYWORD1>IABS</KEYWORD1>\r
200 <KEYWORD1>ICHAR</KEYWORD1>\r
201 <KEYWORD1>IDIM</KEYWORD1>\r
202 <KEYWORD1>IDINT</KEYWORD1>\r
203 <KEYWORD1>IDNINT</KEYWORD1>\r
204 <KEYWORD1>IFIX</KEYWORD1>\r
205 <KEYWORD1>INDEX</KEYWORD1>\r
206 <KEYWORD1>INT</KEYWORD1>\r
207 <KEYWORD1>ISIGN</KEYWORD1>\r
208 <KEYWORD1>LEN</KEYWORD1>\r
209 <KEYWORD1>LGE</KEYWORD1>\r
210 <KEYWORD1>LGT</KEYWORD1>\r
211 <KEYWORD1>LLE</KEYWORD1>\r
212 <KEYWORD1>LLT</KEYWORD1>\r
213 <KEYWORD1>LOG</KEYWORD1>\r
214 <KEYWORD1>LOG10</KEYWORD1>\r
215 <KEYWORD1>MAX</KEYWORD1>\r
216 <KEYWORD1>MAX0</KEYWORD1>\r
217 <KEYWORD1>MAX1</KEYWORD1>\r
218 <KEYWORD1>MIN</KEYWORD1>\r
219 <KEYWORD1>MIN0</KEYWORD1>\r
220 <KEYWORD1>MIN1</KEYWORD1>\r
221 <KEYWORD1>MOD</KEYWORD1>\r
222 <KEYWORD1>NINT</KEYWORD1>\r
223 <KEYWORD1>REAL</KEYWORD1>\r
224 <KEYWORD1>SIGN</KEYWORD1>\r
225 <KEYWORD1>SIN</KEYWORD1>\r
226 <KEYWORD1>SINH</KEYWORD1>\r
227 <KEYWORD1>SNGL</KEYWORD1>\r
228 <KEYWORD1>SQRT</KEYWORD1>\r
229 <KEYWORD1>TAN</KEYWORD1>\r
230 <KEYWORD1>TANH</KEYWORD1>\r
231 <!-- logical values -->\r
232 <KEYWORD1>.false.</KEYWORD1>\r
233 <KEYWORD1>.true.</KEYWORD1>\r
234 \r
235 </KEYWORDS>\r
236     </RULES>\r
237 </MODE>\r