Back to home page

EIC code displayed by LXR

 
 

    


Warning, /include/clang/AST/CommentHTMLNamedCharacterReferences.inc is written in an unsupported language. File is not indexed.

0001 /*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
0002 |*                                                                            *|
0003 |* HTML named character reference to UTF-8 translation                        *|
0004 |*                                                                            *|
0005 |* Automatically generated file, do not edit!                                 *|
0006 |* From: CommentHTMLNamedCharacterReferences.td                               *|
0007 |*                                                                            *|
0008 \*===----------------------------------------------------------------------===*/
0009 
0010 StringRef translateHTMLNamedCharacterReferenceToUTF8(
0011                                              StringRef Name) {
0012   switch (Name.size()) {
0013   default: break;
0014   case 2:        // 15 strings to match.
0015     switch (Name[0]) {
0016     default: break;
0017     case 'G':    // 2 strings to match.
0018       switch (Name[1]) {
0019       default: break;
0020       case 'T':  // 1 string to match.
0021         return "\x3e";   // "GT"
0022       case 't':  // 1 string to match.
0023         return "\x3e";   // "Gt"
0024       }
0025       break;
0026     case 'L':    // 2 strings to match.
0027       switch (Name[1]) {
0028       default: break;
0029       case 'T':  // 1 string to match.
0030         return "\x3c";   // "LT"
0031       case 't':  // 1 string to match.
0032         return "\x3c";   // "Lt"
0033       }
0034       break;
0035     case 'P':    // 1 string to match.
0036       if (Name[1] != 'i')
0037         break;
0038       return "\xce\xa0";         // "Pi"
0039     case 'X':    // 1 string to match.
0040       if (Name[1] != 'i')
0041         break;
0042       return "\xce\x9e";         // "Xi"
0043     case 'g':    // 2 strings to match.
0044       switch (Name[1]) {
0045       default: break;
0046       case 'e':  // 1 string to match.
0047         return "\xe2\x89\xa5";   // "ge"
0048       case 't':  // 1 string to match.
0049         return "\x3e";   // "gt"
0050       }
0051       break;
0052     case 'l':    // 2 strings to match.
0053       switch (Name[1]) {
0054       default: break;
0055       case 'e':  // 1 string to match.
0056         return "\xe2\x89\xa4";   // "le"
0057       case 't':  // 1 string to match.
0058         return "\x3c";   // "lt"
0059       }
0060       break;
0061     case 'm':    // 1 string to match.
0062       if (Name[1] != 'u')
0063         break;
0064       return "\xce\xbc";         // "mu"
0065     case 'n':    // 2 strings to match.
0066       switch (Name[1]) {
0067       default: break;
0068       case 'e':  // 1 string to match.
0069         return "\xe2\x89\xa0";   // "ne"
0070       case 'u':  // 1 string to match.
0071         return "\xce\xbd";       // "nu"
0072       }
0073       break;
0074     case 'p':    // 1 string to match.
0075       if (Name[1] != 'i')
0076         break;
0077       return "\xcf\x80";         // "pi"
0078     case 'x':    // 1 string to match.
0079       if (Name[1] != 'i')
0080         break;
0081       return "\xce\xbe";         // "xi"
0082     }
0083     break;
0084   case 3:        // 16 strings to match.
0085     switch (Name[0]) {
0086     default: break;
0087     case 'A':    // 1 string to match.
0088       if (memcmp(Name.data()+1, "MP", 2) != 0)
0089         break;
0090       return "\x26";     // "AMP"
0091     case 'P':    // 2 strings to match.
0092       switch (Name[1]) {
0093       default: break;
0094       case 'h':  // 1 string to match.
0095         if (Name[2] != 'i')
0096           break;
0097         return "\xce\xa6";       // "Phi"
0098       case 's':  // 1 string to match.
0099         if (Name[2] != 'i')
0100           break;
0101         return "\xce\xa8";       // "Psi"
0102       }
0103       break;
0104     case 'R':    // 1 string to match.
0105       if (memcmp(Name.data()+1, "EG", 2) != 0)
0106         break;
0107       return "\xc2\xae";         // "REG"
0108     case 'a':    // 1 string to match.
0109       if (memcmp(Name.data()+1, "mp", 2) != 0)
0110         break;
0111       return "\x26";     // "amp"
0112     case 'c':    // 1 string to match.
0113       if (memcmp(Name.data()+1, "hi", 2) != 0)
0114         break;
0115       return "\xcf\x87";         // "chi"
0116     case 'd':    // 1 string to match.
0117       if (memcmp(Name.data()+1, "eg", 2) != 0)
0118         break;
0119       return "\xc2\xb0";         // "deg"
0120     case 'e':    // 1 string to match.
0121       if (memcmp(Name.data()+1, "ta", 2) != 0)
0122         break;
0123       return "\xce\xb7";         // "eta"
0124     case 'i':    // 1 string to match.
0125       if (memcmp(Name.data()+1, "nt", 2) != 0)
0126         break;
0127       return "\xe2\x88\xab";     // "int"
0128     case 'p':    // 2 strings to match.
0129       switch (Name[1]) {
0130       default: break;
0131       case 'h':  // 1 string to match.
0132         if (Name[2] != 'i')
0133           break;
0134         return "\xcf\x86";       // "phi"
0135       case 's':  // 1 string to match.
0136         if (Name[2] != 'i')
0137           break;
0138         return "\xcf\x88";       // "psi"
0139       }
0140       break;
0141     case 'r':    // 2 strings to match.
0142       switch (Name[1]) {
0143       default: break;
0144       case 'e':  // 1 string to match.
0145         if (Name[2] != 'g')
0146           break;
0147         return "\xc2\xae";       // "reg"
0148       case 'h':  // 1 string to match.
0149         if (Name[2] != 'o')
0150           break;
0151         return "\xcf\x81";       // "rho"
0152       }
0153       break;
0154     case 's':    // 2 strings to match.
0155       switch (Name[1]) {
0156       default: break;
0157       case 'i':  // 1 string to match.
0158         if (Name[2] != 'm')
0159           break;
0160         return "\xe2\x88\xbc";   // "sim"
0161       case 'u':  // 1 string to match.
0162         if (Name[2] != 'm')
0163           break;
0164         return "\xe2\x88\x91";   // "sum"
0165       }
0166       break;
0167     case 't':    // 1 string to match.
0168       if (memcmp(Name.data()+1, "au", 2) != 0)
0169         break;
0170       return "\xcf\x84";         // "tau"
0171     }
0172     break;
0173   case 4:        // 30 strings to match.
0174     switch (Name[0]) {
0175     default: break;
0176     case 'A':    // 1 string to match.
0177       if (memcmp(Name.data()+1, "uml", 3) != 0)
0178         break;
0179       return "\xc3\x84";         // "Auml"
0180     case 'C':    // 1 string to match.
0181       if (memcmp(Name.data()+1, "OPY", 3) != 0)
0182         break;
0183       return "\xc2\xa9";         // "COPY"
0184     case 'E':    // 1 string to match.
0185       if (memcmp(Name.data()+1, "uml", 3) != 0)
0186         break;
0187       return "\xc3\x8b";         // "Euml"
0188     case 'I':    // 1 string to match.
0189       if (memcmp(Name.data()+1, "uml", 3) != 0)
0190         break;
0191       return "\xc3\x8f";         // "Iuml"
0192     case 'O':    // 1 string to match.
0193       if (memcmp(Name.data()+1, "uml", 3) != 0)
0194         break;
0195       return "\xc3\x96";         // "Ouml"
0196     case 'Q':    // 1 string to match.
0197       if (memcmp(Name.data()+1, "UOT", 3) != 0)
0198         break;
0199       return "\x22";     // "QUOT"
0200     case 'U':    // 1 string to match.
0201       if (memcmp(Name.data()+1, "uml", 3) != 0)
0202         break;
0203       return "\xc3\x9c";         // "Uuml"
0204     case 'Y':    // 1 string to match.
0205       if (memcmp(Name.data()+1, "uml", 3) != 0)
0206         break;
0207       return "\xc5\xb8";         // "Yuml"
0208     case 'a':    // 2 strings to match.
0209       switch (Name[1]) {
0210       default: break;
0211       case 'p':  // 1 string to match.
0212         if (memcmp(Name.data()+2, "os", 2) != 0)
0213           break;
0214         return "\x27";   // "apos"
0215       case 'u':  // 1 string to match.
0216         if (memcmp(Name.data()+2, "ml", 2) != 0)
0217           break;
0218         return "\xc3\xa4";       // "auml"
0219       }
0220       break;
0221     case 'b':    // 1 string to match.
0222       if (memcmp(Name.data()+1, "eta", 3) != 0)
0223         break;
0224       return "\xce\xb2";         // "beta"
0225     case 'c':    // 1 string to match.
0226       if (memcmp(Name.data()+1, "opy", 3) != 0)
0227         break;
0228       return "\xc2\xa9";         // "copy"
0229     case 'e':    // 1 string to match.
0230       if (memcmp(Name.data()+1, "uml", 3) != 0)
0231         break;
0232       return "\xc3\xab";         // "euml"
0233     case 'i':    // 3 strings to match.
0234       switch (Name[1]) {
0235       default: break;
0236       case 'o':  // 1 string to match.
0237         if (memcmp(Name.data()+2, "ta", 2) != 0)
0238           break;
0239         return "\xce\xb9";       // "iota"
0240       case 's':  // 1 string to match.
0241         if (memcmp(Name.data()+2, "in", 2) != 0)
0242           break;
0243         return "\xe2\x88\x88";   // "isin"
0244       case 'u':  // 1 string to match.
0245         if (memcmp(Name.data()+2, "ml", 2) != 0)
0246           break;
0247         return "\xc3\xaf";       // "iuml"
0248       }
0249       break;
0250     case 'l':    // 1 string to match.
0251       if (memcmp(Name.data()+1, "arr", 3) != 0)
0252         break;
0253       return "\xe2\x86\x90";     // "larr"
0254     case 'n':    // 1 string to match.
0255       if (memcmp(Name.data()+1, "bsp", 3) != 0)
0256         break;
0257       return "\xc2\xa0";         // "nbsp"
0258     case 'o':    // 1 string to match.
0259       if (memcmp(Name.data()+1, "uml", 3) != 0)
0260         break;
0261       return "\xc3\xb6";         // "ouml"
0262     case 'p':    // 4 strings to match.
0263       switch (Name[1]) {
0264       default: break;
0265       case 'a':  // 1 string to match.
0266         if (memcmp(Name.data()+2, "rt", 2) != 0)
0267           break;
0268         return "\xe2\x88\x82";   // "part"
0269       case 'e':  // 1 string to match.
0270         if (memcmp(Name.data()+2, "rp", 2) != 0)
0271           break;
0272         return "\xe2\x8a\xa5";   // "perp"
0273       case 'r':  // 2 strings to match.
0274         if (Name[2] != 'o')
0275           break;
0276         switch (Name[3]) {
0277         default: break;
0278         case 'd':        // 1 string to match.
0279           return "\xe2\x88\x8f";         // "prod"
0280         case 'p':        // 1 string to match.
0281           return "\xe2\x88\x9d";         // "prop"
0282         }
0283         break;
0284       }
0285       break;
0286     case 'q':    // 1 string to match.
0287       if (memcmp(Name.data()+1, "uot", 3) != 0)
0288         break;
0289       return "\x22";     // "quot"
0290     case 'r':    // 1 string to match.
0291       if (memcmp(Name.data()+1, "arr", 3) != 0)
0292         break;
0293       return "\xe2\x86\x92";     // "rarr"
0294     case 's':    // 2 strings to match.
0295       switch (Name[1]) {
0296       default: break;
0297       case 'd':  // 1 string to match.
0298         if (memcmp(Name.data()+2, "ot", 2) != 0)
0299           break;
0300         return "\xe2\x8b\x85";   // "sdot"
0301       case 'e':  // 1 string to match.
0302         if (memcmp(Name.data()+2, "ct", 2) != 0)
0303           break;
0304         return "\xc2\xa7";       // "sect"
0305       }
0306       break;
0307     case 'u':    // 1 string to match.
0308       if (memcmp(Name.data()+1, "uml", 3) != 0)
0309         break;
0310       return "\xc3\xbc";         // "uuml"
0311     case 'y':    // 1 string to match.
0312       if (memcmp(Name.data()+1, "uml", 3) != 0)
0313         break;
0314       return "\xc3\xbf";         // "yuml"
0315     case 'z':    // 1 string to match.
0316       if (memcmp(Name.data()+1, "eta", 3) != 0)
0317         break;
0318       return "\xce\xb6";         // "zeta"
0319     }
0320     break;
0321   case 5:        // 48 strings to match.
0322     switch (Name[0]) {
0323     default: break;
0324     case 'A':    // 2 strings to match.
0325       switch (Name[1]) {
0326       default: break;
0327       case 'c':  // 1 string to match.
0328         if (memcmp(Name.data()+2, "irc", 3) != 0)
0329           break;
0330         return "\xc3\x82";       // "Acirc"
0331       case 'r':  // 1 string to match.
0332         if (memcmp(Name.data()+2, "ing", 3) != 0)
0333           break;
0334         return "\xc3\x85";       // "Aring"
0335       }
0336       break;
0337     case 'D':    // 1 string to match.
0338       if (memcmp(Name.data()+1, "elta", 4) != 0)
0339         break;
0340       return "\xce\x94";         // "Delta"
0341     case 'E':    // 1 string to match.
0342       if (memcmp(Name.data()+1, "circ", 4) != 0)
0343         break;
0344       return "\xc3\x8a";         // "Ecirc"
0345     case 'G':    // 1 string to match.
0346       if (memcmp(Name.data()+1, "amma", 4) != 0)
0347         break;
0348       return "\xce\x93";         // "Gamma"
0349     case 'I':    // 1 string to match.
0350       if (memcmp(Name.data()+1, "circ", 4) != 0)
0351         break;
0352       return "\xc3\x8e";         // "Icirc"
0353     case 'O':    // 2 strings to match.
0354       switch (Name[1]) {
0355       default: break;
0356       case 'c':  // 1 string to match.
0357         if (memcmp(Name.data()+2, "irc", 3) != 0)
0358           break;
0359         return "\xc3\x94";       // "Ocirc"
0360       case 'm':  // 1 string to match.
0361         if (memcmp(Name.data()+2, "ega", 3) != 0)
0362           break;
0363         return "\xce\xa9";       // "Omega"
0364       }
0365       break;
0366     case 'P':    // 1 string to match.
0367       if (memcmp(Name.data()+1, "rime", 4) != 0)
0368         break;
0369       return "\xe2\x80\xb3";     // "Prime"
0370     case 'S':    // 1 string to match.
0371       if (memcmp(Name.data()+1, "igma", 4) != 0)
0372         break;
0373       return "\xce\xa3";         // "Sigma"
0374     case 'T':    // 2 strings to match.
0375       switch (Name[1]) {
0376       default: break;
0377       case 'R':  // 1 string to match.
0378         if (memcmp(Name.data()+2, "ADE", 3) != 0)
0379           break;
0380         return "\xe2\x84\xa2";   // "TRADE"
0381       case 'h':  // 1 string to match.
0382         if (memcmp(Name.data()+2, "eta", 3) != 0)
0383           break;
0384         return "\xce\x98";       // "Theta"
0385       }
0386       break;
0387     case 'U':    // 1 string to match.
0388       if (memcmp(Name.data()+1, "circ", 4) != 0)
0389         break;
0390       return "\xc3\x9b";         // "Ucirc"
0391     case 'Y':    // 1 string to match.
0392       if (memcmp(Name.data()+1, "circ", 4) != 0)
0393         break;
0394       return "\xc5\xb6";         // "Ycirc"
0395     case 'a':    // 4 strings to match.
0396       switch (Name[1]) {
0397       default: break;
0398       case 'c':  // 1 string to match.
0399         if (memcmp(Name.data()+2, "irc", 3) != 0)
0400           break;
0401         return "\xc3\xa2";       // "acirc"
0402       case 'l':  // 1 string to match.
0403         if (memcmp(Name.data()+2, "pha", 3) != 0)
0404           break;
0405         return "\xce\xb1";       // "alpha"
0406       case 'r':  // 1 string to match.
0407         if (memcmp(Name.data()+2, "ing", 3) != 0)
0408           break;
0409         return "\xc3\xa5";       // "aring"
0410       case 's':  // 1 string to match.
0411         if (memcmp(Name.data()+2, "ymp", 3) != 0)
0412           break;
0413         return "\xe2\x89\x88";   // "asymp"
0414       }
0415       break;
0416     case 'd':    // 1 string to match.
0417       if (memcmp(Name.data()+1, "elta", 4) != 0)
0418         break;
0419       return "\xce\xb4";         // "delta"
0420     case 'e':    // 3 strings to match.
0421       switch (Name[1]) {
0422       default: break;
0423       case 'c':  // 1 string to match.
0424         if (memcmp(Name.data()+2, "irc", 3) != 0)
0425           break;
0426         return "\xc3\xaa";       // "ecirc"
0427       case 'm':  // 1 string to match.
0428         if (memcmp(Name.data()+2, "pty", 3) != 0)
0429           break;
0430         return "\xe2\x88\x85";   // "empty"
0431       case 'q':  // 1 string to match.
0432         if (memcmp(Name.data()+2, "uiv", 3) != 0)
0433           break;
0434         return "\xe2\x89\xa1";   // "equiv"
0435       }
0436       break;
0437     case 'g':    // 1 string to match.
0438       if (memcmp(Name.data()+1, "amma", 4) != 0)
0439         break;
0440       return "\xce\xb3";         // "gamma"
0441     case 'i':    // 2 strings to match.
0442       switch (Name[1]) {
0443       default: break;
0444       case 'c':  // 1 string to match.
0445         if (memcmp(Name.data()+2, "irc", 3) != 0)
0446           break;
0447         return "\xc3\xae";       // "icirc"
0448       case 'n':  // 1 string to match.
0449         if (memcmp(Name.data()+2, "fin", 3) != 0)
0450           break;
0451         return "\xe2\x88\x9e";   // "infin"
0452       }
0453       break;
0454     case 'k':    // 1 string to match.
0455       if (memcmp(Name.data()+1, "appa", 4) != 0)
0456         break;
0457       return "\xce\xba";         // "kappa"
0458     case 'l':    // 3 strings to match.
0459       switch (Name[1]) {
0460       default: break;
0461       case 'c':  // 1 string to match.
0462         if (memcmp(Name.data()+2, "eil", 3) != 0)
0463           break;
0464         return "\xe2\x8c\x88";   // "lceil"
0465       case 'd':  // 1 string to match.
0466         if (memcmp(Name.data()+2, "quo", 3) != 0)
0467           break;
0468         return "\xe2\x80\x9c";   // "ldquo"
0469       case 's':  // 1 string to match.
0470         if (memcmp(Name.data()+2, "quo", 3) != 0)
0471           break;
0472         return "\xe2\x80\x98";   // "lsquo"
0473       }
0474       break;
0475     case 'm':    // 2 strings to match.
0476       switch (Name[1]) {
0477       default: break;
0478       case 'd':  // 1 string to match.
0479         if (memcmp(Name.data()+2, "ash", 3) != 0)
0480           break;
0481         return "\xe2\x80\x94";   // "mdash"
0482       case 'i':  // 1 string to match.
0483         if (memcmp(Name.data()+2, "nus", 3) != 0)
0484           break;
0485         return "\xe2\x88\x92";   // "minus"
0486       }
0487       break;
0488     case 'n':    // 3 strings to match.
0489       switch (Name[1]) {
0490       default: break;
0491       case 'a':  // 1 string to match.
0492         if (memcmp(Name.data()+2, "bla", 3) != 0)
0493           break;
0494         return "\xe2\x88\x87";   // "nabla"
0495       case 'd':  // 1 string to match.
0496         if (memcmp(Name.data()+2, "ash", 3) != 0)
0497           break;
0498         return "\xe2\x80\x93";   // "ndash"
0499       case 'o':  // 1 string to match.
0500         if (memcmp(Name.data()+2, "tin", 3) != 0)
0501           break;
0502         return "\xe2\x88\x89";   // "notin"
0503       }
0504       break;
0505     case 'o':    // 2 strings to match.
0506       switch (Name[1]) {
0507       default: break;
0508       case 'c':  // 1 string to match.
0509         if (memcmp(Name.data()+2, "irc", 3) != 0)
0510           break;
0511         return "\xc3\xb4";       // "ocirc"
0512       case 'm':  // 1 string to match.
0513         if (memcmp(Name.data()+2, "ega", 3) != 0)
0514           break;
0515         return "\xcf\x89";       // "omega"
0516       }
0517       break;
0518     case 'p':    // 1 string to match.
0519       if (memcmp(Name.data()+1, "rime", 4) != 0)
0520         break;
0521       return "\xe2\x80\xb2";     // "prime"
0522     case 'r':    // 4 strings to match.
0523       switch (Name[1]) {
0524       default: break;
0525       case 'a':  // 1 string to match.
0526         if (memcmp(Name.data()+2, "dic", 3) != 0)
0527           break;
0528         return "\xe2\x88\x9a";   // "radic"
0529       case 'c':  // 1 string to match.
0530         if (memcmp(Name.data()+2, "eil", 3) != 0)
0531           break;
0532         return "\xe2\x8c\x89";   // "rceil"
0533       case 'd':  // 1 string to match.
0534         if (memcmp(Name.data()+2, "quo", 3) != 0)
0535           break;
0536         return "\xe2\x80\x9d";   // "rdquo"
0537       case 's':  // 1 string to match.
0538         if (memcmp(Name.data()+2, "quo", 3) != 0)
0539           break;
0540         return "\xe2\x80\x99";   // "rsquo"
0541       }
0542       break;
0543     case 's':    // 2 strings to match.
0544       switch (Name[1]) {
0545       default: break;
0546       case 'i':  // 1 string to match.
0547         if (memcmp(Name.data()+2, "gma", 3) != 0)
0548           break;
0549         return "\xcf\x83";       // "sigma"
0550       case 'z':  // 1 string to match.
0551         if (memcmp(Name.data()+2, "lig", 3) != 0)
0552           break;
0553         return "\xc3\x9f";       // "szlig"
0554       }
0555       break;
0556     case 't':    // 3 strings to match.
0557       switch (Name[1]) {
0558       default: break;
0559       case 'h':  // 1 string to match.
0560         if (memcmp(Name.data()+2, "eta", 3) != 0)
0561           break;
0562         return "\xce\xb8";       // "theta"
0563       case 'i':  // 1 string to match.
0564         if (memcmp(Name.data()+2, "mes", 3) != 0)
0565           break;
0566         return "\xc3\x97";       // "times"
0567       case 'r':  // 1 string to match.
0568         if (memcmp(Name.data()+2, "ade", 3) != 0)
0569           break;
0570         return "\xe2\x84\xa2";   // "trade"
0571       }
0572       break;
0573     case 'u':    // 1 string to match.
0574       if (memcmp(Name.data()+1, "circ", 4) != 0)
0575         break;
0576       return "\xc3\xbb";         // "ucirc"
0577     case 'y':    // 1 string to match.
0578       if (memcmp(Name.data()+1, "circ", 4) != 0)
0579         break;
0580       return "\xc5\xb7";         // "ycirc"
0581     }
0582     break;
0583   case 6:        // 37 strings to match.
0584     switch (Name[0]) {
0585     default: break;
0586     case 'A':    // 3 strings to match.
0587       switch (Name[1]) {
0588       default: break;
0589       case 'a':  // 1 string to match.
0590         if (memcmp(Name.data()+2, "cute", 4) != 0)
0591           break;
0592         return "\xc3\x81";       // "Aacute"
0593       case 'g':  // 1 string to match.
0594         if (memcmp(Name.data()+2, "rave", 4) != 0)
0595           break;
0596         return "\xc3\x80";       // "Agrave"
0597       case 't':  // 1 string to match.
0598         if (memcmp(Name.data()+2, "ilde", 4) != 0)
0599           break;
0600         return "\xc3\x83";       // "Atilde"
0601       }
0602       break;
0603     case 'C':    // 1 string to match.
0604       if (memcmp(Name.data()+1, "cedil", 5) != 0)
0605         break;
0606       return "\xc3\x87";         // "Ccedil"
0607     case 'E':    // 2 strings to match.
0608       switch (Name[1]) {
0609       default: break;
0610       case 'a':  // 1 string to match.
0611         if (memcmp(Name.data()+2, "cute", 4) != 0)
0612           break;
0613         return "\xc3\x89";       // "Eacute"
0614       case 'g':  // 1 string to match.
0615         if (memcmp(Name.data()+2, "rave", 4) != 0)
0616           break;
0617         return "\xc3\x88";       // "Egrave"
0618       }
0619       break;
0620     case 'I':    // 2 strings to match.
0621       switch (Name[1]) {
0622       default: break;
0623       case 'a':  // 1 string to match.
0624         if (memcmp(Name.data()+2, "cute", 4) != 0)
0625           break;
0626         return "\xc3\x8d";       // "Iacute"
0627       case 'g':  // 1 string to match.
0628         if (memcmp(Name.data()+2, "rave", 4) != 0)
0629           break;
0630         return "\xc3\x8c";       // "Igrave"
0631       }
0632       break;
0633     case 'L':    // 1 string to match.
0634       if (memcmp(Name.data()+1, "ambda", 5) != 0)
0635         break;
0636       return "\xce\x9b";         // "Lambda"
0637     case 'N':    // 1 string to match.
0638       if (memcmp(Name.data()+1, "tilde", 5) != 0)
0639         break;
0640       return "\xc3\x91";         // "Ntilde"
0641     case 'O':    // 3 strings to match.
0642       switch (Name[1]) {
0643       default: break;
0644       case 'a':  // 1 string to match.
0645         if (memcmp(Name.data()+2, "cute", 4) != 0)
0646           break;
0647         return "\xc3\x93";       // "Oacute"
0648       case 'g':  // 1 string to match.
0649         if (memcmp(Name.data()+2, "rave", 4) != 0)
0650           break;
0651         return "\xc3\x92";       // "Ograve"
0652       case 't':  // 1 string to match.
0653         if (memcmp(Name.data()+2, "ilde", 4) != 0)
0654           break;
0655         return "\xc3\x95";       // "Otilde"
0656       }
0657       break;
0658     case 'U':    // 2 strings to match.
0659       switch (Name[1]) {
0660       default: break;
0661       case 'a':  // 1 string to match.
0662         if (memcmp(Name.data()+2, "cute", 4) != 0)
0663           break;
0664         return "\xc3\x9a";       // "Uacute"
0665       case 'g':  // 1 string to match.
0666         if (memcmp(Name.data()+2, "rave", 4) != 0)
0667           break;
0668         return "\xc3\x99";       // "Ugrave"
0669       }
0670       break;
0671     case 'Y':    // 1 string to match.
0672       if (memcmp(Name.data()+1, "acute", 5) != 0)
0673         break;
0674       return "\xc3\x9d";         // "Yacute"
0675     case 'a':    // 3 strings to match.
0676       switch (Name[1]) {
0677       default: break;
0678       case 'a':  // 1 string to match.
0679         if (memcmp(Name.data()+2, "cute", 4) != 0)
0680           break;
0681         return "\xc3\xa1";       // "aacute"
0682       case 'g':  // 1 string to match.
0683         if (memcmp(Name.data()+2, "rave", 4) != 0)
0684           break;
0685         return "\xc3\xa0";       // "agrave"
0686       case 't':  // 1 string to match.
0687         if (memcmp(Name.data()+2, "ilde", 4) != 0)
0688           break;
0689         return "\xc3\xa3";       // "atilde"
0690       }
0691       break;
0692     case 'c':    // 1 string to match.
0693       if (memcmp(Name.data()+1, "cedil", 5) != 0)
0694         break;
0695       return "\xc3\xa7";         // "ccedil"
0696     case 'e':    // 2 strings to match.
0697       switch (Name[1]) {
0698       default: break;
0699       case 'a':  // 1 string to match.
0700         if (memcmp(Name.data()+2, "cute", 4) != 0)
0701           break;
0702         return "\xc3\xa9";       // "eacute"
0703       case 'g':  // 1 string to match.
0704         if (memcmp(Name.data()+2, "rave", 4) != 0)
0705           break;
0706         return "\xc3\xa8";       // "egrave"
0707       }
0708       break;
0709     case 'i':    // 2 strings to match.
0710       switch (Name[1]) {
0711       default: break;
0712       case 'a':  // 1 string to match.
0713         if (memcmp(Name.data()+2, "cute", 4) != 0)
0714           break;
0715         return "\xc3\xad";       // "iacute"
0716       case 'g':  // 1 string to match.
0717         if (memcmp(Name.data()+2, "rave", 4) != 0)
0718           break;
0719         return "\xc3\xac";       // "igrave"
0720       }
0721       break;
0722     case 'l':    // 2 strings to match.
0723       switch (Name[1]) {
0724       default: break;
0725       case 'a':  // 1 string to match.
0726         if (memcmp(Name.data()+2, "mbda", 4) != 0)
0727           break;
0728         return "\xce\xbb";       // "lambda"
0729       case 'f':  // 1 string to match.
0730         if (memcmp(Name.data()+2, "loor", 4) != 0)
0731           break;
0732         return "\xe2\x8c\x8a";   // "lfloor"
0733       }
0734       break;
0735     case 'n':    // 1 string to match.
0736       if (memcmp(Name.data()+1, "tilde", 5) != 0)
0737         break;
0738       return "\xc3\xb1";         // "ntilde"
0739     case 'o':    // 3 strings to match.
0740       switch (Name[1]) {
0741       default: break;
0742       case 'a':  // 1 string to match.
0743         if (memcmp(Name.data()+2, "cute", 4) != 0)
0744           break;
0745         return "\xc3\xb3";       // "oacute"
0746       case 'g':  // 1 string to match.
0747         if (memcmp(Name.data()+2, "rave", 4) != 0)
0748           break;
0749         return "\xc3\xb2";       // "ograve"
0750       case 't':  // 1 string to match.
0751         if (memcmp(Name.data()+2, "ilde", 4) != 0)
0752           break;
0753         return "\xc3\xb5";       // "otilde"
0754       }
0755       break;
0756     case 'p':    // 1 string to match.
0757       if (memcmp(Name.data()+1, "lusmn", 5) != 0)
0758         break;
0759       return "\xc2\xb1";         // "plusmn"
0760     case 'r':    // 1 string to match.
0761       if (memcmp(Name.data()+1, "floor", 5) != 0)
0762         break;
0763       return "\xe2\x8c\x8b";     // "rfloor"
0764     case 's':    // 1 string to match.
0765       if (memcmp(Name.data()+1, "igmaf", 5) != 0)
0766         break;
0767       return "\xcf\x82";         // "sigmaf"
0768     case 'u':    // 2 strings to match.
0769       switch (Name[1]) {
0770       default: break;
0771       case 'a':  // 1 string to match.
0772         if (memcmp(Name.data()+2, "cute", 4) != 0)
0773           break;
0774         return "\xc3\xba";       // "uacute"
0775       case 'g':  // 1 string to match.
0776         if (memcmp(Name.data()+2, "rave", 4) != 0)
0777           break;
0778         return "\xc3\xb9";       // "ugrave"
0779       }
0780       break;
0781     case 'y':    // 2 strings to match.
0782       switch (Name[1]) {
0783       default: break;
0784       case 'a':  // 1 string to match.
0785         if (memcmp(Name.data()+2, "cute", 4) != 0)
0786           break;
0787         return "\xc3\xbd";       // "yacute"
0788       case 'g':  // 1 string to match.
0789         if (memcmp(Name.data()+2, "rave", 4) != 0)
0790           break;
0791         return "\xe1\xbb\xb3";   // "ygrave"
0792       }
0793       break;
0794     }
0795     break;
0796   case 7:        // 3 strings to match.
0797     switch (Name[0]) {
0798     default: break;
0799     case 'U':    // 1 string to match.
0800       if (memcmp(Name.data()+1, "psilon", 6) != 0)
0801         break;
0802       return "\xce\xa5";         // "Upsilon"
0803     case 'e':    // 1 string to match.
0804       if (memcmp(Name.data()+1, "psilon", 6) != 0)
0805         break;
0806       return "\xce\xb5";         // "epsilon"
0807     case 'u':    // 1 string to match.
0808       if (memcmp(Name.data()+1, "psilon", 6) != 0)
0809         break;
0810       return "\xcf\x85";         // "upsilon"
0811     }
0812     break;
0813   }
0814   return StringRef();
0815 }
0816