User:Quuxplusone/c.php
Appearance
<?php /*************************************************************** * c.php * ----- * Author: User:Quuxplusone * Copyright: Public domain * Date Started: 2007/05/24 * * C language file for GeSHi. */ $language_data = array ( 'LANG_NAME' => 'C', 'COMMENT_SINGLE' => array(1 => '//', 2 => '#'), 'COMMENT_MULTI' => array('/*' => '*/'), 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, 'QUOTEMARKS' => array(1 => "'", 2 => '"'), 'ESCAPE_CHAR' => '\\', 'KEYWORDS' => array( /* From clause 6.4.1#1 of the Standard. */ 1 => array( /* Control structures. */ 'if', 'else', 'while', 'do', 'for', 'continue', 'break', 'switch', 'case', 'goto', 'return' ), 2 => array( /* Types and type modifiers. */ 'void', 'int', 'short', 'long', 'char', 'float', 'double', 'unsigned', 'signed', 'auto', 'register', 'static', 'volatile', 'const', 'extern', 'restrict', 'inline', '_Bool', '_Complex', '_Imaginary', ), 3 => array( /* "types" actually defined in standard headers */ 'wchar_t', 'size_t', 'ptrdiff_t', 'bool', 'complex', 'imaginary' ), 4 => array( /* Type-constructors, sort of. */ 'struct', 'union', 'enum' ), 5 => array( /* Unary operators. */ 'sizeof', '_Pragma' ), 6 => array( /* typedef: type modifier, or keyword? You decide! */ 'typedef' ), 7 => array( /* Unary "operator" macro defined in <stddef.h> */ 'offsetof' ), 8 => array( /* NULL */ 'NULL' ), 9 => array( /* Standard library names: <stdio.h> */ 'FILE', 'fpos_t', '_IOFBF', '_IOLBF', '_IONBF', 'BUFSIZ', 'EOF', 'FOPEN_MAX', 'FILENAME_MAX', 'L_tmpnam', 'SEEK_CUR', 'SEEK_END', 'SEEK_SET', 'TMP_MAX', 'stderr', 'stdin', 'stdout', 'remove', 'rename', 'tmpfile', 'tmpnam', 'fclose', 'fflush', 'fopen', 'freopen', 'setbuf', 'setvbuf', 'fprintf', 'fscanf', 'printf', 'scanf', 'snprintf', 'sprintf', 'sscanf', 'vfprintf', 'vfscanf', 'vprintf', 'vscanf', 'vsnprintf', 'vsprintf', 'vsscanf', 'fgetc', 'fgets', 'fputc', 'getc', 'getchar', 'gets', 'putc', 'putchar', 'puts', 'ungetc', 'fread', 'fwrite', 'fgetpos', 'fseek', 'fsetpos', 'ftell', 'rewind', 'clearerr', 'feof', 'ferror', 'perror' ), 10 => array( /* Standard library names: <stdlib.h> */ 'div_t', 'ldiv_t', 'lldiv_t', 'size_t', 'wchar_t', 'EXIT_FAILURE', 'EXIT_SUCCESS', 'RAND_MAX', 'MB_CUR_MAX', 'atof', 'atol', 'atoi', 'atoll', 'strtod', 'strtof', 'strtold', 'strtol', 'strtoll', 'strtoul', 'strtoull', 'rand', 'srand', 'calloc', 'free', 'malloc', 'realloc', 'abort', 'atexit', 'exit', 'getenv', 'system', 'bsearch', 'qsort', 'abs', 'labs', 'llabs', 'div', 'ldiv', 'lldiv', 'mblen', 'mbtowc', 'wctomb', 'mbstowcs', 'wcstombs' ), 11 => array( /* Standard library names: <string.h> */ 'memcpy', 'memmove', 'strcpy', 'strncpy', 'strcat', 'strncat', 'memcmp', 'strcmp', 'strcoll', 'strncmp', 'strxfrm', 'memchr', 'strchr', 'strcspn', 'strpbrk', 'strrchr', 'strspn', 'strstr', 'strtok', 'memset', 'strerror', 'strlen' ), /* Skipped macros in <tgmath.h> */ 12 => array( /* Standard library names: <time.h> */ 'CLOCKS_PER_SEC', 'clock_t', 'time_t', 'tm', 'clock', 'difftime', 'mktime', 'time', 'asctime', 'ctime', 'gmtime', 'localtime', 'strftime' ), 13 => array( /* Standard library names: <wchar.h> */ 'mbstate_t', 'wint_t', 'WCHAR_MAX', 'WCHAR_MIN', 'WEOF', 'fwprintf', 'fwscanf', 'swprintf', 'swscanf', 'vfwprintf', 'vfwscanf', 'vswprintf', 'vswscanf', 'vwprintf', 'vwscanf', 'wprintf', 'wscanf', 'fgetwc', 'fgetws', 'fputwc', 'fputws', 'fwide', 'getwc', 'getwchar', 'putwc', 'putwchar', 'ungetwc', 'wcstod', 'wcstof', 'wcstold', 'wcstol', 'wcstoll', 'wcstoul', 'wcstoull', 'wcscpy', 'wcsncpy', 'wcscat', 'wcsncat', 'wcscmp', 'wcscoll', 'wcsncmp', 'wcsxfrm', 'wcschr', 'wcscspn', 'wcslen', 'wcspbrk', 'wcsrchr', 'wcsspn', 'wcsstr', 'wcstok', 'wmemchr', 'wmemcmp', 'wmemcpy', 'wmemmove', 'wmemset', 'wcsftime', 'btowc', 'wctob', 'mbsinit', 'mbrlen', 'mbrtowc', 'wcrtomb', 'mbsrtowcs', 'wcsrtombs' ), 14 => array( /* Standard library names: <wctype.h> */ 'wctrans_t', 'wctype_t', 'iswalnum', 'iswalpha', 'iswcntrl', 'iswdigit', 'iswgraph', 'iswlower', 'iswprint', 'iswpunct', 'iswspace', 'iswupper', 'iswxdigit', 'iswctype', 'wctype', 'towlower', 'towupper', 'towctrans', 'wctrans' ), 15 => array( /* Standard library names: <ctype.h> */ 'isalnum', 'isalpha', 'iscntrl', 'isdigit', 'isgraph', 'islower', 'isprint', 'ispunct', 'isspace', 'isupper', 'isxdigit', 'tolower', 'toupper' ), 16 => array( /* __LINE__, a decimal constant */ '__LINE__', '__STDC__', '__STDC_VERSION__' '__STDC_ISO_10646__', '__STDC_IEC_559__', '__STDC_IEC_559_COMPLEX__' ), 17 => array( /* __FILE__, a string constant */ '__FILE__', '__DATE__', '__TIME__' ), 18 => array( /* Standard library names: <assert.h> */ 'NDEBUG', 'assert' ), 19 => array( /* <stdbool.h> */ 'true', 'false' /* 'bool' defined above */ ), 20 => array( /* <complex.h> */ 'I' /* 'complex' and 'imaginary' defined above */ ), 21 => array( /* Standard library names: <complex.h> */ 'CX_LIMITED_RANGE', 'cacos', 'cacosf', 'cacosl', 'casin', 'casinf', 'casinl', 'catan', 'catanf', 'catanl', 'ccos', 'ccosf', 'ccosl', 'csin', 'csinf', 'csinl', 'ctan', 'ctanf', 'ctanl', 'cacosh', 'cacoshf', 'cacoshl', 'casinh', 'casinhf', 'casinhl', 'catanh', 'catanhf', 'catanhl', 'ccosh', 'ccoshf', 'ccoshl', 'csinh', 'csinhf', 'csinhl', 'ctanh', 'ctanhf', 'ctanhl', 'cexp', 'cexpf', 'cexpl', 'clog', 'clogf', 'clogl', 'cabs', 'cabsf', 'cabsl', 'cpow', 'cpowf', 'cpowl', 'csqrt', 'csqrtf', 'csqrtl', 'carg', 'cargf', 'cargl', 'cimag', 'cimagf', 'cimagl', 'conj', 'conjf', 'conjl', 'cproj', 'cprojf', 'cprojl', 'creal', 'crealf', 'creall' ), 22 => array( /* Standard library names: <errno.h> */ 'EDOM', 'EILSEQ', 'ERANGE', 'errno' ), 23 => array( /* Standard library names: <fenv.h> */ 'fenv_t', 'fexcept_t', 'FE_DIVBYZERO', 'FE_INEXACT', 'FE_INVALID', 'FE_OVERFLOW', 'FE_UNDERFLOW', 'FE_ALLEXCEPT', 'FE_DOWNWARD', 'FE_TONEAREST', 'FE_TOWARDZERO', 'FE_UPWARD', 'FE_DFL_ENV', 'FENV_ACCESS', 'feclearexcept', 'fegetexceptflag', 'feraiseexcept', 'fesetexceptflag', 'fetestexcept', 'fegetround', 'fesetround', 'fegetenv', 'feholdexcept', 'fesetenv', 'feupdateenv' ), /* Skipped <float.h>, PRI* macros from <inttypes.h> */ 24 => array( /* Standard library names: <inttypes.h> */ 'strtoimax', 'strtoumax', 'wcstoimax', 'wcstoumax', 'intmax_t', 'uintmax_t', 'intptr_t', 'uintptr_t' ), 25 => array( /* Alternative spellings: <iso646.h> */ 'and', 'and_eq', 'bitand', 'bitor', 'compl', 'not', 'not_eq', 'or', 'or_eq', 'xor', 'xor_eq' ), /* Skipped <limits.h> */ 26 => array( /* Standard library names: <locale.h> */ 'lconv', 'LC_ALL', 'LC_COLLATE', 'LC_CTYPE', 'LC_MONETARY', 'LC_NUMERIC', 'LC_TIME', 'setlocale', 'localeconv' ), 27 => array( /* Standard library names: <math.h> */ 'float_t', 'double_t', 'HUGE_VAL', 'HUGE_VALF', 'HUGE_VALL', 'INFINITY', 'NAN', 'FP_INFINITE', 'FP_NAN', 'FP_NORMAL', 'FP_SUBNORMAL', 'FP_ZERO', 'FP_FAST_FMA', 'FP_FAST_FMAF', 'FP_FAST_FMAL', 'FP_ILOGB0', 'FP_ILOGBNAN', 'FP_CONTRACT', 'fpclassify', 'isfinite', 'isinf', 'isnan', 'isnormal', 'signbit', 'acos', 'acosf', 'acosl', 'asin', 'asinf', 'asinl', 'atan', 'atanf', 'atanl', 'atan2', 'atan2f', 'atan2l', 'cos', 'cosf', 'cosl', 'sin', 'sinf', 'sinl', 'tan', 'tanf', 'tanl', 'acosh', 'acoshf', 'acoshl', 'asinh', 'asinhf', 'asinhl', 'atanh', 'atanhf', 'atanhl', 'cosh', 'coshf', 'coshl', 'sinh', 'sinhf', 'sinhl', 'tanh', 'tanhf', 'tanhl', 'exp', 'expf', 'expl', 'exp2', 'exp2f', 'exp2l', 'expm1', 'expm1f', 'expm1l', 'frexp', 'frexpf', 'frexpl', 'ilogb', 'ilogbf', 'ilogbl', 'ldexp', 'ldexpf', 'ldexpl', 'log', 'logf', 'logl', 'log10', 'log10f', 'log10l', 'log1p', 'log1pf', 'log1pl', 'log2', 'log2f', 'log2l', 'logb', 'logbf', 'logbl', 'modf', 'modff', 'modfl', 'scalbn', 'scalbnf', 'scalbnl', 'scalbln', 'scalblnf', 'scalblnl', 'cbrt', 'cbrtf', 'cbrtl', 'fabs', 'fabsf', 'fabsl', 'hypot', 'hypotf', 'hypotl', 'pow', 'powf', 'powl', 'sqrt', 'sqrtf', 'sqrtl', 'erf', 'erff', 'erfl', 'erfc', 'erfcf', 'erfcl', 'lgamma', 'lgammaf', 'lgammal', 'tgamma', 'tgammaf', 'tgammal', 'ceil', 'ceilf', 'ceill', 'floor', 'floorf', 'floorl', 'nearbyint', 'nearbyintf', 'nearbyintl', 'rint', 'rintf', 'rintl', 'lrint', 'lrintf', 'lrintl', 'llrint', 'llrintf', 'llrintl', 'lround', 'lroundf', 'lroundl', 'llround', 'llroundf', 'llroundl', 'trunc', 'truncf', 'truncl', 'fmod', 'fmodf', 'fmodl', 'remainder', 'remainderf', 'remainderl', 'remquo', 'remquof', 'remquol', 'copysign', 'copysignf', 'copysignl', 'nan', 'nanf', 'nanl', 'nextafter', 'nextafterf', 'nextafterl', 'nexttoward', 'nexttowardf', 'nexttowardl', 'fdim', 'fdimf', 'fdiml', 'fmax', 'fmaxf', 'fmaxl', 'fmin', 'fminf', 'fminl', 'fma', 'fmaf', 'fmal', 'isgreater', 'isgreaterequal', 'isless', 'islessequal', 'islessgreater', 'isunordered' ), 28 => array( /* Standard library names: <setjmp.h> */ 'jmp_buf', 'setjmp', 'longjmp' ), 29 => array( /* Standard library names: <signal.h> */ 'sig_atomic_t', 'SIG_DFL', 'SIG_ERR', 'SIG_IGN', 'SIGABRT', 'SIGFPE', 'SIGILL', 'SIGINT', 'SIGSEGV', 'SIGTERM', 'signal', 'raise' ), 30 => array( /* Standard library names: <stdarg.h> */ 'va_list', 'va_arg', 'va_copy', 'va_end', 'va_start' ) /* Skipped <stdint.h> */ ), 'SYMBOLS' => array( '(', ')', '{', '}', '[', ']', '==', '!=', '<=', '>=', '+=', '-=', '*=', '/=', '%=', '&=', '|=', '^=', '<<=', '>>=', '+', '-', '*', '/', '%', '&', '|', '^', '<<', '>>', '<', '>', '=', '!', '?', ':' ), 'CASE_SENSITIVE' => array_fill(0, 31/*==KEYWORDS+1*/, true), 'STYLES' => array( 'KEYWORDS' => array_fill(1,30,), 'COMMENTS' => array( 1 => 'color: #008000;', /* // comments */ 2 => 'color: #006699;', /* preprocessor directives */ 'MULTI' => 'color: #008000;'), 'ESCAPE_CHAR' => array( 0 => ), 'STRINGS' => array( 0 => 'color: #660099;' 1 => 'color: #AA0000;' ), 'NUMBERS' => array( 0 => 'color: #AA0000;' ), 'SYMBOLS' => array( 0 => ) ), 'STRICT_MODE_APPLIES' => GESHI_NEVER, 'SCRIPT_DELIMITERS' => array( ), 'HIGHLIGHT_STRICT_BLOCK' => array( ) ); ?>