JGCSCS 4 C/C++ *.c;*.cpp;*.h;*.hpp JGsoft support@editpadpro.com http://www.editpadpro.com/cscs.html TRUE // 0 5 #define preprocessor // comment public void Test() { Number = 1234; String = "abcdef"; } 0 FALSE 10 Single-line comment //.*+ FALSE FALSE 5 0 0 TRUE Multi-line comment /\* FALSE TRUE 5 0 3 FALSE Preprocessor statement ^[ \t]*+# FALSE TRUE 11 0 4 FALSE Operator [-+*/=<>%&^|!~?()[\]]++ FALSE FALSE 13 0 0 FALSE Bracket [{}]++ FALSE FALSE 17 0 0 FALSE String Closing quote optional so an unclosed string is still colored as a string "[^"\\\r\n]*+(?:\\(?:.|$)[^"\\\r\n]*+)*+"? FALSE FALSE 9 0 0 TRUE Character Closing quote optional so an unclosed string is still colored as a string '[^'\\\r\n]*+(?:\\(?:.|$)[^'\\\r\n]*+)*+'? FALSE FALSE 9 0 0 FALSE Hexadecimal number \b0x[0-9A-F]++\b TRUE FALSE 10 0 0 FALSE Integer or float \b[0-9]++(\.[0-9]+)?(E[+-]?+[0-9]++)?[fl]?+\b TRUE FALSE 10 0 0 FALSE Reserved words \b(?>__asm|_asm|asm|auto|__automated|break|bool|case|catch|__cdecl|_cdecl|cdecl|char|class|__classid|__closure|const(?:_cast)?+|continue|__declspec|default|delete|__dispid|dllexport|dllimport|do(?:uble)?+|dynamic_cast|else|enum|__except|explicit|_export|__export|extern|false|__fastcall|_fastcall|__finally|float|for|friend|goto|if|__import|_import|inline|int|__int8|__int16|__int32|__int64|long|mutable|namespace|new|operator|__pascal|_pascal|pascal|private|protected|__property|public|__published|register|reinterpret_cast|return|__rtti|short|signed|sizeof|static(?:_cast)+?|__stdcall|_stdcall|struct|switch|template|this|__thread|throw|true|__try|try|typedef|typename|typeid|union|using|unsigned|virtual|void|volatile|wchar_t|while)\b FALSE FALSE 7 0 -1 FALSE 6 { } TRUE 3 ( ) TRUE 3 [ ] TRUE 3 /* */ FALSE 2 ' ' FALSE 2 " " FALSE 2 2 Multi-line Comment 1 5 TRUE 1 Closing */ \*/ FALSE FALSE 5 0 2 FALSE Preprocessor 1 11 FALSE 4 Continue Backslash lets the preprocessor statement continue to the next line. Supports all three Win/UNIX/Mac line break styles. \\(?:\r\n|[\r\n]) FALSE FALSE 11 0 0 FALSE End of line Preprocessor statement ends at the end of the line $ FALSE FALSE 11 0 2 FALSE Single-line comment Single-line comment ends the preprocessor statement. We can color the comment right here. //.*+ FALSE FALSE 5 0 2 TRUE Multi-line comment Multi-line comment ends the preprocessor statement. We let the main scheme handle the comment. (?=/\*) FALSE TRUE 5 0 2 FALSE