pattern { '\/\/[^\n]*' : "228b21" "#[^\n]*" : "228b22" "\/\*(?:[^\*]|\*(?!\/))*\*\/" : "228b23" "\"(?:(?:\\\\\")|[^\"])*\"" : "ff00ff" "\'(?:(?:\\\\\')|[^\'])*\'" : "ff00ff" "(\w+)(\.)(\w+)" : '("0000ff","000000","ff0000")' "(\.)(\w+)" : '("000000","ff0000")' "\w+" : '@("800000","0000ff","ff0000")' "\;|\(|\)|\{|\}|\@|\%|\&|\=|\+|\-|\*|\/|\>|\<|" : "ff0000" }; check1 { auto bool break case catch char cerr cin class const continue cout default delete do double else enum explicit extern float for friend goto if inline int long namespace new operator private protected public register return short signed sizeof static struct switch template this throw try typedef union unsigned using virtual void volatile while __asm __fastcall __based __cdecl __pascal __inline __multiple_inheritance __single_inheritance __virtual_inheritance } check2{ define error include elif if line else ifdef pragma endif ifndef undef if else endif }