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