Merging updated GeSHi code for 1.0.7.9 updates
[viewsvn.git] / includes / geshi / geshi / sas.php
1 <?php
2 /*************************************************************************************
3 * sas.php
4 * -------
5 * Author: Galen Johnson (solitaryr@gmail.com)
6 * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
7 * Release Version: 1.0.7.9
8 * CVS Revision Version: $Revision: 1.2 $
9 * Date Started: 2005/12/27
10 * Last Modified: $Date: 2006/04/23 01:14:41 $
11 *
12 * SAS language file for GeSHi. Based on the sas vim file.
13 *
14 * CHANGES
15 * -------
16 * 2005/12/27 (1.0.0)
17 * - First Release
18 *
19 * TODO (updated 2005/12/27)
20 * -------------------------
21 *
22 * * Check highlighting stuff works
23 *
24 *************************************************************************************
25 *
26 * This file is part of GeSHi.
27 *
28 * GeSHi is free software; you can redistribute it and/or modify
29 * it under the terms of the GNU General Public License as published by
30 * the Free Software Foundation; either version 2 of the License, or
31 * (at your option) any later version.
32 *
33 * GeSHi is distributed in the hope that it will be useful,
34 * but WITHOUT ANY WARRANTY; without even the implied warranty of
35 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
36 * GNU General Public License for more details.
37 *
38 * You should have received a copy of the GNU General Public License
39 * along with GeSHi; if not, write to the Free Software
40 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
41 *
42 ************************************************************************************/
43
44 $language_data = array (
45 'LANG_NAME' => 'SAS',
46 'COMMENT_SINGLE' => array(),
47 'COMMENT_MULTI' => array('/*' => '*/'),
48 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
49 'QUOTEMARKS' => array("'", '"'),
50 'ESCAPE_CHAR' => '\\',
51 'KEYWORDS' => array(
52 1 => array(
53 '_NULL_', '_INFILE_', '_N_', '_WEBOUT_', '_NUMERIC_', '_CHARACTER_', '_ALL_'
54 ),
55 2 => array(
56 '%BQUOTE', '%NRBQUOTE', '%CMPRES', '%QCMPRES',
57
58 '%COMPSTOR', '%DATATYP', '%DISPLAY', '%DO',
59 '%ELSE', '%END', '%EVAL', '%GLOBAL',
60 '%GOTO', '%IF', '%INDEX', '%INPUT',
61 '%KEYDEF', '%LABEL', '%LEFT', '%LENGTH',
62 '%LET', '%LOCAL', '%LOWCASE', '%MACRO',
63 '%MEND', '%NRBQUOTE', '%NRQUOTE', '%NRSTR',
64
65 '%PUT', '%QCMPRES', '%QLEFT', '%QLOWCASE',
66 '%QSCAN', '%QSUBSTR', '%QSYSFUNC', '%QTRIM',
67 '%QUOTE', '%QUPCASE', '%SCAN', '%STR',
68 '%SUBSTR', '%SUPERQ', '%SYSCALL', '%SYSEVALF',
69 '%SYSEXEC', '%SYSFUNC', '%SYSGET', '%SYSLPUT',
70 '%SYSPROD', '%SYSRC', '%SYSRPUT', '%THEN',
71
72 '%TO', '%TRIM', '%UNQUOTE', '%UNTIL',
73 '%UPCASE', '%VERIFY', '%WHILE', '%WINDOW'
74 ),
75 3 => array(
76 'ABS', 'ADDR', 'AIRY', 'ARCOS', 'ARSIN', 'ATAN', 'ATTRC', 'ATTRN',
77
78 'BAND', 'BETAINV', 'BLSHIFT', 'BNOT', 'BOR', 'BRSHIFT', 'BXOR',
79 'BYTE', 'CDF', 'CEIL', 'CEXIST', 'CINV', 'CLOSE', 'CNONCT', 'COLLATE',
80 'COMPBL', 'COMPOUND', 'COMPRESS', 'COSH', 'COS', 'CSS', 'CUROBS',
81 'CV', 'DACCDBSL', 'DACCDB', 'DACCSL', 'DACCSYD', 'DACCTAB',
82 'DAIRY', 'DATETIME', 'DATEJUL', 'DATEPART', 'DATE', 'DAY',
83 'DCLOSE', 'DEPDBSL', 'DEPDB', 'DEPSL',
84
85 'DEPSYD', 'DEPSYD', 'DEPTAB', 'DEPTAB', 'DEQUOTE', 'DHMS',
86 'DIF', 'DIGAMMA', 'DIM', 'DINFO', 'DNUM', 'DOPEN', 'DOPTNAME',
87 'DOPTNUM', 'DREAD', 'DROPNOTE', 'DSNAME', 'ERFC', 'ERF', 'EXIST',
88 'EXP', 'FAPPEND', 'FCLOSE', 'FCOL', 'FDELETE', 'FETCHOBS', 'FETCH',
89 'FEXIST', 'FGET', 'FILEEXIST', 'FILENAME', 'FILEREF', 'FINFO',
90 'FINV', 'FIPNAMEL', 'FIPNAME', 'FIPSTATE', 'FLOOR', 'FNONCT',
91
92 'FNOTE', 'FOPEN', 'FOPTNAME', 'FOPTNUM', 'FPOINT', 'FPOS',
93 'FPUT', 'FREAD', 'FREWIND', 'FRLEN', 'FSEP', 'FUZZ', 'FWRITE',
94 'GAMINV', 'GAMMA', 'GETOPTION', 'GETVARC', 'GETVARN', 'HBOUND',
95 'HMS', 'HOSTHELP', 'HOUR', 'IBESSEL', 'INDEXW', 'INDEXC',
96 'INDEX', 'INPUTN', 'INPUTC', 'INPUT', 'INTRR', 'INTCK', 'INTNX',
97 'INT', 'IRR', 'JBESSEL', 'JULDATE', 'KURTOSIS', 'LAG', 'LBOUND',
98
99 'LEFT', 'LENGTH', 'LGAMMA', 'LIBNAME', 'LIBREF', 'LOG10',
100 'LOG2', 'LOGPDF', 'LOGPMF', 'LOGSDF', 'LOG', 'LOWCASE', 'MAX', 'MDY',
101 'MEAN', 'MINUTE', 'MIN', 'MOD', 'MONTH', 'MOPEN', 'MORT',
102 'NETPV', 'NMISS', 'NORMAL', 'NPV', 'N', 'OPEN', 'ORDINAL',
103 'PATHNAME', 'PDF', 'PEEKC', 'PEEK', 'PMF', 'POINT', 'POISSON', 'POKE',
104 'PROBBETA', 'PROBBNML', 'PROBCHI', 'PROBF', 'PROBGAM',
105
106 'PROBHYPR', 'PROBIT', 'PROBNEGB', 'PROBNORM', 'PROBT', 'PUTN',
107 'PUTC', 'PUT', 'QTR', 'QUOTE', 'RANBIN', 'RANCAU', 'RANEXP',
108 'RANGAM', 'RANGE', 'RANK', 'RANNOR', 'RANPOI', 'RANTBL', 'RANTRI',
109 'RANUNI', 'REPEAT', 'RESOLVE', 'REVERSE', 'REWIND', 'RIGHT',
110 'ROUND', 'SAVING', 'SCAN', 'SDF', 'SECOND', 'SIGN', 'SINH', 'SIN',
111 'SKEWNESS', 'SOUNDEX', 'SPEDIS', 'SQRT', 'STDERR', 'STD', 'STFIPS',
112
113 'STNAME', 'STNAMEL', 'SUBSTR', 'SUM', 'SYMGET', 'SYSGET', 'SYSMSG',
114 'SYSPROD', 'SYSRC', 'SYSTEM', 'TANH', 'TAN', 'TIMEPART', 'TIME',
115 'TINV', 'TNONCT', 'TODAY', 'TRANSLATE', 'TRANWRD', 'TRIGAMMA',
116 'TRIMN', 'TRIM', 'TRUNC', 'UNIFORM', 'UPCASE', 'USS',
117 'VARFMT', 'VARINFMT', 'VARLABEL', 'VARLEN', 'VARNAME',
118 'VARNUM', 'VARRAYX', 'VARRAY', 'VARTYPE', 'VAR', 'VERIFY', 'VFORMATX',
119
120 'VFORMATDX', 'VFORMATD', 'VFORMATNX', 'VFORMATN', 'VFORMATWX',
121 'VFORMATW', 'VFORMAT', 'VINARRAYX', 'VINARRAY', 'VINFORMATX',
122 'VINFORMATDX', 'VINFORMATD', 'VINFORMATNX', 'VINFORMATN',
123 'VINFORMATWX', 'VINFORMATW', 'VINFORMAT', 'VLABELX',
124 'VLABEL', 'VLENGTHX', 'VLENGTH', 'VNAMEX', 'VNAME', 'VTYPEX',
125 'VTYPE', 'WEEKDAY', 'YEAR', 'YYQ', 'ZIPFIPS', 'ZIPNAME', 'ZIPNAMEL',
126
127 'ZIPSTATE'
128 ),
129 4 => array(
130 'ABORT', 'ARRAY', 'ATTRIB', 'BY', 'CALL', 'CARDS4', 'CATNAME',
131 'CONTINUE', 'DATALINES4', 'DELETE', 'DISPLAY',
132
133 'DM', 'DROP', 'ENDSAS', 'FILENAME', 'FILE', 'FOOTNOTE',
134 'FORMAT', 'GOTO', 'INFILE', 'INFORMAT', 'INPUT', 'KEEP',
135 'LABEL', 'LEAVE', 'LENGTH', 'LIBNAME', 'LINK', 'LIST', 'LOSTCARD',
136 'MERGE', 'MISSING', 'MODIFY', 'OPTIONS', 'OUTPUT', 'PAGE',
137 'PUT', 'REDIRECT', 'REMOVE', 'RENAME', 'REPLACE', 'RETAIN',
138 'RETURN', 'SELECT', 'SET', 'SKIP', 'STARTSAS', 'STOP', 'TITLE',
139
140 'UPDATE', 'WAITSAS', 'WHERE', 'WINDOW', 'X', 'SYSTASK',
141 'ADD', 'AND', 'ALTER', 'AS', 'CASCADE', 'CHECK', 'CREATE',
142 'DELETE', 'DESCRIBE', 'DISTINCT', 'DROP', 'FOREIGN',
143 'FROM', 'GROUP', 'HAVING', 'INDEX', 'INSERT', 'INTO', 'IN',
144 'KEY', 'LIKE', 'MESSAGE', 'MODIFY', 'MSGTYPE', 'NOT',
145 'NULL', 'ON', 'OR', 'ORDER', 'PRIMARY', 'REFERENCES',
146
147 'RESET', 'RESTRICT', 'SELECT', 'SET', 'TABLE',
148 'UNIQUE', 'UPDATE', 'VALIDATE', 'VIEW', 'WHERE'
149 ),
150 5 => array(
151 'DO', 'ELSE', 'END', 'IF', 'THEN', 'UNTIL', 'WHILE'
152
153 ),
154 6 => array(
155 'RUN', 'QUIT', 'DATA'
156 ),
157 7 => array(
158
159 'ERROR'
160 ),
161 8 => array(
162 'WARNING'
163 ),
164
165 9 => array(
166 'NOTE'
167 )
168 ),
169 'SYMBOLS' => array(
170
171 ),
172 'CASE_SENSITIVE' => array(
173 GESHI_COMMENTS => false,
174 1 => false,
175
176 2 => false,
177 3 => false,
178 4 => false,
179 5 => false,
180
181 6 => false,
182 7 => false,
183 8 => false,
184 9 => false
185
186 ),
187 'STYLES' => array(
188 'KEYWORDS' => array(
189 1 => 'color: #0000ff;',
190
191 2 => 'color: #0000ff;',
192 3 => 'color: #0000ff;',
193 4 => 'color: #0000ff;',
194 5 => 'color: #0000ff;',
195
196 6 => 'color: #000080; font-weight: bold;',
197 7 => 'color: #ff0000;',
198 8 => 'color: #00ff00;',
199 9 => 'color: #0000ff;'
200
201 ),
202 'COMMENTS' => array(
203 1 => 'color: #006400; font-style: italic;',
204 'MULTI' => 'color: #006400; font-style: italic;'
205
206 ),
207 'ESCAPE_CHAR' => array(
208 0 => 'color: #000099; font-weight: bold;'
209 ),
210 'BRACKETS' => array(
211
212 0 => 'color: #66cc66;'
213 ),
214 'STRINGS' => array(
215 0 => 'color: #a020f0;'
216
217 ),
218 'NUMBERS' => array(
219 0 => 'color: #2e8b57; font-weight: bold;'
220 ),
221 'METHODS' => array(
222
223 ),
224 'SYMBOLS' => array(
225 0 => 'color: #66cc66;'
226 ),
227 'SCRIPT' => array(
228
229 0 => '',
230 1 => '',
231 2 => '',
232 3 => ''
233
234 ),
235 'REGEXPS' => array(
236 0 => 'color: #0000ff; font-weight: bold;',
237 1 => 'color: #000080; font-weight: bold;',
238
239 2 => 'color: #006400; font-style: italic;',
240 3 => 'color: #006400; font-style: italic;',
241 4 => 'color: #006400; font-style: italic;',
242 5 => 'color: #ff0000; font-weight: bold;',
243
244 6 => 'color: #00ff00; font-style: italic;',
245 7 => 'color: #0000ff; font-style: normal;',
246 8 => 'color: #b218b2; font-weight: bold;',
247 9 => 'color: #b218b2; font-weight: bold;'
248
249 )
250 ),
251 'URLS' => array(
252 1 => '',
253 2 => '',
254
255 3 => '',
256 4 => '',
257 5 => '',
258 6 => '',
259
260 7 => '',
261 8 => '',
262 9 => ''
263 ),
264
265 'OOLANG' => false,
266 'OBJECT_SPLITTERS' => array(
267 ),
268 'REGEXPS' => array(
269
270 0 => "&amp;[a-zA-Z_][a-zA-Z0-9_]*",
271 1 => array(
272 GESHI_SEARCH => '(^\\s*)(PROC \\w+)',
273 GESHI_REPLACE => '\\2',
274
275 GESHI_MODIFIERS => 'im',
276 GESHI_BEFORE => '\\1',
277 GESHI_AFTER => ''
278 ),
279
280 2 => array(
281 GESHI_SEARCH => '(^\\s*)(\\*.*;)',
282 GESHI_REPLACE => '\\2',
283 GESHI_MODIFIERS => 'im',
284
285 GESHI_BEFORE => '\\1',
286 GESHI_AFTER => ''
287 ),
288 3 => array(
289
290 GESHI_SEARCH => '(.*;\\s*)(\\*.*;)',
291 GESHI_REPLACE => '\\2',
292 GESHI_MODIFIERS => 'im',
293 GESHI_BEFORE => '\\1',
294
295 GESHI_AFTER => ''
296 ),
297 4 => array(
298 GESHI_SEARCH => '(^\\s*)(%\\*.*;)',
299
300 GESHI_REPLACE => '\\2',
301 GESHI_MODIFIERS => 'im',
302 GESHI_BEFORE => '\\1',
303 GESHI_AFTER => ''
304
305 ),
306 5 => array(
307 GESHI_SEARCH => '(^ERROR.*)',
308 GESHI_REPLACE => '\\1',
309
310 GESHI_MODIFIERS => 'im',
311 GESHI_BEFORE => '',
312 GESHI_AFTER => ''
313 ),
314
315 6 => array(
316 GESHI_SEARCH => '(^WARNING.*)',
317 GESHI_REPLACE => '\\1',
318 GESHI_MODIFIERS => 'im',
319
320 GESHI_BEFORE => '',
321 GESHI_AFTER => ''
322 ),
323 7 => array(
324
325 GESHI_SEARCH => '(^NOTE.*)',
326 GESHI_REPLACE => '\\1',
327 GESHI_MODIFIERS => 'im',
328 GESHI_BEFORE => '',
329
330 GESHI_AFTER => ''
331 ),
332 8 => array(
333 GESHI_SEARCH => '(^\\s*)(CARDS.*)(^\\s*;\\s*$)',
334
335 GESHI_REPLACE => '\\2',
336 GESHI_MODIFIERS => 'sim',
337 GESHI_BEFORE => '\\1',
338 GESHI_AFTER => '\\3'
339
340 ),
341 9 => array(
342 GESHI_SEARCH => '(^\\s*)(DATALINES.*)(^\\s*;\\s*$)',
343 GESHI_REPLACE => '\\2',
344
345 GESHI_MODIFIERS => 'sim',
346 GESHI_BEFORE => '\\1',
347 GESHI_AFTER => '\\3'
348 )
349
350 ),
351 'STRICT_MODE_APPLIES' => GESHI_MAYBE,
352 'SCRIPT_DELIMITERS' => array(
353 ),
354 'HIGHLIGHT_STRICT_BLOCK' => array(
355
356 )
357 );
358
359 ?>