re_regexp_build_scanner(&Cscanner, "/\\*([^\\*]|\\*+[^/])*\\*+/", RGB(0,128,0),	// C comment
								   "//.*\\n", RGB(0,128,0),						// C++ comment
								   "[\\a\\n\\b\\r\\t\\v ]+", RGB(0,0,1),			// Whitespace
								   "\\[|\\]|\\(|\\)|{|}|\\*|,|:|=|;|\\.\\.\\.|#"	// Punctuators
								   "\\.|->|\\+\\+|--|&|\\+|-|~|!|/|%|<<|>>|<|>|<=|>=|==|!=|"	// Operators
								   "^|\\||&&|!!|\\?|\\*=|/=|%=|\\+=|-=|<<=|>>=|&=|^=|\\|=|,|#|##", RGB(255,0,128),
								   "auto|break|case|char|const|continue|"
								   "default|do|double|else|enum|extern|"
								   "float|for|goto|if|int|long|register|"
								   "return|short|signed|sizeof|static|"
								   "struct|switch|typedef|union|unsigned|"
								   "void|volatile|while", RGB(0,0,128),	// Keyword
								   "[_a-zA-Z][_a-zA-Z0-9]*", RGB(0,0,1),	// Identifier
								   "L?\\\"([^\\\"\\\\\\n]|\\\\([abfnrtv\\\'\\\"\\\\\\?]|[0-7][0-7]?[0-7]?|x[0-9a-fA-F]+))*\\\"", RGB(128,0,128),	// String literal
								   "L?\\\'([^\\\'\\\\\\n]|\\\\([abfnrtv\\\'\\\"\\\\\\?]|[0-7][0-7]?[0-7]?|x[0-9a-fA-F]+))\\\'", RGB(128,0,128),		// Char const
								   "0[0-7]*|[1-9][0-9]*|0(x|X)[0-9a-fA-F]+((u|U)?(l|L)?|(l|L)?(u|U)?)", RGB(0,128,128),				// Integer constant
								   "[0-9]*\\.[0-9]*([Ee][+-]?[0-9]+)?([fF]?[lL]?|[lL]?[fF]?)", RGB(0,128,128),	// Float constant
								   NULL);
re_build_scantable(&m_stANSI_C, Cscanner.dfa);
