Home | History | Annotate | Download | only in geshi
      1 <?php
      2 /*************************************************************************************
      3  * cil.php
      4  * --------
      5  * Author: Marcus Griep (neoeinstein+GeSHi (at) gmail.com)
      6  * Copyright: (c) 2007 Marcus Griep (http://www.xpdm.us)
      7  * Release Version: 1.0.8.3
      8  * Date Started: 2007/10/24
      9  *
     10  * CIL (Common Intermediate Language) language file for GeSHi.
     11  *
     12  * CHANGES
     13  * -------
     14  * 2004/10/24 (1.0.8)
     15  *  -  First Release
     16  *
     17  * TODO (updated 2007/10/24)
     18  * -------------------------
     19  *
     20  *************************************************************************************
     21  *
     22  *     This file is part of GeSHi.
     23  *
     24  *   GeSHi is free software; you can redistribute it and/or modify
     25  *   it under the terms of the GNU General Public License as published by
     26  *   the Free Software Foundation; either version 2 of the License, or
     27  *   (at your option) any later version.
     28  *
     29  *   GeSHi is distributed in the hope that it will be useful,
     30  *   but WITHOUT ANY WARRANTY; without even the implied warranty of
     31  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     32  *   GNU General Public License for more details.
     33  *
     34  *   You should have received a copy of the GNU General Public License
     35  *   along with GeSHi; if not, write to the Free Software
     36  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
     37  *
     38  ************************************************************************************/
     39 
     40 $language_data = array (
     41     'LANG_NAME' => 'CIL',
     42     'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
     43     'COMMENT_SINGLE' => array('//'),
     44     'COMMENT_MULTI' => array(),
     45     'QUOTEMARKS' => array('"'),
     46     'ESCAPE_CHAR' => '\\',
     47     'KEYWORDS' => array(
     48         1 => array(//Dotted
     49             '.zeroinit', '.vtfixup', '.vtentry', '.vtable', '.ver', '.try', '.subsystem', '.size', '.set', '.removeon',
     50             '.publickeytoken', '.publickey', '.property', '.permissionset', '.permission', '.pdirect', '.param', '.pack',
     51             '.override', '.other', '.namespace', '.mresource', '.module', '.method', '.maxstack', '.manifestres', '.locals',
     52             '.localized', '.locale', '.line', '.language', '.import', '.imagebase', '.hash', '.get', '.fire', '.file', '.field',
     53             '.export', '.event', '.entrypoint', '.emitbyte', '.data', '.custom', '.culture', '.ctor', '.corflags', '.class',
     54             '.cctor', '.assembly', '.addon'
     55             ),
     56         2 => array(//Attributes
     57             'wrapper', 'with', 'winapi', 'virtual', 'vector', 'vararg', 'value', 'userdefined', 'unused', 'unmanagedexp',
     58             'unmanaged', 'unicode', 'to', 'tls', 'thiscall', 'synchronized', 'struct', 'strict', 'storage', 'stdcall',
     59             'static', 'specialname', 'special', 'serializable', 'sequential', 'sealed', 'runtime', 'rtspecialname', 'request',
     60             'reqsecobj', 'reqrefuse', 'reqopt', 'reqmin', 'record', 'public', 'privatescope', 'private', 'preservesig',
     61             'prejitgrant', 'prejitdeny', 'platformapi', 'pinvokeimpl', 'pinned', 'permitonly', 'out', 'optil', 'opt',
     62             'notserialized', 'notremotable', 'not_in_gc_heap', 'noprocess', 'noncaslinkdemand', 'noncasinheritance',
     63             'noncasdemand', 'nometadata', 'nomangle', 'nomachine', 'noinlining', 'noappdomain', 'newslot', 'nested', 'native',
     64             'modreq', 'modopt', 'marshal', 'managed', 'literal', 'linkcheck', 'lcid', 'lasterr', 'internalcall', 'interface',
     65             'instance', 'initonly', 'init', 'inheritcheck', 'in', 'import', 'implicitres', 'implicitcom', 'implements',
     66             'illegal', 'il', 'hidebysig', 'handler', 'fromunmanaged', 'forwardref', 'fixed', 'finally', 'final', 'filter',
     67             'filetime', 'field', 'fault', 'fastcall', 'famorassem', 'family', 'famandassem', 'extern', 'extends', 'explicit',
     68             'error', 'enum', 'endmac', 'deny', 'demand', 'default', 'custom', 'compilercontrolled', 'clsid', 'class', 'cil',
     69             'cf', 'cdecl', 'catch', 'beforefieldinit', 'autochar', 'auto', 'at', 'assert', 'assembly', 'as', 'any', 'ansi',
     70             'alignment', 'algorithm', 'abstract'
     71             ),
     72         3 => array(//Types
     73             'wchar', 'void', 'variant', 'unsigned', 'valuetype', 'typedref', 'tbstr', 'sysstring', 'syschar', 'string',
     74             'streamed_object', 'stream', 'stored_object', 'safearray', 'objectref', 'object', 'nullref', 'method', 'lpwstr',
     75             'lpvoid', 'lptstr', 'lpstruct', 'lpstr', 'iunknown', 'int64', 'int32', 'int16', 'int8', 'int', 'idispatch',
     76             'hresult', 'float64', 'float32', 'float', 'decimal', 'date', 'currency', 'char', 'carray', 'byvalstr',
     77             'bytearray', 'boxed', 'bool', 'blob_object', 'blob', 'array'
     78             ),
     79         4 => array(//Prefix
     80             'volatile', 'unaligned', 'tail', 'readonly', 'no', 'constrained'
     81             ),
     82         5 => array(//Suffix
     83             'un', 'u8', 'u4', 'u2', 'u1', 'u', 's', 'ref', 'r8', 'r4', 'm1', 'i8', 'i4', 'i2', 'i1', 'i'#, '.8', '.7', '.6', '.5', '.4', '.3', '.2', '.1', '.0'
     84             ),
     85         6 => array(//Base
     86             'xor', 'switch', 'sub', 'stloc',
     87             'stind', 'starg',
     88             'shr', 'shl', 'ret', 'rem', 'pop', 'or', 'not', 'nop', 'neg', 'mul',
     89             'localloc', 'leave', 'ldnull', 'ldloca',
     90             'ldloc', 'ldind', 'ldftn', 'ldc', 'ldarga',
     91             'ldarg', 'jmp', 'initblk', 'endfinally', 'endfilter',
     92             'endfault', 'dup', 'div', 'cpblk', 'conv', 'clt', 'ckfinite', 'cgt', 'ceq', 'calli',
     93             'call', 'brzero', 'brtrue', 'brnull', 'brinst',
     94             'brfalse', 'break', 'br', 'bne', 'blt', 'ble', 'bgt', 'bge', 'beq', 'arglist',
     95             'and', 'add'
     96             ),
     97         7 => array(//Object
     98             'unbox.any', 'unbox', 'throw', 'stsfld', 'stobj', 'stfld', 'stelem', 'sizeof', 'rethrow', 'refanyval', 'refanytype', 'newobj',
     99             'newarr', 'mkrefany', 'ldvirtftn', 'ldtoken', 'ldstr', 'ldsflda', 'ldsfld', 'ldobj', 'ldlen', 'ldflda', 'ldfld',
    100             'ldelema', 'ldelem', 'isinst', 'initobj', 'cpobj', 'castclass',
    101             'callvirt', 'callmostderived', 'box'
    102             ),
    103         8 => array(//Other
    104             'prefixref', 'prefix7', 'prefix6', 'prefix5', 'prefix4', 'prefix3', 'prefix2', 'prefix1', 'prefix0'
    105             ),
    106         9 => array(//Literal
    107             'true', 'null', 'false'
    108             ),
    109         10 => array(//Comment-like
    110             '#line', '^THE_END^'
    111             )
    112         ),
    113     'SYMBOLS' => array(
    114         '(', ')', '[', ']', '{', '}', '!', '!!'
    115         ),
    116     'CASE_SENSITIVE' => array(
    117         GESHI_COMMENTS => false,
    118         1 => true,
    119         2 => true,
    120         3 => true,
    121         4 => true,
    122         5 => true,
    123         6 => true,
    124         7 => true,
    125         8 => true,
    126         9 => true,
    127         10 => true
    128         ),
    129     'STYLES' => array(
    130         'KEYWORDS' => array(
    131             1 => 'color:maroon;font-weight:bold;',
    132             2 => 'color:blue;font-weight:bold;',
    133             3 => 'color:purple;font-weight:bold;',
    134             4 => 'color:teal;',
    135             5 => 'color:blue;',
    136             6 => 'color:blue;',
    137             7 => 'color:blue;',
    138             8 => 'color:blue;',
    139             9 => 'color:00008B',
    140             10 => 'color:gray'
    141             ),
    142         'COMMENTS' => array(
    143             0 => 'color:gray;font-style:italic;'
    144             ),
    145         'ESCAPE_CHAR' => array(
    146             0 => 'color: #008000; font-weight: bold;'
    147             ),
    148         'BRACKETS' => array(
    149             0 => 'color: #006400;'
    150             ),
    151         'STRINGS' => array(
    152             0 => 'color: #008000;'
    153             ),
    154         'NUMBERS' => array(
    155             0 => 'color: #00008B;'
    156             ),
    157         'METHODS' => array(
    158             1 => 'color: #000033;'
    159             ),
    160         'SYMBOLS' => array(
    161             0 => 'color: #006400;'
    162             ),
    163         'REGEXPS' => array(
    164             0 => 'color:blue;'
    165             ),
    166         'SCRIPT' => array(
    167             )
    168         ),
    169     'URLS' => array(
    170         1 => '',
    171         2 => '',
    172         3 => '',
    173         4 => '',
    174         5 => '',
    175         6 => '',
    176         7 => '',
    177         8 => '',
    178         9 => '',
    179         10 => ''
    180         ),
    181     'OOLANG' => true,
    182     'OBJECT_SPLITTERS' => array(
    183         1 => '::'
    184         ),
    185     'REGEXPS' => array(
    186         0 => '(?<=ldc\\.i4\\.)[0-8]|(?<=(?:ldarg|ldloc|stloc)\\.)[0-3]' # Pickup the opcodes that end with integers
    187         ),
    188     'STRICT_MODE_APPLIES' => GESHI_NEVER,
    189     'SCRIPT_DELIMITERS' => array(
    190         ),
    191     'HIGHLIGHT_STRICT_BLOCK' => array(
    192         ),
    193     'TAB_WIDTH' => 4
    194 );
    195 
    196 ?>
    197