plugins/geshi/geshi/cil.php
changeset 2 9e3258dfae15
child 3 f3e2bbbd2155
equal deleted inserted replaced
1:c715631f809a 2:9e3258dfae15
       
     1 <?php
       
     2 /*************************************************************************************
       
     3  * cil.php
       
     4  * --------
       
     5  * Author: Marcus Griep (neoeinstein+GeSHi@gmail.com)
       
     6  * Copyright: (c) 2007 Marcus Griep (http://www.xpdm.us)
       
     7  * Release Version: 1.0.8.2
       
     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 ?>