###################################################################### ################################# C ################################## ###################################################################### [c] #comment "", "", "[^/]/\*.*?\*/" #string "", "", "\".*?(\"|$)" #esc character - "", "", "\\." #preprocessor line "", "", "^[ \t]*#.*?$" #esc character - "", "", "\\(.|\n)" #comment - "", "", "[^/]/\*.*?\*/" #character constant "", "", "'.'" #numeric constant "", "", "\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)(L|l|UL|ul|u|U|F|f)?\b" #storage keyword "", "", "\b(const|extern|auto|register|static|unsigned|signed|volatile|char|double|float|int|long|short|void|typedef|struct|union|enum)\b" #keyword "", "", "\b(return|goto|if|else|case|default|switch|break|continue|while|do|for|sizeof)\b" #braces "", "", "[\{\}]" #symbols "", "", "([\*\-\+=:;%&\|<>\(\)\[\]!]|[^/]/[^/])" #identifiers "", "", "([a-zA-Z_][a-zA-Z_0-9]*)" ###################################################################### ################################# C ++ ############################### ###################################################################### [c++] #comment "", "", "[^/]/\*.*?\*/" #cplus comment "", "", "//.*?$" #string "", "", "\".*?(\"|$)" #esc character - "", "", "\\." #preprocessor line "", "", "^[ \t]*#.*?$" #esc character - "", "", "\\(.|\n)" #comment - "", "", "[^/]/\*.*?\*/" #cplus comment - "", "", "//.*?$" #character constant "", "", "'.'" #numeric constant "", "", "\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)(L|l|UL|ul|u|U|F|f)?\b" #storage keyword "", "", "\b(class|typename|typeid|template|friend|virtual|inline|explicit|operator|overload|public|private|protected|const|extern|auto|register|static|mutable|unsigned|signed|volatile|char|double|float|int|long|short|bool|wchar_t|void|typedef|struct|union|enum)\b" #keyword "", "", "\b(new|delete|this|return|goto|if|else|case|default|switch|break|continue|while|do|for|catch|throw|sizeof|true|false|namespace|using|dynamic_cast|static_cast|reinterpret_cast)\b" #braces "", "", "[\{\}]" #symbols "", "", "([\*\-\+=:;%&\|<>\(\)\[\]!]|[^/]/[^/])" #identifiers "", "", "([a-zA-Z_][a-zA-Z_0-9]*)" ###################################################################### ################################# Ada 95 ############################# ###################################################################### [ada,ada95] #Comments "", "", "--.*?$" #String Literals "", "", "\".*?(\"|$)" #Character Literals "", "", "'.'" #Ada Attibutes "", "", "'[a-zA-Z][a-zA-Z_]+\b" #Numeric Literals "", "", "(((2|8|10|16)#[_0-9a-fA-F]*#)|[0-9.]+)" #Withs Pragmas Use "", "", "\b(([wW]ith|WITH|[pP]ragma|PRAGMA|[uU]se|USE)[ \t\n\f\r]+[a-zA-Z0-9_.]+;)+\b" #Predefined Types "", "", "\b([bB]oolean|BOOLEAN|[cC]haracter|CHARACTER|[cC]ount|COUNT|[dD]uration|DURATION|[fF]loat|FLOAT|[iI]nteger|INTEGER|[lL]ong_[fF]loat|LONG_FLOAT|[lL]ong_[iI]nteger|LONG_INTEGER|[pP]riority|PRIORITY|[sS]hort_[fF]loat|SHORT_FLOAT|[sS]hort_[iI]nteger|SHORT_INTEGER|[sS]tring|STRING)\b" #Predefined Subtypes "", "", "\b([fF]ield|FIELD|[nN]atural|NATURAL|[nN]umber_[bB]ase|NUMBER_BASE|[pP]ositive|POSITIVE|[pP]riority|PRIORITY)\b" #Reserved Words "", "", "\b([aA]bort|ABORT|[aA]bs|ABS|[aA]ccept|ACCEPT|[aA]ccess|ACCESS|[aA]nd|AND|[aA]rray|ARRAY|[aA][tT]|[bB]egin|BEGIN|[bB]ody|BODY|[cC]ase|CASE|[cC]onstant|CONSTANT|[dD]eclare|DECLARE|[dD]elay|DELAY|[dD]elta|DELTA|[dD]igits|DIGITS|[dD][oO]||[eE]lse|ELSE|[eE]lsif|ELSIF|[eE]nd|END|[eE]ntry|ENTRY|[eE]xception|EXCEPTION|[eE]xit|EXIT|[fF]or|FOR|[fF]unction|FUNCTION|[gG]eneric|GENERIC|[gG]oto|GOTO|[iI][fF]|[iI][nN]|[iI][sS]|[lL]imited|LIMITED|[lL]oop|LOOP|[mM]od|MOD|[nN]ew|NEW|[nN]ot|NOT|[nN]ull|NULL|[oO][fF]|[oO][rR]|[oO]thers|OTHERS|[oO]ut|OUT|[pP]ackage|PACKAGE|[pP]ragma|PRAGMA|[pP]rivate|PRIVATE|[pP]rocedure|PROCEDURE|[rR]aise|RAISE|[rR]ange|RANGE|[rR]ecord|RECORD|[rR]em|REM|[rR]enames|RENAMES|[rR]eturn|RETURN|[rR]everse|REVERSE|[sS]elect|SELECT|[sS]eparate|SEPARATE|[sS]ubtype|SUBTYPE|[tT]ask|TASK|[tT]erminate|TERMINATE|[tT]hen|THEN|[tT]ype|TYPE|[uU]se|USE|[wW]hen|WHEN|[wW]hile|WHILE|[wW]ith|WITH|[xX]or|XOR)\b" #Ada 95 Only "", "", "\b([aA]bstract|ABSTRACT|[tT]agged|TAGGED|[aA]ll|ALL|[pP]rotected|PROTECTED|[aA]liased|ALIASED|[rR]equeue|REQUEUE|[uU]ntil|UNTIL)\b" #Identifiers "", "", "\b[a-zA-Z][a-zA-Z0-9_]*\b" #Dot All "", "", "\.[aA][lL][lL]\b" ###################################################################### ################################# Pascal ############################# ###################################################################### [pas,pascal] #comment1 (* *) "", "", "\(\*.*?\*\)" #comment1 { } "", "", "\{.*?\}" #string "", "", "'.*?('|$)" #preprocessor line "", "", "^[ \t]*#.*?$" #comment1 (* *) - "", "", "\(\*.*?\*\)" #comment1 { } - "", "", "\{.*?\}" #character constant "", "", "'.'" #numeric constant "", "", "\b((0(x|X)[0-9a-fA-F]*)|[0-9.]+((e|E)(\+|-)?)?[0-9]*)(L|l|UL|ul|u|U|F|f)?\b" #storage and ops "", "", "\b(and|AND|array|const|div|export|file|function|import|in|IN|label|mod|module|nil|not|NOT|only|or|OR|packed|pow|pragma|procedure|program|protected|qualified|record|restricted|set|type|var)\b" #keywords "", "", "\b(begin|case|do|downto|else|end|for|goto|if|of|otherwise|then|to|until|while|with)\b" #symbols "", "", "([\*\-\+=:;<>\(\)\[\]!]|[^/]/[^/])" #identifiers "", "", "([a-zA-Z_][a-zA-Z_0-9]*)" ###################################################################### ################################# Pascal ############################# ###################################################################### [perl] #comments "", "", "#.*?$" #double quote string # "", "", "\".*?\"" #esc character # - "", "", "\\." #variables # - "", "", "[$@%]\$?({[^}]*}|[^a-zA-Z0-9_/\t\n\.,\\[\\{\\(]|[0-9]+|[a-zA-Z_][a-zA-Z0-9_]*)?" #single quote string # "", "", "'.*?'" #esc character # - "", "", "\\." #subroutine header # "", "", "sub[\t ]+([a-zA-Z0-9_]+)[\t \n]*{" #header coloring # - "", "", "[\t ]+([a-zA-Z0-9_]+)[\t \n]" #regex matching # "", "", "\b((m|q|qq)?/)(\\/|[^/])*(/[gimsox]*)\b" #match coloring # - "", "", "^.*?/" #match coloring # - "", "", "/.*?$" #regex substitution # "", "", "\b((s|y|tr)/)(\\/|[^/])*(/)[^/]*(/[gimsox]*)\b" #match coloring # - "", "", "^.*?/" #match coloring # - "", "", "/.*?$" #match coloring # - "", "", "/" #keywords # "", "", "\b(my|local|new|if|until|while|elsif|else|eval|unless|for|foreach|continue|exit|die|last|goto|next|redo|return|local|exec|do|use|require|package|eval|BEGIN|END|eq|ne|not|\|\||\&\&|and|or)\b" #library fns # "", "", "\b(abs|accept|alarm|atan2|bind|binmode|bless|caller|chdir|chmod|chomp|chop|chr|chroot|chown|closedir|close|connect|cos|crypt|dbmclose|dbmopen|defined|delete|die|dump|each|endgrent|endhostent|endnetent|endprotoent|endpwent|endservent|eof|exec|exists|exp|fctnl|fileno|flock|fork|format|formline|getc|getgrent|getgrgid|getgrnam|gethostbyaddr|gethostbyname|gethostent|getlogin|getnetbyaddr|getnetbyname|getnetent|getpeername|getpgrp|getppid|getpriority|getprotobyname|getprotobynumber|getprotoent|getpwent|getpwnam|getpwuid|getservbyname|getservbyport|getservent|getsockname|getsockopt|glob|gmtime|grep|hex|import|index|int|ioctl|join|keys|kill|lcfirst|lc|length|link|listen|log|localtime|lstat|map|mkdir|msgctl|msgget|msgrcv|no|oct|opendir|open|ord|pack|pipe|pop|pos|printf|print|push|quotemeta|rand|readdir|read|readlink|recv|ref|rename|reset|reverse|rewinddir|rindex|rmdir|scalar|seekdir|seek|select|semctl|semget|semop|send|setgrent|sethostent|setnetent|setpgrp|setpriority|setprotoent|setpwent|setsockopt|shift|shmctl|shmget|shmread|shmwrite|shutdown|sin|sleep|socket|socketpair|sort|splice|split|sprintf|sqrt|srand|stat|study|substr|symlink|syscall|sysopen|sysread|system|syswrite|telldir|tell|tie|tied|time|times|truncate|uc|ucfirst|umask|undef|unlink|unpack|unshift|untie|utime|values|vec|wait|waitpid|wantarray|warn|write|qw|-[rwxoRWXOezsfdlpSbctugkTBMAC])\b" #variables # "", "", "[$@%]\$?({[^}]*}|[^a-zA-Z0-9_/\t\n\.,\\[\\{\\(]|[0-9]+|[a-zA-Z_][a-zA-Z0-9_]*)?" # "", "", "[$@%]\$?([a-zA-Z0-9_]*?\b|.)" #subroutine calls # "", "", "&[a-zA-Z0-9_]+" #braces and parentheses # "", "", "[\(\)\[\]{}]" ###################################################################### ################################# HTML ############################### ###################################################################### [html] #comment "", "", "" #special chars "", "", "\&[-.a-zA-Z0-9#]*;?" #tag "", "", "<(/|!)?[-.a-zA-Z0-9]*.*?>" #double quote string - "", "", "\".*?\"" #single quote string - "", "", "'.*?'" #brackets - "", "", "[<>]" #attribute - "", "", "[^'\"]*?"