openrat-cms

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

sas.php (12013B)


      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 ?>