plugins/geshi/geshi/sas.php
changeset 0 441963e5b07a
child 2 9e3258dfae15
equal deleted inserted replaced
-1:000000000000 0:441963e5b07a
       
     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.20
       
     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 ?>