Winnie C++ Colorizer

23.08.2010
Winnie C++ Colorizer 1.4.6
Download source for Unix/Windows and Windows binary
Optimized html output size. New hosting.

07.01.2008
Winnie C++ Colorizer 1.4.3
minor bugs fixed, new "light" default style, files for EMO-style colors and old black-acid colors.

Example of output:

typical code:

pVertices[3].pos.x = Rect.X1 - 0.5f; pVertices[3].pos.y = Rect.Y1 - 0.5f; pVertices[3].pos.z = 0.f; pVertices[3].rhw = 1.f; pVertices[3].col = in_Color; pVertices[3].tex.x = TextureRect.X1; pVertices[3].tex.y = TextureRect.Y1; # if BOOST_WORKAROUND(__GNUC__, == 2) # define BOOST_PYTHON_UNFORWARD_LOCAL(z, n, _) BOOST_PP_COMMA_IF(n) (typename unforward<A##n>::type)objects::do_unforward(a##n,0) # else # define BOOST_PYTHON_UNFORWARD_LOCAL(z, n, _) BOOST_PP_COMMA_IF(n) objects::do_unforward(a##n,0) # endif template<class Archive> void basic_xml_oarchive<Archive>::init(){ // xml header header = true; this->This()->put("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\" ?>\n"); this->This()->put("<!DOCTYPE boost_serialization>\n"); // xml document wrapper - outer root this->This()->put("<boost_serialization"); write_attribute("signature", ARCHIVE_SIGNATURE); write_attribute("version", static_cast<unsigned int>(ARCHIVE_VERSION)); this->This()->put(">\n"); }
_Winnie C++ Colorizer

some pervert tests:

/\ * yeah baby, this is comment too =O.o= *\ / # #include <iostream> # include"iostream" # # # /* */ include <iostream> # /* */ include /* */ "iostream" ??= include <iostream> #\ include <iostream> #/* */include/* */<iostream> wchar_t *str3 = L"12321\x12335345\d0232433\nasdfasdf\u12345677082834\U823410293840234\\alsk\'alsd'asdf\"laksjdf"; System::String * __gc = S"Hello, world"; (reinterpret_cast) __identifier(reinterpret_c\ ast) (reinterpret_c\ ast) int main() { // Вырезка из набора простых boundary test cases парсера C++ комментариев // 2003-2005 (ц) Руслан "aruslan" Абдикеев // Константы std::cout << "C1. This is /* not a comment */\n"; std::cout << "C2. This is // not a comment\n"; std::cout << "C3. This is \" /* not a comment as well*/ \"\n"; std::cout << "C4. This is \" // not a comment as well \"\n"; std::cout << "C5. Let's print some random numbers: " << '/*' << '*/' << '\n'; std::cout << "C6. Let's print a random number: " << '//' << '\n'; std::cout << "C7. This is\" '/*' not a comment '*/' \"\n"; std::cout << "C8. This is\" '//' not a comment \"\n"; // Конец строки std::cout << "F5. This is " // line-continuation character: \ "SOMETHING ERRONEOUS BUT" // */ " not a comment\n"; // Триграфы + конец строки std::cout << "H5. This is obviously " // Триграфы?! - это что такое???????/ "SOMETHING ERRONEOUS BUT" " not a comment\n"; // Триграфы + константы #ifndef __GNUC__ // gcc up to 3.2.3 fails to handle trigraphs in these contexts std::cout << "J1. This is ??/" /* not a comment */ ??/"\n"; std::cout << "J2. This is ??/" // not a comment at all */ ??/"\n"; std::cout << "??/" '??/' '/*J3. Yeah, baby, this is NOT a comment*/' ??/"\n"; #endif } //commnt #include <a> //comm #include <c> #include <d> /* */ #include <b> ??x ?\?r "????" replacement trigraph replacement trigraph replacement _ _ ??= # ??( [ ??< { ??/ \ ??) ] ??> } _ ?? ? ??! | ??- ? _ ??= include <hello> ??= interface class interface, class interface class ICloneable { Object^ Clone(); }; interface class IComparable { 10 int CompareTo(Object^ other); }; ref class ListEntry : ICloneable, IComparable { public: Object^ Clone() { } 15 int CompareTo(Object^ other) { } }; #if 1 for each миня нет #include "stdafx.h" # //hello include <vector> //not directive # /* */ include <vector> //directive a b //test tabulation aa b aaa b aaaa b aaaaa b aaaaaa b aaaaaaa b aaaaaaaa b delete xor_\ eq #pragmakill //mane ne //xxx # error "xxxx" #hello world #include alskdfjalskdfj x #pragma /* */ ref class { int ref = 10; }; value /* */ class x; "trailing eol #pragma "trailing eol здафствуй мир S"lake" L"la\nke" Q"la\nke" |1| |1u| |1ull| |1ul| |1lu| |1l| |1ll| |1llu| 11\ LL |123ull|123lll|123lul|123uLL|123uL|123Luu(error)|0x123LL| |0X123LL|0X123|0123u|0123|1.e10|.1e10|1.1e10|1.1e+10| |1.1e-10|1.e10L|.1e10l|1.1e10f|1.1e+10F|1.1e+10E(error)| std::cout <<std::fixed <<0x10f <<std::endl << 010f <<std::endl (error) << 010 <<std::endl << 10f <<std::endl (error) << 10 <<std::endl << 0x10.<<std::endl //hexademical c99 << 0x10.L<<std::endl << 0x10.f<<std::endl << 0x10.F<<std::endl << 0x10.0P10<<std::endl << 0x10.0P10L<<std::endl << 0x.0P+10L<<std::endl; #include "stdafx.h" #if 1 //directive and not directive using std::vector; using std::cout; //random binary \$@[11]\$Du[7]»[1] л[2]3Ы…лt˜»I 3нйWяяяSѓм(Ќ\$4Ќ L$DЌT$[24]Ќ[4]$PRh QS‹\$Dи T$,L$0D$4[19] K[4]C[8]D$8C[12]‹ГѓД<[ГђSѓм(Ќ\$4ЌL$DЌT$[24]Ќ[4]$PRhђ QS‹\$Dи T$,L$0D$4[19]K[4]C[8]D$8C[12]‹Г ѓД<[ГђWVUSѓмHD$\‹X[4]83цЌSrЃъ„ vO…Ы[15]ЋЂ[1] D$`‹l$\‰8U[4]P[4]M[8]][12]H[8]X[12]u[16]U[20]p[16]P[20]…яt [7]ё Ђяял[5]ё Ђ T$`‰B[4]ѓДH[]^_Г3А‰D$[4]3н…Ы[15]Њf[1] t$\‹n[8]l$[4]n[12]‹учЮѓЖ@‹Оё[1] 3ТѓБя‰[12]$и [12]$T$[8]‹Х‰D$[12]D$[4]и [12]$и L$[12]t$[16]‰\$[20]‹с ‹\$[8]‹л[3]р[19]к[3]Й[19]Ы‰t$[4]L$[12]‰\$[8]‹\$[20]+р‹t$[16]‹Е[27]Вr[25] С3А№ +В‹T$[8][27]К!D$[4]#йл[17]4$3А‰D$[4]Ѕ ЂѓГ[1]D $[4]|$0‰\$4D$8l$<ЌT$0Ќ\$[24]3А‰D$@‰D$DSPj[1]RD $lPи ѓД[20]D$T$[24]P3ЫSj[1]Sj[22]h [2] Rи ѓД[28] D$[4]‹Х‹Ои 3Т+Р…яu[2]‹Р‹D$`[3]P[4]P[4]ѓДH[]^_Г‹l$ 8[1] [21]<[1] @[1] [29]D[1] ЗE E[8]U[12]M[16]ЗE[4] [1] ][20]ѓДH[]^_Г‹D$\‰|$[24]X[4]‰\$[28]X[8]P[12]‰\$ T$ $X[16]‹@[20]‰\$(D$,йKяяяђђVѓмXЌt$dЌD$(ЌL$[24]Ќ[20]$RQ h [1] Pj Vt$xи ѓД[24]ѓк |SЌT$(ЌD$@PRи ЌL $ ЌD$[8]P3ТRhЋ RhЏ QЌD$`Pи T$<L$@‹D$ D[22]N[4]F[8]D$HF[12]‹ЖѓД|^Г‹T$[24]L$[28][22]T$ N[4]V[8] T$$V[12]‹ЖѓДX^Г[28] [6] " [6] : [6] E [6] Y [6] b [6] w [21] [20] Ќ [6] [22] [20] ¬ [23] [20] э [23] [20] [18][1] [6] [24][1] [24] [20] 5[1] [23] [20] N[1] [6] u[1] [6] Ѓ[1] [25] [20] D[2] [26] end of file
_Winnie C++ Colorizer