....................................../////.===Shadow-Here===./////................................................ > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < ------------------------------------------------------------------------------------------------------------------- /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// RIFF¤ WEBPVP8 ˜ ðÑ *ôô>‘HŸK¥¤"§£±¨àð enü¹%½_F‘åè¿2ºQú³íªú`N¿­3ÿƒügµJžaÿ¯ÿ°~¼ÎùnúîÞÖô•òíôÁÉß®Sm¥Ü/ ‡ó˜f£Ùà<˜„xëJ¢Ù€SO3x<ªÔ©4¿+ç¶A`q@Ì“Úñè™ÍÿJÌ´ª-˜ÆtÊÛL]Ïq*‘Ý”ì#ŸÌÏãY]@ê`¿ /ªfkØB4·®£ó z—Üw¥Pxù–ÞLШKÇN¾AkÙTf½è'‰g gÆv›Øuh~ a˜Z— ïj*á¥t d£“uÒ ¨`K˜¹ßþ]b>˜]_ÏÔ6W—è2r4x•íÖ…"ƒÖNîä!¦å Ú}ýxGøÌ —@ ;ÆÚŠ=ɾ1ý8lªË¥ô ^yf®Œ¢u&2©nÙÇ›ñÂñŒ³ aPo['½»øFùà­+4ê“$!lövlüÞ=;N®3ð‚õ›DÉKòÞ>ÄÍ ¥ˆuߤ#ˆ$6ù™¥îЇy’ÍB¼ çxÛ;X"WL£R÷͝*ó-¶Zu}º.s¸sšXqù–DþÿvªhüïwyŸ ¯é³lÀ:KCûÄ£Ëá\…­ ~—ýóî ¼ûûÜTÓüÇy…ŽÆvc»¾×U ñ¸žþоP÷¦ó:Ò¨¨5;Ð#&#ÖúñläÿÁœ GxÉ­/ñ‡áQðìYÉtÒw޼GÔ´zàÒò ð*ëzƒ•4~H]Ø‹f ñÓÈñ`NåWçs'ÆÏW^ø¹!XžµmQ5ÃËoLœÎ: ÞËÍ¥J ù…î èo£ßPÎñ¶ž8.Œ]ʵ~5›ÙË-ù*8ÙÖß±~ ©¹rÓê‚j¶d¸{^Q'˜±Crß ÚH—#¥¥QlÀ×ëã‡DÜ«èî þ&Çæžî;ŽÏºò6ÒLÃXy&ZŒ'j‚¢Ù€IßÚù+–MGi‰*jE€‘JcÜ ÓÌ EÏÚj]o˜ Þr <¾U ûŪæÍ/šÝH¥˜b”¼ ÁñßX GP›ï2›4WŠÏà×£…íÓk†¦H·ÅíMh–*nó÷à]ÁjCº€b7<ب‹¨5車bp2:Á[UªM„QŒçiNMa#<5›áËó¸HýÊ"…×Éw¹¦ì2º–x<›»a±¸3Weü®FÝ⑱ö–î–³|LPÈ~çð~Çå‡|º kD¢µÏàÆAI %1À% ¹Ò – ”ϝS¦‰4&¶£°à Öý”û_Ò Áw°A«Å€?mÇÛgHÉ/8)á¾ÛìáöŽP í¨PŸNÙµº¦‡§Ùš"ÿ«>+ªÕ`Ê÷‡‚ß Õû˜þãÇ-PÍ.¾XV‘€ dÜ"þ4¹ ±Oú‘©t¥¦FªÄÃÄ•b‚znýu½—#cDs˜ÃiÑOˆñ×QO=*IAÊ,¶ŽZƒ;‡wøXè%EÐk:F±Ú” .Ѽ+Áu&Ç`."pÈÉw o&¿dE6‘’EqTuK@Ì¥ã™À(Êk(h‰,H}RÀIXÛš3µ1©_OqÚÒJAñ$ÊÙÜ;D3çŒ[þùœh¬Ã³™ö6ç†NY".Ú‰ï[ªŸŒ '²Ð öø_¨ÂÉ9ué¶³ÒŠõTàîMØ#û¯gN‡bÙ놚X„ö …ÉeüÌ^J ‹€.œ$Æ)βÄeæW#óüßĺŸ€ ÀzwV 9oä»f4V*uB «Ë†¹ì¯žR霓æHXa=&“I4K;¯ç‹h×·"UŠ~<•╪Vêª&ÍSÃÆÅ?ÔqÎ*mTM ˜›µwêd#[C¡©§‘D<©àb†–ÁœøvH/,í:¯( ²£|4-„Æövv„Yͼ™^Á$ˆ„¢Û[6yB.åH*V¨æ?$=˜Ñ€•ñ·­(VlŸ‘ nÀt8W÷´Bûba?q9ú¶Xƒl«ÿ\ù¶’þòUÐj/õ¢Ìµ³g$ƒÎR!¸»|Oߍë’BhîÚÑ¢ñåŒJ„®„£2Ð3•ô02Nt…!£Í]Ïc½Qÿ?ˆ<&ÃA¾Ú,JˆijÌ#5yz„‰Î|ÊŽ5QÏ:‹ÐaóVÔxW—CpeÏzÐïíçôÿÅ_[hãsÐ_/ŽTÝ?BîˆííV$<¿i>²F¬_Eß¿ †bÊŒº­ÿ®Z H“C}”¬,Mp ý/Bá£w>˜YV°aƒúh+cŠ- r/[%|üUMHäQ°X»|û/@|°¥Ð !BÔ Ç¢Ä©š+Õì D«7ìN¶ŽðÔ " ƶ’ÖçtA‰Û×}{tþz­¾GÍ›k¹OEJR$ Â׃ «ëÁ"oÉôž$oUK(Ä)Ãz³Ê-‹êN[Ò3Œñbï8P 4ƒ×q¢bo|?<ÛX¬òÄͰL–±›(™ûG?ýË©ÚÄ–ÂDØÐ_Ç¡ô ¾–ÄÏø ×e8Ë©$ÄF¹Å‹ì[©óìl:F¾f´‹‹Xì²ï®\¬ôùƒ ÿat¥óèÒùHß0äe‚;ü×h:ÆWðHž=Ã8骣"kœ'Y?³}Tûè€>?0l›e1Lòñ„aæKÆw…hÖŠùW…ÈÆÄ0ši·›[pcwËþñiêíY/~-Á5˜!¿†A›™Mÿþ(±“t@â“ö2­´TG5yé]çå僳 .·ÍïçÝ7UÚ±Ð/Nè»,_Ï ùdj7\ï Wì4›„»c¸àešg#ÒÊ⥭áØo5‘?ÌdÝô¯ ¹kzsƒ=´#ëÉK›Ø´±-¥eW?‡çßtòTã…$Ý+qÿ±ƒ÷_3Ô¥í÷:æ–ž<·Ö‡‰Å¢ š‡%Ô—utÌÈìðžgÖÀz²À—ï÷Óîäõ{K'´È÷³yaÏÁjƒô}ž§®æÊydÕÈë5¯èˆõvÕ©ã*çD„ “z„Ó‡^^xÂ3M§A´JG‚öï 3W'ˆ.OvXè¡ÊÕª?5º7†˜(˜Ç¶#çê’¶!ÌdZK§æ 0fãaN]òY³RV ™î$®K2R¨`W!1Ôó\;Ý ýB%qæK•&ÓÈe9È0êI±žeŸß -ú@žQr¦ ö4»M¼Áè¹µmw 9 EÆE_°2ó„ŸXKWÁ×Hóì^´²GѝF©óäR†¦‰ç"V»eØ<3ùd3ÿÚ¤Žú“Gi" —‘_ÙËÎ~Üö¯¥½Î»üŸEÚŽåmÞþí ;ÞólËΦMzA"Âf(´òá;Éï(/7½ûñÌ­cïÕçлþÝz¾-ÍvÑ“pH­–ðÓj$¸Äû¤‚‘ãUBË-n“2åPkS5&‹Â|+g^œ®Ì͆d!OïäîU«c;{Û!ÅŽ«ëZ9Ókóˆ]¯ƒ›né `ÇÒ+tÆš (ØKá¾—=3œ®•vuMñg²\ï Ec€ 05±d™‡×iÇ×›UúvÌ¢£Èþ¡ÕØô¶ßÎA"ß±#Ö²ˆÊŸ¦*Ä~ij|àø.-¼'»Ú¥£h ofº¦‡VsR=N½„Î v˜Z*SÌ{=jÑB‹tê…;’HžH¯8–îDù8ñ¢|Q•bÛçš–‹m³“ê¨ åÏ^m¬Žãþ©ïêO‡½6] µÆ„Ooòü ²x}N¦Ë3ïé¿»€›HA˜m%çÞ/¿í7Fø“‹léUk)É°Œµ8Q8›:ÀŠeT*šõ~ôڝG6 ¢}`ùH­–”¡k ‰P1>š†®9z11!X wKfmÁ¦xÑ,N1Q”–æB¶M…ÒÃv6SMˆhU¬ÊPŽï‘öj=·CŒ¯u¹ƒVIЃsx4’ömÛýcå¡¶7ßŠß 57^\wÒÐÆ k§h,Œý î«q^R½3]J¸ÇðN ‚çU¬ôº^Áì} ³f©Õœ§ˆã:FÄÈ‚é(€™?àýÓüè1Gô£¼éj‚OÅñ  #>×—ßtà 0G¥Åa뀐kßhc™À_ÉñÞ#±)GD" YîäË-ÿÙ̪ ¹™a¯´¢E\ÝÒö‚;™„ë]_ p8‰o¡ñ+^÷ 3‘'dT4œŽ ðVë½° :¬víÑ«£tßÚS-3¶“þ2 †üüʨòrš¹M{É_¤`Û¨0ìjœøJ‡:÷ÃáZ˜†@GP&œÑDGÏs¡þ¦þDGú‘1Yá9Ôþ¼ ûø…§÷8&–ÜÑnÄ_m®^üÆ`;ÉVÁJ£?â€-ßê}suÍ2sõA NÌúA磸‘îÿÚ»ƒìö·á¿±tÑÐ"Tÿü˜[@/äj¬€uüªìù¥Ý˜á8Ý´sõj 8@rˆð äþZÇD®ÿUÏ2ùôõrBzÆÏÞž>Ì™xœ“ wiÎ×7_… ¸ \#€MɁV¶¥üÕÿPÔ9Z‡ø§É8#H:ƒ5ÀÝå9ÍIŒ5åKÙŠ÷qÄ>1AÈøžj"µÂд/ªnÀ qªã}"iŸBå˜ÓÛŽ¦…&ݧ;G@—³b¯“•"´4í¨ôM¨åñC‹ïùÉó¯ÓsSH2Ý@ßáM‡ˆKÀªÛUeø/4\gnm¥‹ŸŒ qÄ b9ÞwÒNÏ_4Ég³ú=܆‚´ •â¥õeíþkjz>éÚyU«Íӝ݃6"8/ø{=Ô¢»G¥ äUw°W«,ô—¿ãㆅү¢³xŠUû™yŒ (øSópÐ 9\åTâ»—*oG$/×ÍT†Y¿1¤Þ¢_‡ ¼ „±ÍçèSaÓ 3ÛMÁBkxs‰’R/¡¤ˆÙçª(*õ„üXÌ´ƒ E§´¬EF"Ù”R/ÐNyÆÂ^°?™6¡œïJ·±$§?º>ÖüœcNÌù¯G ‹ñ2ЁBB„^·úìaz¨k:#¨Æ¨8LÎõލ£^§S&cŒÐU€ü(‡F±Š¼&P>8ÙÁ ‰ p5?0ÊÆƒZl¸aô š¼¡}gÿ¶zÆC²¹¬ÎÖG*HB¡O<º2#ñŒAƒ–¡B˜´É$¥›É:FÀÔx¾u?XÜÏÓvN©RS{2ʈãk9rmP¼Qq̳ è¼ÐFׄ^¡Öì fE“F4A…!ì/…¦Lƒ… … $%´¾yã@CI¬ á—3PþBÏNÿ<ý°4Ü ËÃ#ØÍ~âW«rEñw‹eùMMHß²`¬Öó½íf³:‹k˜¯÷}Z!ã¿<¥,\#öµÀ¯aÒNÆIé,Ћ–lŽ#Àæ9ÀÒS·I’½-Ïp Äz¤Š Â* ­íÄ9­< h>׍3ZkËU¹§˜ŒŠ±f­’¤º³Q ÏB?‹#µíÃ¥®@(Gs«†vI¥Mµ‹Á©e~2ú³ÁP4ìÕi‚²Ê^ö@-DþÓàlÜOÍ]n"µã:žpsŽ¢:! Aõ.ç~ÓBûH÷JCÌ]õVƒd «ú´QÙEA–¯¯Œ!.ˆˆëQ±ù œ·Ì!Õâ )ùL„ÅÀlÚè5@B…o´Æ¸XÓ&Û…O«˜”_#‡ƒ„ûÈt!¤ÁÏ›ÎÝŠ?c9 â\>lÓÁVÄÑ™£eØY]:fÝ–—ù+p{™ðè û³”g±OƒÚSù£áÁÊ„ä,ï7š²G ÕÌBk)~ÑiCµ|h#u¤¶îK¨² #²vݯGãeÖ϶ú…¾múÀ¶þÔñ‚Š9'^($¤§ò “š½{éúp÷J›ušS¹áªCÂubÃH9™D™/ZöØÁ‡¦ÝÙŸ·kð*_”.C‹{áXó€‡c¡c€§/šò/&éš÷,àéJþ‰X›fµ“C¨œ®r¬"kL‰Â_q…Z–.ÉL~O µ›zn‚¹À¦Öª7\àHµšÖ %»ÇníV[¥*Õ;ƒ#½¾HK-ÖIÊdÏEÚ#=o÷Óò³´Š: Ç?{¾+9›–‘OEáU·S€˜j"ÄaÜ ŒÛWt› á–c#a»pÔZÞdŽtWê=9éöÊ¢µ~ ë ;Öe‡Œ®:bî3±ýê¢wà¼îpêñ¹¾4 zc¾ðÖÿzdêŒÑÒŝÀ‰s6¤í³ÎÙB¿OZ”+F¤á‡3@Ñëäg©·Ž ˆèª<ù@É{&S„œÕúÀA)‰h:YÀ5^ÂÓŒ°õäU\ ùËÍû#²?Xe¬tu‰^zÒÔãë¼ÛWtEtû …‚g¶Úüâî*moGè¨7%u!]PhÏd™Ý%Îx: VÒ¦ôÊD3ÀŽKÛËãvÆî…N¯ä>Eró–ð`5 Œ%u5XkñÌ*NU%¶áœÊ:Qÿú»“úzyÏ6å-၇¾ ´ ÒÊ]y žO‘w2Äøæ…H’²f±ÎÇ.ª|¥'gîV•Ü .̘¯€šòü¤U~Ù†*¢!?ò wý,}´°ÔÞnïoKq5µb!áÓ3"vAßH¡³¡·G(ÐÎ0Îò¼MG!/ài®@—¬04*`…«é8ªøøló“ˆÊ”èù¤…ßÊoÿé'ËuÌÖ5×È¡§ˆˆfŽë9}hìâ_!!¯  B&Ëö¶‰ÀAÙNVŸ Wh›¸®XÑJì¨ú“¿÷3uj²˜¨ÍÎìë±aúŠÝå¯ð*Ó¨ôJ“yºØ)m°WýOè68†ŸÏ2—‰Ïüꪫٚ¥‹l1 ø ÏÄFjêµvÌbü¦èÝx:X±¢H=MÐß—,ˆÉÇ´(9ú¾^ÅÚ4¿m‡$âX‘å%(AlZo@½¨UOÌÕ”1ø¸jÎÀÃÃ_ µ‘Ü.œº¦Ut: Æï’!=¯uwû#,“pþÇúŒø(é@?³ü¥‘Mo §—s@Œ#)§ŒùkL}NOÆêA›¸~r½¼ÙA—HJ«eˆÖ´*¡ÓpÌŸö.m<-"³ûÈ$¬_6­åf£ïÚâj1y§ÕJ½@dÞÁr&Í\Z%D£Íñ·AZ Û³øüd/ªAi†/Й~  ‡âĮҮÏh§°b—›Û«mJžòG'[ÈYýŒ¦9psl ýÁ ®±f¦x,‰½tN ‚Xª9 ÙÖH.«Lo0×?͹m¡å†Ѽ+›2ƒF ±Ê8 7Hցϓ²Æ–m9…òŸï]Â1äN†VLâCˆU .ÿ‰Ts +ÅÎx(%¦u]6AF Š ØF鈄‘ |¢¶c±soŒ/t[a¾–û:s·`i햍ê›ËchÈ…8ßÀUÜewŒðNOƒõD%q#éû\9¤x¹&UE×G¥ Í—™$ð E6-‡¼!ýpãÔM˜ Âsìe¯ñµK¢Ç¡ùôléœ4Ö£”À Š®Ðc ^¨À}ÙËŸ§›ºê{ÊuÉC ×Sr€¤’fÉ*j!úÓ’Gsùìoîßîn%ò· àc Wp÷$¨˜)û»H ×8ŽÒ€Zj¤3ÀÙºY'Ql¦py{-6íÔCeiØp‘‡XÊîÆUߢ܂ž£Xé¼Y8þ©ëgñß}é.ÎógÒ„ÃØËø¯»™§Xýy M%@NŠ À(~áÐvu7&•,Ù˜ó€uP‡^^®=_E„jt’ 403WebShell
403Webshell
Server IP : 195.3.193.30  /  Your IP : 216.73.216.125
Web Server : Apache
System : Linux server3 5.10.0-35-amd64 #1 SMP Debian 5.10.237-1 (2025-05-19) x86_64
User : web032 ( 1035)
PHP Version : 7.3.33
Disable Function : show_source, highlight_file, apache_child_terminate, apache_get_modules, apache_note, apache_setenv, virtual, dl, disk_total_space, posix_getpwnam, posix_getpwuid, posix_mkfifo, posix_mknod, posix_setpgid, posix_setsid, posix_setuid, posix_uname, proc_nice, openlog, syslog, pfsockopen
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /proc/self/root/usr/share/doc/re2c/examples/c/reuse/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /proc/self/root/usr/share/doc/re2c/examples/c/reuse/braille.c
/* Generated by re2c */
// re2c $INPUT -o $OUTPUT -cri
#include <assert.h>
#include <ctype.h>
#include <stdio.h>

template<typename char_t>
struct input_t {
    size_t len;
    char_t *str;

    input_t(FILE *f) : len(0), str(NULL)
    {
        fseek(f, 0, SEEK_END);
        len = ftell(f) / sizeof(char_t);
        fseek(f, 0, SEEK_SET);
        str = new char_t[len + 1];
        fread(str, sizeof(char_t), len, f);
        str[len] = 0;
    }
    ~input_t() { delete[] str; }
};

typedef input_t<unsigned char>  iutf8_t;
typedef input_t<unsigned short> iutf16_t;
typedef input_t<unsigned int>   iutf32_t;
typedef input_t<unsigned short> iucs2_t;

struct out_t {
    bool caps;

    out_t() : caps(false) {}
    void prt(char c)
    {
        fprintf(stderr, "%c", caps ? toupper(c) : c);
        caps = false;
    }
    void err()
    {
        fprintf(stderr, " ... error\n");
    }
};



enum YYCONDTYPE {
	yycl,
	yycn,
};


static void lex_utf8(const iutf8_t & in)
{
    const unsigned char *YYCURSOR = in.str, *YYMARKER;
    int c = yycl;
    out_t out;
    
{
	unsigned char yych;
	switch (c) {
	case yycl:
		goto yyc_l;
	case yycn:
		goto yyc_n;
	}
/* *********************************** */
yyc_l:
	yych = *YYCURSOR;
	switch (yych) {
	case 0x00:	goto yy2;
	case '\n':	goto yy6;
	case ' ':	goto yy8;
	case 0xE2:	goto yy10;
	default:	goto yy4;
	}
yy2:
	++YYCURSOR;
	{ if (YYCURSOR != in.str + in.len + 1) out.err(); return; }
yy4:
	++YYCURSOR;
yy5:
	{ out.err(); return; }
yy6:
	yych = *++YYCURSOR;
	switch (yych) {
	case '\r':	goto yy11;
	default:	goto yy7;
	}
yy7:
	{ out.prt('\n'); goto yyc_l; }
yy8:
	++YYCURSOR;
	{ out.prt(' '); goto yyc_l; }
yy10:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
	case 0xA0:	goto yy12;
	default:	goto yy5;
	}
yy11:
	++YYCURSOR;
	goto yy7;
yy12:
	yych = *++YYCURSOR;
	switch (yych) {
	case 0x80:	goto yy8;
	case 0x81:	goto yy14;
	case 0x82:	goto yy16;
	case 0x83:	goto yy18;
	case 0x84:	goto yy20;
	case 0x85:	goto yy22;
	case 0x86:	goto yy24;
	case 0x87:	goto yy26;
	case 0x89:	goto yy28;
	case 0x8A:	goto yy30;
	case 0x8B:	goto yy32;
	case 0x8D:	goto yy34;
	case 0x8E:	goto yy36;
	case 0x8F:	goto yy38;
	case 0x91:	goto yy40;
	case 0x92:	goto yy42;
	case 0x93:	goto yy44;
	case 0x94:	goto yy46;
	case 0x95:	goto yy48;
	case 0x96:	goto yy50;
	case 0x97:	goto yy52;
	case 0x99:	goto yy54;
	case 0x9A:	goto yy56;
	case 0x9B:	goto yy58;
	case 0x9D:	goto yy60;
	case 0x9E:	goto yy62;
	case 0x9F:	goto yy64;
	case 0xA0:	goto yy66;
	case 0xA4:	goto yy68;
	case 0xA5:	goto yy70;
	case 0xA6:	goto yy72;
	case 0xA7:	goto yy74;
	case 0xAD:	goto yy76;
	case 0xB0:	goto yy78;
	case 0xB2:	goto yy80;
	case 0xB5:	goto yy82;
	case 0xBA:	goto yy84;
	case 0xBC:	goto yy86;
	case 0xBD:	goto yy88;
	default:	goto yy13;
	}
yy13:
	YYCURSOR = YYMARKER;
	goto yy5;
yy14:
	++YYCURSOR;
	{ out.prt('a'); goto yyc_l; }
yy16:
	++YYCURSOR;
	{ out.prt(','); goto yyc_l; }
yy18:
	++YYCURSOR;
	{ out.prt('b'); goto yyc_l; }
yy20:
	++YYCURSOR;
	{ out.prt('\''); goto yyc_l; }
yy22:
	++YYCURSOR;
	{ out.prt('k'); goto yyc_l; }
yy24:
	++YYCURSOR;
	{ out.prt(';'); goto yyc_l; }
yy26:
	++YYCURSOR;
	{ out.prt('l'); goto yyc_l; }
yy28:
	++YYCURSOR;
	{ out.prt('c'); goto yyc_l; }
yy30:
	++YYCURSOR;
	{ out.prt('i'); goto yyc_l; }
yy32:
	++YYCURSOR;
	{ out.prt('f'); goto yyc_l; }
yy34:
	++YYCURSOR;
	{ out.prt('m'); goto yyc_l; }
yy36:
	++YYCURSOR;
	{ out.prt('s'); goto yyc_l; }
yy38:
	++YYCURSOR;
	{ out.prt('p'); goto yyc_l; }
yy40:
	++YYCURSOR;
	{ out.prt('e'); goto yyc_l; }
yy42:
	++YYCURSOR;
	{ out.prt(':'); goto yyc_l; }
yy44:
	++YYCURSOR;
	{ out.prt('h'); goto yyc_l; }
yy46:
	++YYCURSOR;
	{ out.prt('*'); goto yyc_l; }
yy48:
	++YYCURSOR;
	{ out.prt('o'); goto yyc_l; }
yy50:
	++YYCURSOR;
	{ out.prt('!'); goto yyc_l; }
yy52:
	++YYCURSOR;
	{ out.prt('r'); goto yyc_l; }
yy54:
	++YYCURSOR;
	{ out.prt('d'); goto yyc_l; }
yy56:
	++YYCURSOR;
	{ out.prt('j'); goto yyc_l; }
yy58:
	++YYCURSOR;
	{ out.prt('g'); goto yyc_l; }
yy60:
	++YYCURSOR;
	{ out.prt('n'); goto yyc_l; }
yy62:
	++YYCURSOR;
	{ out.prt('t'); goto yyc_l; }
yy64:
	++YYCURSOR;
	{ out.prt('q'); goto yyc_l; }
yy66:
	++YYCURSOR;
	{ out.caps = true; goto yyc_l; }
yy68:
	++YYCURSOR;
	{ out.prt('-'); goto yyc_l; }
yy70:
	++YYCURSOR;
	{ out.prt('u'); goto yyc_l; }
yy72:
	++YYCURSOR;
	{ out.prt('?'); goto yyc_l; }
yy74:
	++YYCURSOR;
	{ out.prt('v'); goto yyc_l; }
yy76:
	++YYCURSOR;
	{ out.prt('x'); goto yyc_l; }
yy78:
	++YYCURSOR;
	goto yyc_l;
yy80:
	++YYCURSOR;
	{ out.prt('.'); goto yyc_l; }
yy82:
	++YYCURSOR;
	{ out.prt('z'); goto yyc_l; }
yy84:
	++YYCURSOR;
	{ out.prt('w'); goto yyc_l; }
yy86:
	++YYCURSOR;
	c = yycn;
	goto yyc_n;
yy88:
	++YYCURSOR;
	{ out.prt('y'); goto yyc_l; }
/* *********************************** */
yyc_n:
	yych = *YYCURSOR;
	switch (yych) {
	case 0x00:	goto yy92;
	case '\n':	goto yy96;
	case ' ':	goto yy98;
	case 0xE2:	goto yy100;
	default:	goto yy94;
	}
yy92:
	++YYCURSOR;
	{ if (YYCURSOR != in.str + in.len + 1) out.err(); return; }
yy94:
	++YYCURSOR;
yy95:
	{ out.err(); return; }
yy96:
	yych = *++YYCURSOR;
	switch (yych) {
	case '\r':	goto yy101;
	default:	goto yy97;
	}
yy97:
	{ out.prt('\n'); goto yyc_l; }
yy98:
	++YYCURSOR;
	{ out.prt(' '); goto yyc_l; }
yy100:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
	case 0xA0:	goto yy102;
	default:	goto yy95;
	}
yy101:
	++YYCURSOR;
	goto yy97;
yy102:
	yych = *++YYCURSOR;
	switch (yych) {
	case 0x80:	goto yy98;
	case 0x81:	goto yy104;
	case 0x82:	goto yy106;
	case 0x83:	goto yy108;
	case 0x84:	goto yy110;
	case 0x86:	goto yy112;
	case 0x89:	goto yy114;
	case 0x8A:	goto yy116;
	case 0x8B:	goto yy118;
	case 0x91:	goto yy120;
	case 0x92:	goto yy122;
	case 0x93:	goto yy124;
	case 0x94:	goto yy126;
	case 0x96:	goto yy128;
	case 0x99:	goto yy130;
	case 0x9A:	goto yy132;
	case 0x9B:	goto yy134;
	case 0xA0:	goto yy136;
	case 0xA4:	goto yy138;
	case 0xA6:	goto yy140;
	case 0xB0:	goto yy142;
	case 0xB2:	goto yy144;
	case 0xBC:	goto yy146;
	default:	goto yy103;
	}
yy103:
	YYCURSOR = YYMARKER;
	goto yy95;
yy104:
	++YYCURSOR;
	{ out.prt('1'); goto yyc_n; }
yy106:
	++YYCURSOR;
	{ out.prt(','); goto yyc_l; }
yy108:
	++YYCURSOR;
	{ out.prt('2'); goto yyc_n; }
yy110:
	++YYCURSOR;
	{ out.prt('\''); goto yyc_l; }
yy112:
	++YYCURSOR;
	{ out.prt(';'); goto yyc_l; }
yy114:
	++YYCURSOR;
	{ out.prt('3'); goto yyc_n; }
yy116:
	++YYCURSOR;
	{ out.prt('9'); goto yyc_n; }
yy118:
	++YYCURSOR;
	{ out.prt('6'); goto yyc_n; }
yy120:
	++YYCURSOR;
	{ out.prt('5'); goto yyc_n; }
yy122:
	++YYCURSOR;
	{ out.prt(':'); goto yyc_l; }
yy124:
	++YYCURSOR;
	{ out.prt('8'); goto yyc_n; }
yy126:
	++YYCURSOR;
	{ out.prt('*'); goto yyc_l; }
yy128:
	++YYCURSOR;
	{ out.prt('!'); goto yyc_l; }
yy130:
	++YYCURSOR;
	{ out.prt('4'); goto yyc_n; }
yy132:
	++YYCURSOR;
	{ out.prt('0'); goto yyc_n; }
yy134:
	++YYCURSOR;
	{ out.prt('7'); goto yyc_n; }
yy136:
	++YYCURSOR;
	{ out.caps = true; goto yyc_l; }
yy138:
	++YYCURSOR;
	{ out.prt('-'); goto yyc_l; }
yy140:
	++YYCURSOR;
	{ out.prt('?'); goto yyc_l; }
yy142:
	++YYCURSOR;
	c = yycl;
	goto yyc_l;
yy144:
	++YYCURSOR;
	{ out.prt('.'); goto yyc_l; }
yy146:
	++YYCURSOR;
	goto yyc_n;
}

}

static void lex_utf16(const iutf16_t & in)
{
    const unsigned short *YYCURSOR = in.str;
    int c = yycl;
    out_t out;
    
{
	unsigned int yych;
	if (c < 1) {
		goto yyc_l;
	} else {
		goto yyc_n;
	}
/* *********************************** */
yyc_l:
	yych = *YYCURSOR;
	if (yych <= 0x2816) {
		if (yych <= 0x2807) {
			if (yych <= 0x2800) {
				if (yych <= '\n') {
					if (yych <= 0x0000) goto yy150;
					if (yych <= '\t') goto yy152;
					goto yy154;
				} else {
					if (yych == ' ') goto yy156;
					if (yych <= 0x27FF) goto yy152;
					goto yy156;
				}
			} else {
				if (yych <= 0x2803) {
					if (yych <= 0x2801) goto yy158;
					if (yych <= 0x2802) goto yy160;
					goto yy162;
				} else {
					if (yych <= 0x2804) goto yy164;
					if (yych <= 0x2805) goto yy166;
					if (yych <= 0x2806) goto yy168;
					goto yy170;
				}
			}
		} else {
			if (yych <= 0x280E) {
				if (yych <= 0x280A) {
					if (yych <= 0x2808) goto yy152;
					if (yych <= 0x2809) goto yy172;
					goto yy174;
				} else {
					if (yych <= 0x280B) goto yy176;
					if (yych <= 0x280C) goto yy152;
					if (yych <= 0x280D) goto yy178;
					goto yy180;
				}
			} else {
				if (yych <= 0x2812) {
					if (yych <= 0x280F) goto yy182;
					if (yych <= 0x2810) goto yy152;
					if (yych <= 0x2811) goto yy184;
					goto yy186;
				} else {
					if (yych <= 0x2813) goto yy188;
					if (yych <= 0x2814) goto yy190;
					if (yych <= 0x2815) goto yy192;
					goto yy194;
				}
			}
		}
	} else {
		if (yych <= 0x2826) {
			if (yych <= 0x281D) {
				if (yych <= 0x2819) {
					if (yych <= 0x2817) goto yy196;
					if (yych <= 0x2818) goto yy152;
					goto yy198;
				} else {
					if (yych <= 0x281A) goto yy200;
					if (yych <= 0x281B) goto yy202;
					if (yych <= 0x281C) goto yy152;
					goto yy204;
				}
			} else {
				if (yych <= 0x2820) {
					if (yych <= 0x281E) goto yy206;
					if (yych <= 0x281F) goto yy208;
					goto yy210;
				} else {
					if (yych <= 0x2823) goto yy152;
					if (yych <= 0x2824) goto yy212;
					if (yych <= 0x2825) goto yy214;
					goto yy216;
				}
			}
		} else {
			if (yych <= 0x2832) {
				if (yych <= 0x282D) {
					if (yych <= 0x2827) goto yy218;
					if (yych <= 0x282C) goto yy152;
					goto yy220;
				} else {
					if (yych == 0x2830) goto yy222;
					if (yych <= 0x2831) goto yy152;
					goto yy224;
				}
			} else {
				if (yych <= 0x283A) {
					if (yych == 0x2835) goto yy226;
					if (yych <= 0x2839) goto yy152;
					goto yy228;
				} else {
					if (yych <= 0x283B) goto yy152;
					if (yych <= 0x283C) goto yy230;
					if (yych <= 0x283D) goto yy232;
					goto yy152;
				}
			}
		}
	}
yy150:
	++YYCURSOR;
	{ if (YYCURSOR != in.str + in.len + 1) out.err(); return; }
yy152:
	++YYCURSOR;
	{ out.err(); return; }
yy154:
	yych = *++YYCURSOR;
	if (yych == '\r') goto yy234;
yy155:
	{ out.prt('\n'); goto yyc_l; }
yy156:
	++YYCURSOR;
	{ out.prt(' '); goto yyc_l; }
yy158:
	++YYCURSOR;
	{ out.prt('a'); goto yyc_l; }
yy160:
	++YYCURSOR;
	{ out.prt(','); goto yyc_l; }
yy162:
	++YYCURSOR;
	{ out.prt('b'); goto yyc_l; }
yy164:
	++YYCURSOR;
	{ out.prt('\''); goto yyc_l; }
yy166:
	++YYCURSOR;
	{ out.prt('k'); goto yyc_l; }
yy168:
	++YYCURSOR;
	{ out.prt(';'); goto yyc_l; }
yy170:
	++YYCURSOR;
	{ out.prt('l'); goto yyc_l; }
yy172:
	++YYCURSOR;
	{ out.prt('c'); goto yyc_l; }
yy174:
	++YYCURSOR;
	{ out.prt('i'); goto yyc_l; }
yy176:
	++YYCURSOR;
	{ out.prt('f'); goto yyc_l; }
yy178:
	++YYCURSOR;
	{ out.prt('m'); goto yyc_l; }
yy180:
	++YYCURSOR;
	{ out.prt('s'); goto yyc_l; }
yy182:
	++YYCURSOR;
	{ out.prt('p'); goto yyc_l; }
yy184:
	++YYCURSOR;
	{ out.prt('e'); goto yyc_l; }
yy186:
	++YYCURSOR;
	{ out.prt(':'); goto yyc_l; }
yy188:
	++YYCURSOR;
	{ out.prt('h'); goto yyc_l; }
yy190:
	++YYCURSOR;
	{ out.prt('*'); goto yyc_l; }
yy192:
	++YYCURSOR;
	{ out.prt('o'); goto yyc_l; }
yy194:
	++YYCURSOR;
	{ out.prt('!'); goto yyc_l; }
yy196:
	++YYCURSOR;
	{ out.prt('r'); goto yyc_l; }
yy198:
	++YYCURSOR;
	{ out.prt('d'); goto yyc_l; }
yy200:
	++YYCURSOR;
	{ out.prt('j'); goto yyc_l; }
yy202:
	++YYCURSOR;
	{ out.prt('g'); goto yyc_l; }
yy204:
	++YYCURSOR;
	{ out.prt('n'); goto yyc_l; }
yy206:
	++YYCURSOR;
	{ out.prt('t'); goto yyc_l; }
yy208:
	++YYCURSOR;
	{ out.prt('q'); goto yyc_l; }
yy210:
	++YYCURSOR;
	{ out.caps = true; goto yyc_l; }
yy212:
	++YYCURSOR;
	{ out.prt('-'); goto yyc_l; }
yy214:
	++YYCURSOR;
	{ out.prt('u'); goto yyc_l; }
yy216:
	++YYCURSOR;
	{ out.prt('?'); goto yyc_l; }
yy218:
	++YYCURSOR;
	{ out.prt('v'); goto yyc_l; }
yy220:
	++YYCURSOR;
	{ out.prt('x'); goto yyc_l; }
yy222:
	++YYCURSOR;
	goto yyc_l;
yy224:
	++YYCURSOR;
	{ out.prt('.'); goto yyc_l; }
yy226:
	++YYCURSOR;
	{ out.prt('z'); goto yyc_l; }
yy228:
	++YYCURSOR;
	{ out.prt('w'); goto yyc_l; }
yy230:
	++YYCURSOR;
	c = yycn;
	goto yyc_n;
yy232:
	++YYCURSOR;
	{ out.prt('y'); goto yyc_l; }
yy234:
	++YYCURSOR;
	goto yy155;
/* *********************************** */
yyc_n:
	yych = *YYCURSOR;
	if (yych <= 0x2812) {
		if (yych <= 0x2803) {
			if (yych <= ' ') {
				if (yych <= '\t') {
					if (yych >= 0x0001) goto yy239;
				} else {
					if (yych <= '\n') goto yy241;
					if (yych <= 0x001F) goto yy239;
					goto yy243;
				}
			} else {
				if (yych <= 0x2800) {
					if (yych <= 0x27FF) goto yy239;
					goto yy243;
				} else {
					if (yych <= 0x2801) goto yy245;
					if (yych <= 0x2802) goto yy247;
					goto yy249;
				}
			}
		} else {
			if (yych <= 0x2809) {
				if (yych <= 0x2805) {
					if (yych <= 0x2804) goto yy251;
					goto yy239;
				} else {
					if (yych <= 0x2806) goto yy253;
					if (yych <= 0x2808) goto yy239;
					goto yy255;
				}
			} else {
				if (yych <= 0x280B) {
					if (yych <= 0x280A) goto yy257;
					goto yy259;
				} else {
					if (yych <= 0x2810) goto yy239;
					if (yych <= 0x2811) goto yy261;
					goto yy263;
				}
			}
		}
	} else {
		if (yych <= 0x2820) {
			if (yych <= 0x2818) {
				if (yych <= 0x2814) {
					if (yych <= 0x2813) goto yy265;
					goto yy267;
				} else {
					if (yych == 0x2816) goto yy269;
					goto yy239;
				}
			} else {
				if (yych <= 0x281A) {
					if (yych <= 0x2819) goto yy271;
					goto yy273;
				} else {
					if (yych <= 0x281B) goto yy275;
					if (yych <= 0x281F) goto yy239;
					goto yy277;
				}
			}
		} else {
			if (yych <= 0x282F) {
				if (yych <= 0x2824) {
					if (yych <= 0x2823) goto yy239;
					goto yy279;
				} else {
					if (yych == 0x2826) goto yy281;
					goto yy239;
				}
			} else {
				if (yych <= 0x2832) {
					if (yych <= 0x2830) goto yy283;
					if (yych <= 0x2831) goto yy239;
					goto yy285;
				} else {
					if (yych == 0x283C) goto yy287;
					goto yy239;
				}
			}
		}
	}
	++YYCURSOR;
	{ if (YYCURSOR != in.str + in.len + 1) out.err(); return; }
yy239:
	++YYCURSOR;
	{ out.err(); return; }
yy241:
	yych = *++YYCURSOR;
	if (yych == '\r') goto yy289;
yy242:
	{ out.prt('\n'); goto yyc_l; }
yy243:
	++YYCURSOR;
	{ out.prt(' '); goto yyc_l; }
yy245:
	++YYCURSOR;
	{ out.prt('1'); goto yyc_n; }
yy247:
	++YYCURSOR;
	{ out.prt(','); goto yyc_l; }
yy249:
	++YYCURSOR;
	{ out.prt('2'); goto yyc_n; }
yy251:
	++YYCURSOR;
	{ out.prt('\''); goto yyc_l; }
yy253:
	++YYCURSOR;
	{ out.prt(';'); goto yyc_l; }
yy255:
	++YYCURSOR;
	{ out.prt('3'); goto yyc_n; }
yy257:
	++YYCURSOR;
	{ out.prt('9'); goto yyc_n; }
yy259:
	++YYCURSOR;
	{ out.prt('6'); goto yyc_n; }
yy261:
	++YYCURSOR;
	{ out.prt('5'); goto yyc_n; }
yy263:
	++YYCURSOR;
	{ out.prt(':'); goto yyc_l; }
yy265:
	++YYCURSOR;
	{ out.prt('8'); goto yyc_n; }
yy267:
	++YYCURSOR;
	{ out.prt('*'); goto yyc_l; }
yy269:
	++YYCURSOR;
	{ out.prt('!'); goto yyc_l; }
yy271:
	++YYCURSOR;
	{ out.prt('4'); goto yyc_n; }
yy273:
	++YYCURSOR;
	{ out.prt('0'); goto yyc_n; }
yy275:
	++YYCURSOR;
	{ out.prt('7'); goto yyc_n; }
yy277:
	++YYCURSOR;
	{ out.caps = true; goto yyc_l; }
yy279:
	++YYCURSOR;
	{ out.prt('-'); goto yyc_l; }
yy281:
	++YYCURSOR;
	{ out.prt('?'); goto yyc_l; }
yy283:
	++YYCURSOR;
	c = yycl;
	goto yyc_l;
yy285:
	++YYCURSOR;
	{ out.prt('.'); goto yyc_l; }
yy287:
	++YYCURSOR;
	goto yyc_n;
yy289:
	++YYCURSOR;
	goto yy242;
}

}

static void lex_utf32(const iutf32_t & in)
{
    const unsigned int *YYCURSOR = in.str;
    int c = yycl;
    out_t out;
    
{
	unsigned int yych;
	if (c < 1) {
		goto yyc_l;
	} else {
		goto yyc_n;
	}
/* *********************************** */
yyc_l:
	yych = *YYCURSOR;
	if (yych <= 0x00002816) {
		if (yych <= 0x00002807) {
			if (yych <= 0x00002800) {
				if (yych <= '\n') {
					if (yych <= 0x00000000) goto yy292;
					if (yych <= '\t') goto yy294;
					goto yy296;
				} else {
					if (yych == ' ') goto yy298;
					if (yych <= 0x000027FF) goto yy294;
					goto yy298;
				}
			} else {
				if (yych <= 0x00002803) {
					if (yych <= 0x00002801) goto yy300;
					if (yych <= 0x00002802) goto yy302;
					goto yy304;
				} else {
					if (yych <= 0x00002804) goto yy306;
					if (yych <= 0x00002805) goto yy308;
					if (yych <= 0x00002806) goto yy310;
					goto yy312;
				}
			}
		} else {
			if (yych <= 0x0000280E) {
				if (yych <= 0x0000280A) {
					if (yych <= 0x00002808) goto yy294;
					if (yych <= 0x00002809) goto yy314;
					goto yy316;
				} else {
					if (yych <= 0x0000280B) goto yy318;
					if (yych <= 0x0000280C) goto yy294;
					if (yych <= 0x0000280D) goto yy320;
					goto yy322;
				}
			} else {
				if (yych <= 0x00002812) {
					if (yych <= 0x0000280F) goto yy324;
					if (yych <= 0x00002810) goto yy294;
					if (yych <= 0x00002811) goto yy326;
					goto yy328;
				} else {
					if (yych <= 0x00002813) goto yy330;
					if (yych <= 0x00002814) goto yy332;
					if (yych <= 0x00002815) goto yy334;
					goto yy336;
				}
			}
		}
	} else {
		if (yych <= 0x00002826) {
			if (yych <= 0x0000281D) {
				if (yych <= 0x00002819) {
					if (yych <= 0x00002817) goto yy338;
					if (yych <= 0x00002818) goto yy294;
					goto yy340;
				} else {
					if (yych <= 0x0000281A) goto yy342;
					if (yych <= 0x0000281B) goto yy344;
					if (yych <= 0x0000281C) goto yy294;
					goto yy346;
				}
			} else {
				if (yych <= 0x00002820) {
					if (yych <= 0x0000281E) goto yy348;
					if (yych <= 0x0000281F) goto yy350;
					goto yy352;
				} else {
					if (yych <= 0x00002823) goto yy294;
					if (yych <= 0x00002824) goto yy354;
					if (yych <= 0x00002825) goto yy356;
					goto yy358;
				}
			}
		} else {
			if (yych <= 0x00002832) {
				if (yych <= 0x0000282D) {
					if (yych <= 0x00002827) goto yy360;
					if (yych <= 0x0000282C) goto yy294;
					goto yy362;
				} else {
					if (yych == 0x00002830) goto yy364;
					if (yych <= 0x00002831) goto yy294;
					goto yy366;
				}
			} else {
				if (yych <= 0x0000283A) {
					if (yych == 0x00002835) goto yy368;
					if (yych <= 0x00002839) goto yy294;
					goto yy370;
				} else {
					if (yych <= 0x0000283B) goto yy294;
					if (yych <= 0x0000283C) goto yy372;
					if (yych <= 0x0000283D) goto yy374;
					goto yy294;
				}
			}
		}
	}
yy292:
	++YYCURSOR;
	{ if (YYCURSOR != in.str + in.len + 1) out.err(); return; }
yy294:
	++YYCURSOR;
	{ out.err(); return; }
yy296:
	yych = *++YYCURSOR;
	if (yych == '\r') goto yy376;
yy297:
	{ out.prt('\n'); goto yyc_l; }
yy298:
	++YYCURSOR;
	{ out.prt(' '); goto yyc_l; }
yy300:
	++YYCURSOR;
	{ out.prt('a'); goto yyc_l; }
yy302:
	++YYCURSOR;
	{ out.prt(','); goto yyc_l; }
yy304:
	++YYCURSOR;
	{ out.prt('b'); goto yyc_l; }
yy306:
	++YYCURSOR;
	{ out.prt('\''); goto yyc_l; }
yy308:
	++YYCURSOR;
	{ out.prt('k'); goto yyc_l; }
yy310:
	++YYCURSOR;
	{ out.prt(';'); goto yyc_l; }
yy312:
	++YYCURSOR;
	{ out.prt('l'); goto yyc_l; }
yy314:
	++YYCURSOR;
	{ out.prt('c'); goto yyc_l; }
yy316:
	++YYCURSOR;
	{ out.prt('i'); goto yyc_l; }
yy318:
	++YYCURSOR;
	{ out.prt('f'); goto yyc_l; }
yy320:
	++YYCURSOR;
	{ out.prt('m'); goto yyc_l; }
yy322:
	++YYCURSOR;
	{ out.prt('s'); goto yyc_l; }
yy324:
	++YYCURSOR;
	{ out.prt('p'); goto yyc_l; }
yy326:
	++YYCURSOR;
	{ out.prt('e'); goto yyc_l; }
yy328:
	++YYCURSOR;
	{ out.prt(':'); goto yyc_l; }
yy330:
	++YYCURSOR;
	{ out.prt('h'); goto yyc_l; }
yy332:
	++YYCURSOR;
	{ out.prt('*'); goto yyc_l; }
yy334:
	++YYCURSOR;
	{ out.prt('o'); goto yyc_l; }
yy336:
	++YYCURSOR;
	{ out.prt('!'); goto yyc_l; }
yy338:
	++YYCURSOR;
	{ out.prt('r'); goto yyc_l; }
yy340:
	++YYCURSOR;
	{ out.prt('d'); goto yyc_l; }
yy342:
	++YYCURSOR;
	{ out.prt('j'); goto yyc_l; }
yy344:
	++YYCURSOR;
	{ out.prt('g'); goto yyc_l; }
yy346:
	++YYCURSOR;
	{ out.prt('n'); goto yyc_l; }
yy348:
	++YYCURSOR;
	{ out.prt('t'); goto yyc_l; }
yy350:
	++YYCURSOR;
	{ out.prt('q'); goto yyc_l; }
yy352:
	++YYCURSOR;
	{ out.caps = true; goto yyc_l; }
yy354:
	++YYCURSOR;
	{ out.prt('-'); goto yyc_l; }
yy356:
	++YYCURSOR;
	{ out.prt('u'); goto yyc_l; }
yy358:
	++YYCURSOR;
	{ out.prt('?'); goto yyc_l; }
yy360:
	++YYCURSOR;
	{ out.prt('v'); goto yyc_l; }
yy362:
	++YYCURSOR;
	{ out.prt('x'); goto yyc_l; }
yy364:
	++YYCURSOR;
	goto yyc_l;
yy366:
	++YYCURSOR;
	{ out.prt('.'); goto yyc_l; }
yy368:
	++YYCURSOR;
	{ out.prt('z'); goto yyc_l; }
yy370:
	++YYCURSOR;
	{ out.prt('w'); goto yyc_l; }
yy372:
	++YYCURSOR;
	c = yycn;
	goto yyc_n;
yy374:
	++YYCURSOR;
	{ out.prt('y'); goto yyc_l; }
yy376:
	++YYCURSOR;
	goto yy297;
/* *********************************** */
yyc_n:
	yych = *YYCURSOR;
	if (yych <= 0x00002812) {
		if (yych <= 0x00002803) {
			if (yych <= ' ') {
				if (yych <= '\t') {
					if (yych >= 0x00000001) goto yy381;
				} else {
					if (yych <= '\n') goto yy383;
					if (yych <= 0x0000001F) goto yy381;
					goto yy385;
				}
			} else {
				if (yych <= 0x00002800) {
					if (yych <= 0x000027FF) goto yy381;
					goto yy385;
				} else {
					if (yych <= 0x00002801) goto yy387;
					if (yych <= 0x00002802) goto yy389;
					goto yy391;
				}
			}
		} else {
			if (yych <= 0x00002809) {
				if (yych <= 0x00002805) {
					if (yych <= 0x00002804) goto yy393;
					goto yy381;
				} else {
					if (yych <= 0x00002806) goto yy395;
					if (yych <= 0x00002808) goto yy381;
					goto yy397;
				}
			} else {
				if (yych <= 0x0000280B) {
					if (yych <= 0x0000280A) goto yy399;
					goto yy401;
				} else {
					if (yych <= 0x00002810) goto yy381;
					if (yych <= 0x00002811) goto yy403;
					goto yy405;
				}
			}
		}
	} else {
		if (yych <= 0x00002820) {
			if (yych <= 0x00002818) {
				if (yych <= 0x00002814) {
					if (yych <= 0x00002813) goto yy407;
					goto yy409;
				} else {
					if (yych == 0x00002816) goto yy411;
					goto yy381;
				}
			} else {
				if (yych <= 0x0000281A) {
					if (yych <= 0x00002819) goto yy413;
					goto yy415;
				} else {
					if (yych <= 0x0000281B) goto yy417;
					if (yych <= 0x0000281F) goto yy381;
					goto yy419;
				}
			}
		} else {
			if (yych <= 0x0000282F) {
				if (yych <= 0x00002824) {
					if (yych <= 0x00002823) goto yy381;
					goto yy421;
				} else {
					if (yych == 0x00002826) goto yy423;
					goto yy381;
				}
			} else {
				if (yych <= 0x00002832) {
					if (yych <= 0x00002830) goto yy425;
					if (yych <= 0x00002831) goto yy381;
					goto yy427;
				} else {
					if (yych == 0x0000283C) goto yy429;
					goto yy381;
				}
			}
		}
	}
	++YYCURSOR;
	{ if (YYCURSOR != in.str + in.len + 1) out.err(); return; }
yy381:
	++YYCURSOR;
	{ out.err(); return; }
yy383:
	yych = *++YYCURSOR;
	if (yych == '\r') goto yy431;
yy384:
	{ out.prt('\n'); goto yyc_l; }
yy385:
	++YYCURSOR;
	{ out.prt(' '); goto yyc_l; }
yy387:
	++YYCURSOR;
	{ out.prt('1'); goto yyc_n; }
yy389:
	++YYCURSOR;
	{ out.prt(','); goto yyc_l; }
yy391:
	++YYCURSOR;
	{ out.prt('2'); goto yyc_n; }
yy393:
	++YYCURSOR;
	{ out.prt('\''); goto yyc_l; }
yy395:
	++YYCURSOR;
	{ out.prt(';'); goto yyc_l; }
yy397:
	++YYCURSOR;
	{ out.prt('3'); goto yyc_n; }
yy399:
	++YYCURSOR;
	{ out.prt('9'); goto yyc_n; }
yy401:
	++YYCURSOR;
	{ out.prt('6'); goto yyc_n; }
yy403:
	++YYCURSOR;
	{ out.prt('5'); goto yyc_n; }
yy405:
	++YYCURSOR;
	{ out.prt(':'); goto yyc_l; }
yy407:
	++YYCURSOR;
	{ out.prt('8'); goto yyc_n; }
yy409:
	++YYCURSOR;
	{ out.prt('*'); goto yyc_l; }
yy411:
	++YYCURSOR;
	{ out.prt('!'); goto yyc_l; }
yy413:
	++YYCURSOR;
	{ out.prt('4'); goto yyc_n; }
yy415:
	++YYCURSOR;
	{ out.prt('0'); goto yyc_n; }
yy417:
	++YYCURSOR;
	{ out.prt('7'); goto yyc_n; }
yy419:
	++YYCURSOR;
	{ out.caps = true; goto yyc_l; }
yy421:
	++YYCURSOR;
	{ out.prt('-'); goto yyc_l; }
yy423:
	++YYCURSOR;
	{ out.prt('?'); goto yyc_l; }
yy425:
	++YYCURSOR;
	c = yycl;
	goto yyc_l;
yy427:
	++YYCURSOR;
	{ out.prt('.'); goto yyc_l; }
yy429:
	++YYCURSOR;
	goto yyc_n;
yy431:
	++YYCURSOR;
	goto yy384;
}

}

static void lex_ucs2(const iucs2_t & in)
{
    const unsigned short *YYCURSOR = in.str;
    int c = yycl;
    out_t out;
    
{
	unsigned int yych;
	if (c < 1) {
		goto yyc_l;
	} else {
		goto yyc_n;
	}
/* *********************************** */
yyc_l:
	yych = *YYCURSOR;
	if (yych <= 0x2816) {
		if (yych <= 0x2807) {
			if (yych <= 0x2800) {
				if (yych <= '\n') {
					if (yych <= 0x0000) goto yy434;
					if (yych <= '\t') goto yy436;
					goto yy438;
				} else {
					if (yych == ' ') goto yy440;
					if (yych <= 0x27FF) goto yy436;
					goto yy440;
				}
			} else {
				if (yych <= 0x2803) {
					if (yych <= 0x2801) goto yy442;
					if (yych <= 0x2802) goto yy444;
					goto yy446;
				} else {
					if (yych <= 0x2804) goto yy448;
					if (yych <= 0x2805) goto yy450;
					if (yych <= 0x2806) goto yy452;
					goto yy454;
				}
			}
		} else {
			if (yych <= 0x280E) {
				if (yych <= 0x280A) {
					if (yych <= 0x2808) goto yy436;
					if (yych <= 0x2809) goto yy456;
					goto yy458;
				} else {
					if (yych <= 0x280B) goto yy460;
					if (yych <= 0x280C) goto yy436;
					if (yych <= 0x280D) goto yy462;
					goto yy464;
				}
			} else {
				if (yych <= 0x2812) {
					if (yych <= 0x280F) goto yy466;
					if (yych <= 0x2810) goto yy436;
					if (yych <= 0x2811) goto yy468;
					goto yy470;
				} else {
					if (yych <= 0x2813) goto yy472;
					if (yych <= 0x2814) goto yy474;
					if (yych <= 0x2815) goto yy476;
					goto yy478;
				}
			}
		}
	} else {
		if (yych <= 0x2826) {
			if (yych <= 0x281D) {
				if (yych <= 0x2819) {
					if (yych <= 0x2817) goto yy480;
					if (yych <= 0x2818) goto yy436;
					goto yy482;
				} else {
					if (yych <= 0x281A) goto yy484;
					if (yych <= 0x281B) goto yy486;
					if (yych <= 0x281C) goto yy436;
					goto yy488;
				}
			} else {
				if (yych <= 0x2820) {
					if (yych <= 0x281E) goto yy490;
					if (yych <= 0x281F) goto yy492;
					goto yy494;
				} else {
					if (yych <= 0x2823) goto yy436;
					if (yych <= 0x2824) goto yy496;
					if (yych <= 0x2825) goto yy498;
					goto yy500;
				}
			}
		} else {
			if (yych <= 0x2832) {
				if (yych <= 0x282D) {
					if (yych <= 0x2827) goto yy502;
					if (yych <= 0x282C) goto yy436;
					goto yy504;
				} else {
					if (yych == 0x2830) goto yy506;
					if (yych <= 0x2831) goto yy436;
					goto yy508;
				}
			} else {
				if (yych <= 0x283A) {
					if (yych == 0x2835) goto yy510;
					if (yych <= 0x2839) goto yy436;
					goto yy512;
				} else {
					if (yych <= 0x283B) goto yy436;
					if (yych <= 0x283C) goto yy514;
					if (yych <= 0x283D) goto yy516;
					goto yy436;
				}
			}
		}
	}
yy434:
	++YYCURSOR;
	{ if (YYCURSOR != in.str + in.len + 1) out.err(); return; }
yy436:
	++YYCURSOR;
	{ out.err(); return; }
yy438:
	yych = *++YYCURSOR;
	if (yych == '\r') goto yy518;
yy439:
	{ out.prt('\n'); goto yyc_l; }
yy440:
	++YYCURSOR;
	{ out.prt(' '); goto yyc_l; }
yy442:
	++YYCURSOR;
	{ out.prt('a'); goto yyc_l; }
yy444:
	++YYCURSOR;
	{ out.prt(','); goto yyc_l; }
yy446:
	++YYCURSOR;
	{ out.prt('b'); goto yyc_l; }
yy448:
	++YYCURSOR;
	{ out.prt('\''); goto yyc_l; }
yy450:
	++YYCURSOR;
	{ out.prt('k'); goto yyc_l; }
yy452:
	++YYCURSOR;
	{ out.prt(';'); goto yyc_l; }
yy454:
	++YYCURSOR;
	{ out.prt('l'); goto yyc_l; }
yy456:
	++YYCURSOR;
	{ out.prt('c'); goto yyc_l; }
yy458:
	++YYCURSOR;
	{ out.prt('i'); goto yyc_l; }
yy460:
	++YYCURSOR;
	{ out.prt('f'); goto yyc_l; }
yy462:
	++YYCURSOR;
	{ out.prt('m'); goto yyc_l; }
yy464:
	++YYCURSOR;
	{ out.prt('s'); goto yyc_l; }
yy466:
	++YYCURSOR;
	{ out.prt('p'); goto yyc_l; }
yy468:
	++YYCURSOR;
	{ out.prt('e'); goto yyc_l; }
yy470:
	++YYCURSOR;
	{ out.prt(':'); goto yyc_l; }
yy472:
	++YYCURSOR;
	{ out.prt('h'); goto yyc_l; }
yy474:
	++YYCURSOR;
	{ out.prt('*'); goto yyc_l; }
yy476:
	++YYCURSOR;
	{ out.prt('o'); goto yyc_l; }
yy478:
	++YYCURSOR;
	{ out.prt('!'); goto yyc_l; }
yy480:
	++YYCURSOR;
	{ out.prt('r'); goto yyc_l; }
yy482:
	++YYCURSOR;
	{ out.prt('d'); goto yyc_l; }
yy484:
	++YYCURSOR;
	{ out.prt('j'); goto yyc_l; }
yy486:
	++YYCURSOR;
	{ out.prt('g'); goto yyc_l; }
yy488:
	++YYCURSOR;
	{ out.prt('n'); goto yyc_l; }
yy490:
	++YYCURSOR;
	{ out.prt('t'); goto yyc_l; }
yy492:
	++YYCURSOR;
	{ out.prt('q'); goto yyc_l; }
yy494:
	++YYCURSOR;
	{ out.caps = true; goto yyc_l; }
yy496:
	++YYCURSOR;
	{ out.prt('-'); goto yyc_l; }
yy498:
	++YYCURSOR;
	{ out.prt('u'); goto yyc_l; }
yy500:
	++YYCURSOR;
	{ out.prt('?'); goto yyc_l; }
yy502:
	++YYCURSOR;
	{ out.prt('v'); goto yyc_l; }
yy504:
	++YYCURSOR;
	{ out.prt('x'); goto yyc_l; }
yy506:
	++YYCURSOR;
	goto yyc_l;
yy508:
	++YYCURSOR;
	{ out.prt('.'); goto yyc_l; }
yy510:
	++YYCURSOR;
	{ out.prt('z'); goto yyc_l; }
yy512:
	++YYCURSOR;
	{ out.prt('w'); goto yyc_l; }
yy514:
	++YYCURSOR;
	c = yycn;
	goto yyc_n;
yy516:
	++YYCURSOR;
	{ out.prt('y'); goto yyc_l; }
yy518:
	++YYCURSOR;
	goto yy439;
/* *********************************** */
yyc_n:
	yych = *YYCURSOR;
	if (yych <= 0x2812) {
		if (yych <= 0x2803) {
			if (yych <= ' ') {
				if (yych <= '\t') {
					if (yych >= 0x0001) goto yy523;
				} else {
					if (yych <= '\n') goto yy525;
					if (yych <= 0x001F) goto yy523;
					goto yy527;
				}
			} else {
				if (yych <= 0x2800) {
					if (yych <= 0x27FF) goto yy523;
					goto yy527;
				} else {
					if (yych <= 0x2801) goto yy529;
					if (yych <= 0x2802) goto yy531;
					goto yy533;
				}
			}
		} else {
			if (yych <= 0x2809) {
				if (yych <= 0x2805) {
					if (yych <= 0x2804) goto yy535;
					goto yy523;
				} else {
					if (yych <= 0x2806) goto yy537;
					if (yych <= 0x2808) goto yy523;
					goto yy539;
				}
			} else {
				if (yych <= 0x280B) {
					if (yych <= 0x280A) goto yy541;
					goto yy543;
				} else {
					if (yych <= 0x2810) goto yy523;
					if (yych <= 0x2811) goto yy545;
					goto yy547;
				}
			}
		}
	} else {
		if (yych <= 0x2820) {
			if (yych <= 0x2818) {
				if (yych <= 0x2814) {
					if (yych <= 0x2813) goto yy549;
					goto yy551;
				} else {
					if (yych == 0x2816) goto yy553;
					goto yy523;
				}
			} else {
				if (yych <= 0x281A) {
					if (yych <= 0x2819) goto yy555;
					goto yy557;
				} else {
					if (yych <= 0x281B) goto yy559;
					if (yych <= 0x281F) goto yy523;
					goto yy561;
				}
			}
		} else {
			if (yych <= 0x282F) {
				if (yych <= 0x2824) {
					if (yych <= 0x2823) goto yy523;
					goto yy563;
				} else {
					if (yych == 0x2826) goto yy565;
					goto yy523;
				}
			} else {
				if (yych <= 0x2832) {
					if (yych <= 0x2830) goto yy567;
					if (yych <= 0x2831) goto yy523;
					goto yy569;
				} else {
					if (yych == 0x283C) goto yy571;
					goto yy523;
				}
			}
		}
	}
	++YYCURSOR;
	{ if (YYCURSOR != in.str + in.len + 1) out.err(); return; }
yy523:
	++YYCURSOR;
	{ out.err(); return; }
yy525:
	yych = *++YYCURSOR;
	if (yych == '\r') goto yy573;
yy526:
	{ out.prt('\n'); goto yyc_l; }
yy527:
	++YYCURSOR;
	{ out.prt(' '); goto yyc_l; }
yy529:
	++YYCURSOR;
	{ out.prt('1'); goto yyc_n; }
yy531:
	++YYCURSOR;
	{ out.prt(','); goto yyc_l; }
yy533:
	++YYCURSOR;
	{ out.prt('2'); goto yyc_n; }
yy535:
	++YYCURSOR;
	{ out.prt('\''); goto yyc_l; }
yy537:
	++YYCURSOR;
	{ out.prt(';'); goto yyc_l; }
yy539:
	++YYCURSOR;
	{ out.prt('3'); goto yyc_n; }
yy541:
	++YYCURSOR;
	{ out.prt('9'); goto yyc_n; }
yy543:
	++YYCURSOR;
	{ out.prt('6'); goto yyc_n; }
yy545:
	++YYCURSOR;
	{ out.prt('5'); goto yyc_n; }
yy547:
	++YYCURSOR;
	{ out.prt(':'); goto yyc_l; }
yy549:
	++YYCURSOR;
	{ out.prt('8'); goto yyc_n; }
yy551:
	++YYCURSOR;
	{ out.prt('*'); goto yyc_l; }
yy553:
	++YYCURSOR;
	{ out.prt('!'); goto yyc_l; }
yy555:
	++YYCURSOR;
	{ out.prt('4'); goto yyc_n; }
yy557:
	++YYCURSOR;
	{ out.prt('0'); goto yyc_n; }
yy559:
	++YYCURSOR;
	{ out.prt('7'); goto yyc_n; }
yy561:
	++YYCURSOR;
	{ out.caps = true; goto yyc_l; }
yy563:
	++YYCURSOR;
	{ out.prt('-'); goto yyc_l; }
yy565:
	++YYCURSOR;
	{ out.prt('?'); goto yyc_l; }
yy567:
	++YYCURSOR;
	c = yycl;
	goto yyc_l;
yy569:
	++YYCURSOR;
	{ out.prt('.'); goto yyc_l; }
yy571:
	++YYCURSOR;
	goto yyc_n;
yy573:
	++YYCURSOR;
	goto yy526;
}

}

int main()
{
    FILE *f;

    assert(f = fopen("braille.utf8.txt", "rb"));
    fprintf(stderr, "utf8:\n");
    iutf8_t in8(f);
    lex_utf8(in8);
    fclose(f);

    assert(f = fopen("braille.utf16.txt", "rb"));
    fprintf(stderr, "utf16:\n");
    iutf16_t in16(f);
    lex_utf16(in16);
    fclose(f);

    assert(f = fopen("braille.utf32.txt", "rb"));
    fprintf(stderr, "utf32:\n");
    iutf32_t in32(f);
    lex_utf32(in32);
    fclose(f);

    assert(f = fopen("braille.ucs2.txt", "rb"));
    fprintf(stderr, "ucs2:\n");
    iucs2_t in2(f);
    lex_ucs2(in2);
    fclose(f);

    return 0;
}

Youez - 2016 - github.com/yon3zu
LinuXploit