plugins/geshi/geshi/c_mac.php
changeset 2 9e3258dfae15
parent 0 441963e5b07a
child 3 f3e2bbbd2155
equal deleted inserted replaced
1:c715631f809a 2:9e3258dfae15
     2 /*************************************************************************************
     2 /*************************************************************************************
     3  * c_mac.php
     3  * c_mac.php
     4  * ---------
     4  * ---------
     5  * Author: M. Uli Kusterer (witness.of.teachtext@gmx.net)
     5  * Author: M. Uli Kusterer (witness.of.teachtext@gmx.net)
     6  * Copyright: (c) 2004 M. Uli Kusterer, Nigel McNie (http://qbnz.com/highlighter/)
     6  * Copyright: (c) 2004 M. Uli Kusterer, Nigel McNie (http://qbnz.com/highlighter/)
     7  * Release Version: 1.0.7.20
     7  * Release Version: 1.0.8.2
     8  * Date Started: 2004/06/04
     8  * Date Started: 2004/06/04
     9  *
     9  *
    10  * C for Macs language file for GeSHi.
    10  * C for Macs language file for GeSHi.
    11  *
    11  *
    12  * CHANGES
    12  * CHANGES
    13  * -------
    13  * -------
       
    14  * 2008/05/23 (1.0.7.22)
       
    15  *   -  Added description of extra language features (SF#1970248)
    14  * 2004/11/27
    16  * 2004/11/27
    15  *   -  First Release
    17  *   -  First Release
    16  *
    18  *
    17  * TODO (updated 2004/11/27)
    19  * TODO (updated 2004/11/27)
    18  * -------------------------
    20  * -------------------------
    36  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    38  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    37  *
    39  *
    38  ************************************************************************************/
    40  ************************************************************************************/
    39 
    41 
    40 $language_data = array (
    42 $language_data = array (
    41 	'LANG_NAME' => 'C (Mac)',
    43     'LANG_NAME' => 'C (Mac)',
    42 	'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
    44     'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
    43 	'COMMENT_MULTI' => array('/*' => '*/'),
    45     'COMMENT_MULTI' => array('/*' => '*/'),
    44 	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
    46     //Multiline-continued single-line comments
    45 	'QUOTEMARKS' => array("'", '"'),
    47     'COMMENT_REGEXP' => array(1 => '/\/\/(?:\\\\\\\\|\\\\\\n|.)*$/m'),
    46 	'ESCAPE_CHAR' => '\\',
    48     'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
    47 	'KEYWORDS' => array(
    49     'QUOTEMARKS' => array("'", '"'),
    48 		1 => array(
    50     'ESCAPE_CHAR' => '',
    49 			'if', 'return', 'while', 'case', 'continue', 'default',
    51     'ESCAPE_REGEXP' => array(
    50 			'do', 'else', 'for', 'switch', 'goto'
    52         //Simple Single Char Escapes
    51 			),
    53         1 => "#\\\\[abfnrtv\\'\"?\n]#i",
    52 		2 => array(
    54         //Hexadecimal Char Specs
    53 			'NULL', 'false', 'break', 'true', 'enum', 'errno', 'EDOM',
    55         2 => "#\\\\x[\da-fA-F]{2}#",
    54 			'ERANGE', 'FLT_RADIX', 'FLT_ROUNDS', 'FLT_DIG', 'DBL_DIG', 'LDBL_DIG',
    56         //Hexadecimal Char Specs
    55 			'FLT_EPSILON', 'DBL_EPSILON', 'LDBL_EPSILON', 'FLT_MANT_DIG', 'DBL_MANT_DIG',
    57         3 => "#\\\\u[\da-fA-F]{4}#",
    56 			'LDBL_MANT_DIG', 'FLT_MAX', 'DBL_MAX', 'LDBL_MAX', 'FLT_MAX_EXP', 'DBL_MAX_EXP',
    58         //Hexadecimal Char Specs
    57 			'LDBL_MAX_EXP', 'FLT_MIN', 'DBL_MIN', 'LDBL_MIN', 'FLT_MIN_EXP', 'DBL_MIN_EXP',
    59         4 => "#\\\\U[\da-fA-F]{8}#",
    58 			'LDBL_MIN_EXP', 'CHAR_BIT', 'CHAR_MAX', 'CHAR_MIN', 'SCHAR_MAX', 'SCHAR_MIN',
    60         //Octal Char Specs
    59 			'UCHAR_MAX', 'SHRT_MAX', 'SHRT_MIN', 'USHRT_MAX', 'INT_MAX', 'INT_MIN',
    61         5 => "#\\\\[0-7]{1,3}#"
    60 			'UINT_MAX', 'LONG_MAX', 'LONG_MIN', 'ULONG_MAX', 'HUGE_VAL', 'SIGABRT',
    62         ),
    61 			'SIGFPE', 'SIGILL', 'SIGINT', 'SIGSEGV', 'SIGTERM', 'SIG_DFL', 'SIG_ERR',
    63     'NUMBERS' =>
    62 			'SIG_IGN', 'BUFSIZ', 'EOF', 'FILENAME_MAX', 'FOPEN_MAX', 'L_tmpnam', 'NULL',
    64         GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_INT_CSTYLE | GESHI_NUMBER_BIN_PREFIX_0B |
    63 			'SEEK_CUR', 'SEEK_END', 'SEEK_SET', 'TMP_MAX', 'stdin', 'stdout', 'stderr',
    65         GESHI_NUMBER_OCT_PREFIX | GESHI_NUMBER_HEX_PREFIX | GESHI_NUMBER_FLT_NONSCI |
    64 			'EXIT_FAILURE', 'EXIT_SUCCESS', 'RAND_MAX', 'CLOCKS_PER_SEC',
    66         GESHI_NUMBER_FLT_NONSCI_F | GESHI_NUMBER_FLT_SCI_SHORT | GESHI_NUMBER_FLT_SCI_ZERO,
    65 			// Mac-specific constants:
    67     'KEYWORDS' => array(
    66 			'kCFAllocatorDefault'
    68         1 => array(
    67 			),
    69             'if', 'return', 'while', 'case', 'continue', 'default',
    68 		3 => array(
    70             'do', 'else', 'for', 'switch', 'goto'
    69 			'printf', 'fprintf', 'snprintf', 'sprintf', 'assert',
    71             ),
    70 			'isalnum', 'isalpha', 'isdigit', 'iscntrl', 'isgraph', 'islower', 'isprint',
    72         2 => array(
    71 			'ispunct', 'isspace', 'ispunct', 'isupper', 'isxdigit', 'tolower', 'toupper',
    73             'NULL', 'false', 'break', 'true', 'enum', 'errno', 'EDOM',
    72 			'exp', 'log', 'log10', 'pow', 'sqrt', 'ceil', 'floor', 'fabs', 'ldexp',
    74             'ERANGE', 'FLT_RADIX', 'FLT_ROUNDS', 'FLT_DIG', 'DBL_DIG', 'LDBL_DIG',
    73 			'frexp', 'modf', 'fmod', 'sin', 'cos', 'tan', 'asin', 'acos', 'atan', 'atan2',
    75             'FLT_EPSILON', 'DBL_EPSILON', 'LDBL_EPSILON', 'FLT_MANT_DIG', 'DBL_MANT_DIG',
    74 			'sinh', 'cosh', 'tanh', 'setjmp', 'longjmp', 'asin', 'acos', 'atan', 'atan2',
    76             'LDBL_MANT_DIG', 'FLT_MAX', 'DBL_MAX', 'LDBL_MAX', 'FLT_MAX_EXP', 'DBL_MAX_EXP',
    75 			'va_start', 'va_arg', 'va_end', 'offsetof', 'sizeof', 'fopen', 'freopen',
    77             'LDBL_MAX_EXP', 'FLT_MIN', 'DBL_MIN', 'LDBL_MIN', 'FLT_MIN_EXP', 'DBL_MIN_EXP',
    76 			'fflush', 'fclose', 'remove', 'rename', 'tmpfile', 'tmpname', 'setvbuf',
    78             'LDBL_MIN_EXP', 'CHAR_BIT', 'CHAR_MAX', 'CHAR_MIN', 'SCHAR_MAX', 'SCHAR_MIN',
    77 			'setbuf', 'vfprintf', 'vprintf', 'vsprintf', 'fscanf', 'scanf', 'sscanf',
    79             'UCHAR_MAX', 'SHRT_MAX', 'SHRT_MIN', 'USHRT_MAX', 'INT_MAX', 'INT_MIN',
    78 			'fgetc', 'fgets', 'fputc', 'fputs', 'getc', 'getchar', 'gets', 'putc',
    80             'UINT_MAX', 'LONG_MAX', 'LONG_MIN', 'ULONG_MAX', 'HUGE_VAL', 'SIGABRT',
    79 			'putchar', 'puts', 'ungetc', 'fread', 'fwrite', 'fseek', 'ftell', 'rewind',
    81             'SIGFPE', 'SIGILL', 'SIGINT', 'SIGSEGV', 'SIGTERM', 'SIG_DFL', 'SIG_ERR',
    80 			'fgetpos', 'fsetpos', 'clearerr', 'feof', 'ferror', 'perror', 'abs', 'labs',
    82             'SIG_IGN', 'BUFSIZ', 'EOF', 'FILENAME_MAX', 'FOPEN_MAX', 'L_tmpnam',
    81 			'div', 'ldiv', 'atof', 'atoi', 'atol', 'strtod', 'strtol', 'strtoul', 'calloc',
    83             'SEEK_CUR', 'SEEK_END', 'SEEK_SET', 'TMP_MAX', 'stdin', 'stdout', 'stderr',
    82 			'malloc', 'realloc', 'free', 'abort', 'exit', 'atexit', 'system', 'getenv',
    84             'EXIT_FAILURE', 'EXIT_SUCCESS', 'RAND_MAX', 'CLOCKS_PER_SEC',
    83 			'bsearch', 'qsort', 'rand', 'srand', 'strcpy', 'strncpy', 'strcat', 'strncat',
    85             // Mac-specific constants:
    84 			'strcmp', 'strncmp', 'strcoll', 'strchr', 'strrchr', 'strspn', 'strcspn',
    86             'kCFAllocatorDefault'
    85 			'strpbrk', 'strstr', 'strlen', 'strerror', 'strtok', 'strxfrm', 'memcpy',
    87             ),
    86 			'memmove', 'memcmp', 'memchr', 'memset', 'clock', 'time', 'difftime', 'mktime',
    88         3 => array(
    87 			'asctime', 'ctime', 'gmtime', 'localtime', 'strftime'
    89             'printf', 'fprintf', 'snprintf', 'sprintf', 'assert',
    88 			),
    90             'isalnum', 'isalpha', 'isdigit', 'iscntrl', 'isgraph', 'islower', 'isprint',
    89 		4 => array(
    91             'ispunct', 'isspace', 'isupper', 'isxdigit', 'tolower', 'toupper',
    90 			'auto', 'char', 'const', 'double',  'float', 'int', 'long',
    92             'exp', 'log', 'log10', 'pow', 'sqrt', 'ceil', 'floor', 'fabs', 'ldexp',
    91 			'register', 'short', 'signed', 'sizeof', 'static', 'string', 'struct',
    93             'frexp', 'modf', 'fmod', 'sin', 'cos', 'tan', 'asin', 'acos', 'atan', 'atan2',
    92 			'typedef', 'union', 'unsigned', 'void', 'volatile', 'extern', 'jmp_buf',
    94             'sinh', 'cosh', 'tanh', 'setjmp', 'longjmp',
    93 			'signal', 'raise', 'va_list', 'ptrdiff_t', 'size_t', 'FILE', 'fpos_t',
    95             'va_start', 'va_arg', 'va_end', 'offsetof', 'sizeof', 'fopen', 'freopen',
    94 			'div_t', 'ldiv_t', 'clock_t', 'time_t', 'tm',
    96             'fflush', 'fclose', 'remove', 'rename', 'tmpfile', 'tmpname', 'setvbuf',
    95 			// Mac-specific types:
    97             'setbuf', 'vfprintf', 'vprintf', 'vsprintf', 'fscanf', 'scanf', 'sscanf',
    96 			'CFArrayRef', 'CFDictionaryRef', 'CFMutableDictionaryRef', 'CFBundleRef', 'CFSetRef', 'CFStringRef',
    98             'fgetc', 'fgets', 'fputc', 'fputs', 'getc', 'getchar', 'gets', 'putc',
    97 			'CFURLRef', 'CFLocaleRef', 'CFDateFormatterRef', 'CFNumberFormatterRef', 'CFPropertyListRef',
    99             'putchar', 'puts', 'ungetc', 'fread', 'fwrite', 'fseek', 'ftell', 'rewind',
    98 			'CFTreeRef', 'CFWriteStreamRef', 'CFCharacterSetRef', 'CFMutableStringRef', 'CFNotificationRef',
   100             'fgetpos', 'fsetpos', 'clearerr', 'feof', 'ferror', 'perror', 'abs', 'labs',
    99 			'CFNotificationRef', 'CFReadStreamRef', 'CFNull', 'CFAllocatorRef', 'CFBagRef', 'CFBinaryHeapRef',
   101             'div', 'ldiv', 'atof', 'atoi', 'atol', 'strtod', 'strtol', 'strtoul', 'calloc',
   100 			'CFBitVectorRef', 'CFBooleanRef', 'CFDataRef', 'CFDateRef', 'CFMachPortRef', 'CFMessagePortRef',
   102             'malloc', 'realloc', 'free', 'abort', 'exit', 'atexit', 'system', 'getenv',
   101 			'CFMutableArrayRef', 'CFMutableBagRef', 'CFMutableBitVectorRef', 'CFMutableCharacterSetRef',
   103             'bsearch', 'qsort', 'rand', 'srand', 'strcpy', 'strncpy', 'strcat', 'strncat',
   102 			'CFMutableDataRef', 'CFMutableSetRef', 'CFNumberRef', 'CFPlugInRef', 'CFPlugInInstanceRef',
   104             'strcmp', 'strncmp', 'strcoll', 'strchr', 'strrchr', 'strspn', 'strcspn',
   103 			'CFRunLoopRef', 'CFRunLoopObserverRef', 'CFRunLoopSourceRef', 'CFRunLoopTimerRef', 'CFSocketRef',
   105             'strpbrk', 'strstr', 'strlen', 'strerror', 'strtok', 'strxfrm', 'memcpy',
   104 			'CFTimeZoneRef', 'CFTypeRef', 'CFUserNotificationRef', 'CFUUIDRef', 'CFXMLNodeRef', 'CFXMLParserRef',
   106             'memmove', 'memcmp', 'memchr', 'memset', 'clock', 'time', 'difftime', 'mktime',
   105 			'CFXMLTreeRef'
   107             'asctime', 'ctime', 'gmtime', 'localtime', 'strftime'
   106 			),
   108             ),
   107 		),
   109         4 => array(
   108 	'SYMBOLS' => array(
   110             'auto', 'char', 'const', 'double',  'float', 'int', 'long',
   109 		'(', ')', '{', '}', '[', ']', '=', '+', '-', '*', '/', '!', '%', '^', '&', ':'
   111             'register', 'short', 'signed', 'static', 'string', 'struct',
   110 		),
   112             'typedef', 'union', 'unsigned', 'void', 'volatile', 'extern', 'jmp_buf',
   111 	'CASE_SENSITIVE' => array(
   113             'signal', 'raise', 'va_list', 'ptrdiff_t', 'size_t', 'FILE', 'fpos_t',
   112 		GESHI_COMMENTS => true,
   114             'div_t', 'ldiv_t', 'clock_t', 'time_t', 'tm',
   113 		1 => false,
   115             // Mac-specific types:
   114 		2 => false,
   116             'CFArrayRef', 'CFDictionaryRef', 'CFMutableDictionaryRef', 'CFBundleRef', 'CFSetRef', 'CFStringRef',
   115 		3 => false,
   117             'CFURLRef', 'CFLocaleRef', 'CFDateFormatterRef', 'CFNumberFormatterRef', 'CFPropertyListRef',
   116 		4 => false,
   118             'CFTreeRef', 'CFWriteStreamRef', 'CFCharacterSetRef', 'CFMutableStringRef', 'CFNotificationRef',
   117 		),
   119             'CFReadStreamRef', 'CFNull', 'CFAllocatorRef', 'CFBagRef', 'CFBinaryHeapRef',
   118 	'STYLES' => array(
   120             'CFBitVectorRef', 'CFBooleanRef', 'CFDataRef', 'CFDateRef', 'CFMachPortRef', 'CFMessagePortRef',
   119 		'KEYWORDS' => array(
   121             'CFMutableArrayRef', 'CFMutableBagRef', 'CFMutableBitVectorRef', 'CFMutableCharacterSetRef',
   120 			1 => 'color: #0000ff;',
   122             'CFMutableDataRef', 'CFMutableSetRef', 'CFNumberRef', 'CFPlugInRef', 'CFPlugInInstanceRef',
   121 			2 => 'color: #0000ff;',
   123             'CFRunLoopRef', 'CFRunLoopObserverRef', 'CFRunLoopSourceRef', 'CFRunLoopTimerRef', 'CFSocketRef',
   122 			3 => 'color: #0000dd;',
   124             'CFTimeZoneRef', 'CFTypeRef', 'CFUserNotificationRef', 'CFUUIDRef', 'CFXMLNodeRef', 'CFXMLParserRef',
   123 			4 => 'color: #0000ff;'
   125             'CFXMLTreeRef'
   124 			),
   126             ),
   125 		'COMMENTS' => array(
   127         ),
   126 			1 => 'color: #ff0000;',
   128     'SYMBOLS' => array(
   127 			2 => 'color: #339900;',
   129         '(', ')', '{', '}', '[', ']', '=', '+', '-', '*', '/', '!', '%', '^', '&', ':'
   128 			'MULTI' => 'color: #ff0000; font-style: italic;'
   130         ),
   129 			),
   131     'CASE_SENSITIVE' => array(
   130 		'ESCAPE_CHAR' => array(
   132         GESHI_COMMENTS => false,
   131 			0 => 'color: #666666; font-weight: bold;'
   133         1 => false,
   132 			),
   134         2 => false,
   133 		'BRACKETS' => array(
   135         3 => false,
   134 			0 => 'color: #000000;'
   136         4 => false,
   135 			),
   137         ),
   136 		'STRINGS' => array(
   138     'STYLES' => array(
   137 			0 => 'color: #666666;'
   139         'KEYWORDS' => array(
   138 			),
   140             1 => 'color: #0000ff;',
   139 		'NUMBERS' => array(
   141             2 => 'color: #0000ff;',
   140 			0 => 'color: #0000dd;'
   142             3 => 'color: #0000dd;',
   141 			),
   143             4 => 'color: #0000ff;'
   142 		'METHODS' => array(
   144             ),
   143 			1 => 'color: #00eeff;',
   145         'COMMENTS' => array(
   144 			2 => 'color: #00eeff;'
   146             1 => 'color: #ff0000;',
   145 			),
   147             2 => 'color: #339900;',
   146 		'SYMBOLS' => array(
   148             'MULTI' => 'color: #ff0000; font-style: italic;'
   147 			0 => 'color: #000000;'
   149             ),
   148 			),
   150         'ESCAPE_CHAR' => array(
   149 		'REGEXPS' => array(
   151             0 => 'color: #000099; font-weight: bold;',
   150 			),
   152             1 => 'color: #000099; font-weight: bold;',
   151 		'SCRIPT' => array(
   153             2 => 'color: #660099; font-weight: bold;',
   152 			)
   154             3 => 'color: #660099; font-weight: bold;',
   153 		),
   155             4 => 'color: #660099; font-weight: bold;',
   154 	'URLS' => array(
   156             5 => 'color: #006699; font-weight: bold;',
   155 		1 => '',
   157             'HARD' => '',
   156 		2 => '',
   158             ),
   157 		3 => 'http://www.opengroup.org/onlinepubs/009695399/functions/{FNAME}.html',
   159         'BRACKETS' => array(
   158 		4 => ''
   160             0 => 'color: #000000;'
   159 		),
   161             ),
   160 	'OOLANG' => true,
   162         'STRINGS' => array(
   161 	'OBJECT_SPLITTERS' => array(
   163             0 => 'color: #666666;'
   162 		1 => '.',
   164             ),
   163 		2 => '::'
   165         'NUMBERS' => array(
   164 		),
   166             0 => 'color: #0000dd;',
   165 	'REGEXPS' => array(
   167             GESHI_NUMBER_BIN_PREFIX_0B => 'color: #208080;',
   166 		),
   168             GESHI_NUMBER_OCT_PREFIX => 'color: #208080;',
   167 	'STRICT_MODE_APPLIES' => GESHI_NEVER,
   169             GESHI_NUMBER_HEX_PREFIX => 'color: #208080;',
   168 	'SCRIPT_DELIMITERS' => array(
   170             GESHI_NUMBER_FLT_SCI_SHORT => 'color:#800080;',
   169 		),
   171             GESHI_NUMBER_FLT_SCI_ZERO => 'color:#800080;',
   170 	'HIGHLIGHT_STRICT_BLOCK' => array(
   172             GESHI_NUMBER_FLT_NONSCI_F => 'color:#800080;',
       
   173             GESHI_NUMBER_FLT_NONSCI => 'color:#800080;'
       
   174             ),
       
   175         'METHODS' => array(
       
   176             1 => 'color: #00eeff;',
       
   177             2 => 'color: #00eeff;'
       
   178             ),
       
   179         'SYMBOLS' => array(
       
   180             0 => 'color: #000000;'
       
   181             ),
       
   182         'REGEXPS' => array(
       
   183             ),
       
   184         'SCRIPT' => array(
       
   185             )
       
   186         ),
       
   187     'URLS' => array(
       
   188         1 => '',
       
   189         2 => '',
       
   190         3 => 'http://www.opengroup.org/onlinepubs/009695399/functions/{FNAMEL}.html',
       
   191         4 => ''
       
   192         ),
       
   193     'OOLANG' => true,
       
   194     'OBJECT_SPLITTERS' => array(
       
   195         1 => '.',
       
   196         2 => '::'
       
   197         ),
       
   198     'REGEXPS' => array(
       
   199         ),
       
   200     'STRICT_MODE_APPLIES' => GESHI_NEVER,
       
   201     'SCRIPT_DELIMITERS' => array(
       
   202         ),
       
   203     'HIGHLIGHT_STRICT_BLOCK' => array(
   171         ),
   204         ),
   172     'TAB_WIDTH' => 4
   205     'TAB_WIDTH' => 4
   173 );
   206 );
   174 
   207 
   175 ?>
   208 ?>