]>
src.bluestatic.org Git - viewsvn.git/blob - sas.php
9e209cb619a1bb554af2d16971f000f9a768c0d4
2 /*************************************************************************************
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 $
12 * SAS language file for GeSHi. Based on the sas vim file.
19 * TODO (updated 2005/12/27)
20 * -------------------------
22 * * Check highlighting stuff works
24 *************************************************************************************
26 * This file is part of GeSHi.
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.
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.
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
42 ************************************************************************************/
44 $language_data = array (
46 'COMMENT_SINGLE' => array(),
47 'COMMENT_MULTI' => array('/*' => '*/'),
48 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE
,
49 'QUOTEMARKS' => array("'", '"'),
50 'ESCAPE_CHAR' => '\\',
53 '_NULL_', '_INFILE_', '_N_', '_WEBOUT_', '_NUMERIC_', '_CHARACTER_', '_ALL_'
56 '%BQUOTE', '%NRBQUOTE', '%CMPRES', '%QCMPRES',
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',
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',
72 '%TO', '%TRIM', '%UNQUOTE', '%UNTIL',
73 '%UPCASE', '%VERIFY', '%WHILE', '%WINDOW'
76 'ABS', 'ADDR', 'AIRY', 'ARCOS', 'ARSIN', 'ATAN', 'ATTRC', 'ATTRN',
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',
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',
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',
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',
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',
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',
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',
130 'ABORT', 'ARRAY', 'ATTRIB', 'BY', 'CALL', 'CARDS4', 'CATNAME',
131 'CONTINUE', 'DATALINES4', 'DELETE', 'DISPLAY',
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',
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',
147 'RESET', 'RESTRICT', 'SELECT', 'SET', 'TABLE',
148 'UNIQUE', 'UPDATE', 'VALIDATE', 'VIEW', 'WHERE'
151 'DO', 'ELSE', 'END', 'IF', 'THEN', 'UNTIL', 'WHILE'
155 'RUN', 'QUIT', 'DATA'
172 'CASE_SENSITIVE' => array(
173 GESHI_COMMENTS
=> false,
189 1 => 'color: #0000ff;',
191 2 => 'color: #0000ff;',
192 3 => 'color: #0000ff;',
193 4 => 'color: #0000ff;',
194 5 => 'color: #0000ff;',
196 6 => 'color: #000080; font-weight: bold;',
197 7 => 'color: #ff0000;',
198 8 => 'color: #00ff00;',
199 9 => 'color: #0000ff;'
203 1 => 'color: #006400; font-style: italic;',
204 'MULTI' => 'color: #006400; font-style: italic;'
207 'ESCAPE_CHAR' => array(
208 0 => 'color: #000099; font-weight: bold;'
212 0 => 'color: #66cc66;'
215 0 => 'color: #a020f0;'
219 0 => 'color: #2e8b57; font-weight: bold;'
225 0 => 'color: #66cc66;'
236 0 => 'color: #0000ff; font-weight: bold;',
237 1 => 'color: #000080; font-weight: bold;',
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;',
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;'
266 'OBJECT_SPLITTERS' => array(
270 0 => "&[a-zA-Z_][a-zA-Z0-9_]*",
272 GESHI_SEARCH
=> '(^\\s*)(PROC \\w+)',
273 GESHI_REPLACE
=> '\\2',
275 GESHI_MODIFIERS
=> 'im',
276 GESHI_BEFORE
=> '\\1',
281 GESHI_SEARCH
=> '(^\\s*)(\\*.*;)',
282 GESHI_REPLACE
=> '\\2',
283 GESHI_MODIFIERS
=> 'im',
285 GESHI_BEFORE
=> '\\1',
290 GESHI_SEARCH
=> '(.*;\\s*)(\\*.*;)',
291 GESHI_REPLACE
=> '\\2',
292 GESHI_MODIFIERS
=> 'im',
293 GESHI_BEFORE
=> '\\1',
298 GESHI_SEARCH
=> '(^\\s*)(%\\*.*;)',
300 GESHI_REPLACE
=> '\\2',
301 GESHI_MODIFIERS
=> 'im',
302 GESHI_BEFORE
=> '\\1',
307 GESHI_SEARCH
=> '(^ERROR.*)',
308 GESHI_REPLACE
=> '\\1',
310 GESHI_MODIFIERS
=> 'im',
316 GESHI_SEARCH
=> '(^WARNING.*)',
317 GESHI_REPLACE
=> '\\1',
318 GESHI_MODIFIERS
=> 'im',
325 GESHI_SEARCH
=> '(^NOTE.*)',
326 GESHI_REPLACE
=> '\\1',
327 GESHI_MODIFIERS
=> 'im',
333 GESHI_SEARCH
=> '(^\\s*)(CARDS.*)(^\\s*;\\s*$)',
335 GESHI_REPLACE
=> '\\2',
336 GESHI_MODIFIERS
=> 'sim',
337 GESHI_BEFORE
=> '\\1',
342 GESHI_SEARCH
=> '(^\\s*)(DATALINES.*)(^\\s*;\\s*$)',
343 GESHI_REPLACE
=> '\\2',
345 GESHI_MODIFIERS
=> 'sim',
346 GESHI_BEFORE
=> '\\1',
351 'STRICT_MODE_APPLIES' => GESHI_MAYBE
,
352 'SCRIPT_DELIMITERS' => array(
354 'HIGHLIGHT_STRICT_BLOCK' => array(