summaryrefslogtreecommitdiff
path: root/clang-r353983/include/clang/AST/CommentHTMLNamedCharacterReferences.inc
diff options
context:
space:
mode:
Diffstat (limited to 'clang-r353983/include/clang/AST/CommentHTMLNamedCharacterReferences.inc')
-rw-r--r--clang-r353983/include/clang/AST/CommentHTMLNamedCharacterReferences.inc815
1 files changed, 815 insertions, 0 deletions
diff --git a/clang-r353983/include/clang/AST/CommentHTMLNamedCharacterReferences.inc b/clang-r353983/include/clang/AST/CommentHTMLNamedCharacterReferences.inc
new file mode 100644
index 00000000..750d15e9
--- /dev/null
+++ b/clang-r353983/include/clang/AST/CommentHTMLNamedCharacterReferences.inc
@@ -0,0 +1,815 @@
+/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
+|* *|
+|* HTML named character reference to UTF-8 translation *|
+|* *|
+|* Automatically generated file, do not edit! *|
+|* *|
+\*===----------------------------------------------------------------------===*/
+
+StringRef translateHTMLNamedCharacterReferenceToUTF8(
+ StringRef Name) {
+ switch (Name.size()) {
+ default: break;
+ case 2: // 15 strings to match.
+ switch (Name[0]) {
+ default: break;
+ case 'G': // 2 strings to match.
+ switch (Name[1]) {
+ default: break;
+ case 'T': // 1 string to match.
+ return "\x3e"; // "GT"
+ case 't': // 1 string to match.
+ return "\x3e"; // "Gt"
+ }
+ break;
+ case 'L': // 2 strings to match.
+ switch (Name[1]) {
+ default: break;
+ case 'T': // 1 string to match.
+ return "\x3c"; // "LT"
+ case 't': // 1 string to match.
+ return "\x3c"; // "Lt"
+ }
+ break;
+ case 'P': // 1 string to match.
+ if (Name[1] != 'i')
+ break;
+ return "\xce\xa0"; // "Pi"
+ case 'X': // 1 string to match.
+ if (Name[1] != 'i')
+ break;
+ return "\xce\x9e"; // "Xi"
+ case 'g': // 2 strings to match.
+ switch (Name[1]) {
+ default: break;
+ case 'e': // 1 string to match.
+ return "\xe2\x89\xa5"; // "ge"
+ case 't': // 1 string to match.
+ return "\x3e"; // "gt"
+ }
+ break;
+ case 'l': // 2 strings to match.
+ switch (Name[1]) {
+ default: break;
+ case 'e': // 1 string to match.
+ return "\xe2\x89\xa4"; // "le"
+ case 't': // 1 string to match.
+ return "\x3c"; // "lt"
+ }
+ break;
+ case 'm': // 1 string to match.
+ if (Name[1] != 'u')
+ break;
+ return "\xce\xbc"; // "mu"
+ case 'n': // 2 strings to match.
+ switch (Name[1]) {
+ default: break;
+ case 'e': // 1 string to match.
+ return "\xe2\x89\xa0"; // "ne"
+ case 'u': // 1 string to match.
+ return "\xce\xbd"; // "nu"
+ }
+ break;
+ case 'p': // 1 string to match.
+ if (Name[1] != 'i')
+ break;
+ return "\xcf\x80"; // "pi"
+ case 'x': // 1 string to match.
+ if (Name[1] != 'i')
+ break;
+ return "\xce\xbe"; // "xi"
+ }
+ break;
+ case 3: // 16 strings to match.
+ switch (Name[0]) {
+ default: break;
+ case 'A': // 1 string to match.
+ if (memcmp(Name.data()+1, "MP", 2) != 0)
+ break;
+ return "\x26"; // "AMP"
+ case 'P': // 2 strings to match.
+ switch (Name[1]) {
+ default: break;
+ case 'h': // 1 string to match.
+ if (Name[2] != 'i')
+ break;
+ return "\xce\xa6"; // "Phi"
+ case 's': // 1 string to match.
+ if (Name[2] != 'i')
+ break;
+ return "\xce\xa8"; // "Psi"
+ }
+ break;
+ case 'R': // 1 string to match.
+ if (memcmp(Name.data()+1, "EG", 2) != 0)
+ break;
+ return "\xc2\xae"; // "REG"
+ case 'a': // 1 string to match.
+ if (memcmp(Name.data()+1, "mp", 2) != 0)
+ break;
+ return "\x26"; // "amp"
+ case 'c': // 1 string to match.
+ if (memcmp(Name.data()+1, "hi", 2) != 0)
+ break;
+ return "\xcf\x87"; // "chi"
+ case 'd': // 1 string to match.
+ if (memcmp(Name.data()+1, "eg", 2) != 0)
+ break;
+ return "\xc2\xb0"; // "deg"
+ case 'e': // 1 string to match.
+ if (memcmp(Name.data()+1, "ta", 2) != 0)
+ break;
+ return "\xce\xb7"; // "eta"
+ case 'i': // 1 string to match.
+ if (memcmp(Name.data()+1, "nt", 2) != 0)
+ break;
+ return "\xe2\x88\xab"; // "int"
+ case 'p': // 2 strings to match.
+ switch (Name[1]) {
+ default: break;
+ case 'h': // 1 string to match.
+ if (Name[2] != 'i')
+ break;
+ return "\xcf\x86"; // "phi"
+ case 's': // 1 string to match.
+ if (Name[2] != 'i')
+ break;
+ return "\xcf\x88"; // "psi"
+ }
+ break;
+ case 'r': // 2 strings to match.
+ switch (Name[1]) {
+ default: break;
+ case 'e': // 1 string to match.
+ if (Name[2] != 'g')
+ break;
+ return "\xc2\xae"; // "reg"
+ case 'h': // 1 string to match.
+ if (Name[2] != 'o')
+ break;
+ return "\xcf\x81"; // "rho"
+ }
+ break;
+ case 's': // 2 strings to match.
+ switch (Name[1]) {
+ default: break;
+ case 'i': // 1 string to match.
+ if (Name[2] != 'm')
+ break;
+ return "\xe2\x88\xbc"; // "sim"
+ case 'u': // 1 string to match.
+ if (Name[2] != 'm')
+ break;
+ return "\xe2\x88\x91"; // "sum"
+ }
+ break;
+ case 't': // 1 string to match.
+ if (memcmp(Name.data()+1, "au", 2) != 0)
+ break;
+ return "\xcf\x84"; // "tau"
+ }
+ break;
+ case 4: // 30 strings to match.
+ switch (Name[0]) {
+ default: break;
+ case 'A': // 1 string to match.
+ if (memcmp(Name.data()+1, "uml", 3) != 0)
+ break;
+ return "\xc3\x84"; // "Auml"
+ case 'C': // 1 string to match.
+ if (memcmp(Name.data()+1, "OPY", 3) != 0)
+ break;
+ return "\xc2\xa9"; // "COPY"
+ case 'E': // 1 string to match.
+ if (memcmp(Name.data()+1, "uml", 3) != 0)
+ break;
+ return "\xc3\x8b"; // "Euml"
+ case 'I': // 1 string to match.
+ if (memcmp(Name.data()+1, "uml", 3) != 0)
+ break;
+ return "\xc3\x8f"; // "Iuml"
+ case 'O': // 1 string to match.
+ if (memcmp(Name.data()+1, "uml", 3) != 0)
+ break;
+ return "\xc3\x96"; // "Ouml"
+ case 'Q': // 1 string to match.
+ if (memcmp(Name.data()+1, "UOT", 3) != 0)
+ break;
+ return "\x22"; // "QUOT"
+ case 'U': // 1 string to match.
+ if (memcmp(Name.data()+1, "uml", 3) != 0)
+ break;
+ return "\xc3\x9c"; // "Uuml"
+ case 'Y': // 1 string to match.
+ if (memcmp(Name.data()+1, "uml", 3) != 0)
+ break;
+ return "\xc5\xb8"; // "Yuml"
+ case 'a': // 2 strings to match.
+ switch (Name[1]) {
+ default: break;
+ case 'p': // 1 string to match.
+ if (memcmp(Name.data()+2, "os", 2) != 0)
+ break;
+ return "\x27"; // "apos"
+ case 'u': // 1 string to match.
+ if (memcmp(Name.data()+2, "ml", 2) != 0)
+ break;
+ return "\xc3\xa4"; // "auml"
+ }
+ break;
+ case 'b': // 1 string to match.
+ if (memcmp(Name.data()+1, "eta", 3) != 0)
+ break;
+ return "\xce\xb2"; // "beta"
+ case 'c': // 1 string to match.
+ if (memcmp(Name.data()+1, "opy", 3) != 0)
+ break;
+ return "\xc2\xa9"; // "copy"
+ case 'e': // 1 string to match.
+ if (memcmp(Name.data()+1, "uml", 3) != 0)
+ break;
+ return "\xc3\xab"; // "euml"
+ case 'i': // 3 strings to match.
+ switch (Name[1]) {
+ default: break;
+ case 'o': // 1 string to match.
+ if (memcmp(Name.data()+2, "ta", 2) != 0)
+ break;
+ return "\xce\xb9"; // "iota"
+ case 's': // 1 string to match.
+ if (memcmp(Name.data()+2, "in", 2) != 0)
+ break;
+ return "\xe2\x88\x88"; // "isin"
+ case 'u': // 1 string to match.
+ if (memcmp(Name.data()+2, "ml", 2) != 0)
+ break;
+ return "\xc3\xaf"; // "iuml"
+ }
+ break;
+ case 'l': // 1 string to match.
+ if (memcmp(Name.data()+1, "arr", 3) != 0)
+ break;
+ return "\xe2\x86\x90"; // "larr"
+ case 'n': // 1 string to match.
+ if (memcmp(Name.data()+1, "bsp", 3) != 0)
+ break;
+ return "\xc2\xa0"; // "nbsp"
+ case 'o': // 1 string to match.
+ if (memcmp(Name.data()+1, "uml", 3) != 0)
+ break;
+ return "\xc3\xb6"; // "ouml"
+ case 'p': // 4 strings to match.
+ switch (Name[1]) {
+ default: break;
+ case 'a': // 1 string to match.
+ if (memcmp(Name.data()+2, "rt", 2) != 0)
+ break;
+ return "\xe2\x88\x82"; // "part"
+ case 'e': // 1 string to match.
+ if (memcmp(Name.data()+2, "rp", 2) != 0)
+ break;
+ return "\xe2\x8a\xa5"; // "perp"
+ case 'r': // 2 strings to match.
+ if (Name[2] != 'o')
+ break;
+ switch (Name[3]) {
+ default: break;
+ case 'd': // 1 string to match.
+ return "\xe2\x88\x8f"; // "prod"
+ case 'p': // 1 string to match.
+ return "\xe2\x88\x9d"; // "prop"
+ }
+ break;
+ }
+ break;
+ case 'q': // 1 string to match.
+ if (memcmp(Name.data()+1, "uot", 3) != 0)
+ break;
+ return "\x22"; // "quot"
+ case 'r': // 1 string to match.
+ if (memcmp(Name.data()+1, "arr", 3) != 0)
+ break;
+ return "\xe2\x86\x92"; // "rarr"
+ case 's': // 2 strings to match.
+ switch (Name[1]) {
+ default: break;
+ case 'd': // 1 string to match.
+ if (memcmp(Name.data()+2, "ot", 2) != 0)
+ break;
+ return "\xe2\x8b\x85"; // "sdot"
+ case 'e': // 1 string to match.
+ if (memcmp(Name.data()+2, "ct", 2) != 0)
+ break;
+ return "\xc2\xa7"; // "sect"
+ }
+ break;
+ case 'u': // 1 string to match.
+ if (memcmp(Name.data()+1, "uml", 3) != 0)
+ break;
+ return "\xc3\xbc"; // "uuml"
+ case 'y': // 1 string to match.
+ if (memcmp(Name.data()+1, "uml", 3) != 0)
+ break;
+ return "\xc3\xbf"; // "yuml"
+ case 'z': // 1 string to match.
+ if (memcmp(Name.data()+1, "eta", 3) != 0)
+ break;
+ return "\xce\xb6"; // "zeta"
+ }
+ break;
+ case 5: // 48 strings to match.
+ switch (Name[0]) {
+ default: break;
+ case 'A': // 2 strings to match.
+ switch (Name[1]) {
+ default: break;
+ case 'c': // 1 string to match.
+ if (memcmp(Name.data()+2, "irc", 3) != 0)
+ break;
+ return "\xc3\x82"; // "Acirc"
+ case 'r': // 1 string to match.
+ if (memcmp(Name.data()+2, "ing", 3) != 0)
+ break;
+ return "\xc3\x85"; // "Aring"
+ }
+ break;
+ case 'D': // 1 string to match.
+ if (memcmp(Name.data()+1, "elta", 4) != 0)
+ break;
+ return "\xce\x94"; // "Delta"
+ case 'E': // 1 string to match.
+ if (memcmp(Name.data()+1, "circ", 4) != 0)
+ break;
+ return "\xc3\x8a"; // "Ecirc"
+ case 'G': // 1 string to match.
+ if (memcmp(Name.data()+1, "amma", 4) != 0)
+ break;
+ return "\xce\x93"; // "Gamma"
+ case 'I': // 1 string to match.
+ if (memcmp(Name.data()+1, "circ", 4) != 0)
+ break;
+ return "\xc3\x8e"; // "Icirc"
+ case 'O': // 2 strings to match.
+ switch (Name[1]) {
+ default: break;
+ case 'c': // 1 string to match.
+ if (memcmp(Name.data()+2, "irc", 3) != 0)
+ break;
+ return "\xc3\x94"; // "Ocirc"
+ case 'm': // 1 string to match.
+ if (memcmp(Name.data()+2, "ega", 3) != 0)
+ break;
+ return "\xce\xa9"; // "Omega"
+ }
+ break;
+ case 'P': // 1 string to match.
+ if (memcmp(Name.data()+1, "rime", 4) != 0)
+ break;
+ return "\xe2\x80\xb3"; // "Prime"
+ case 'S': // 1 string to match.
+ if (memcmp(Name.data()+1, "igma", 4) != 0)
+ break;
+ return "\xce\xa3"; // "Sigma"
+ case 'T': // 2 strings to match.
+ switch (Name[1]) {
+ default: break;
+ case 'R': // 1 string to match.
+ if (memcmp(Name.data()+2, "ADE", 3) != 0)
+ break;
+ return "\xe2\x84\xa2"; // "TRADE"
+ case 'h': // 1 string to match.
+ if (memcmp(Name.data()+2, "eta", 3) != 0)
+ break;
+ return "\xce\x98"; // "Theta"
+ }
+ break;
+ case 'U': // 1 string to match.
+ if (memcmp(Name.data()+1, "circ", 4) != 0)
+ break;
+ return "\xc3\x9b"; // "Ucirc"
+ case 'Y': // 1 string to match.
+ if (memcmp(Name.data()+1, "circ", 4) != 0)
+ break;
+ return "\xc5\xb6"; // "Ycirc"
+ case 'a': // 4 strings to match.
+ switch (Name[1]) {
+ default: break;
+ case 'c': // 1 string to match.
+ if (memcmp(Name.data()+2, "irc", 3) != 0)
+ break;
+ return "\xc3\xa2"; // "acirc"
+ case 'l': // 1 string to match.
+ if (memcmp(Name.data()+2, "pha", 3) != 0)
+ break;
+ return "\xce\xb1"; // "alpha"
+ case 'r': // 1 string to match.
+ if (memcmp(Name.data()+2, "ing", 3) != 0)
+ break;
+ return "\xc3\xa5"; // "aring"
+ case 's': // 1 string to match.
+ if (memcmp(Name.data()+2, "ymp", 3) != 0)
+ break;
+ return "\xe2\x89\x88"; // "asymp"
+ }
+ break;
+ case 'd': // 1 string to match.
+ if (memcmp(Name.data()+1, "elta", 4) != 0)
+ break;
+ return "\xce\xb4"; // "delta"
+ case 'e': // 3 strings to match.
+ switch (Name[1]) {
+ default: break;
+ case 'c': // 1 string to match.
+ if (memcmp(Name.data()+2, "irc", 3) != 0)
+ break;
+ return "\xc3\xaa"; // "ecirc"
+ case 'm': // 1 string to match.
+ if (memcmp(Name.data()+2, "pty", 3) != 0)
+ break;
+ return "\xe2\x88\x85"; // "empty"
+ case 'q': // 1 string to match.
+ if (memcmp(Name.data()+2, "uiv", 3) != 0)
+ break;
+ return "\xe2\x89\xa1"; // "equiv"
+ }
+ break;
+ case 'g': // 1 string to match.
+ if (memcmp(Name.data()+1, "amma", 4) != 0)
+ break;
+ return "\xce\xb3"; // "gamma"
+ case 'i': // 2 strings to match.
+ switch (Name[1]) {
+ default: break;
+ case 'c': // 1 string to match.
+ if (memcmp(Name.data()+2, "irc", 3) != 0)
+ break;
+ return "\xc3\xae"; // "icirc"
+ case 'n': // 1 string to match.
+ if (memcmp(Name.data()+2, "fin", 3) != 0)
+ break;
+ return "\xe2\x88\x9e"; // "infin"
+ }
+ break;
+ case 'k': // 1 string to match.
+ if (memcmp(Name.data()+1, "appa", 4) != 0)
+ break;
+ return "\xce\xba"; // "kappa"
+ case 'l': // 3 strings to match.
+ switch (Name[1]) {
+ default: break;
+ case 'c': // 1 string to match.
+ if (memcmp(Name.data()+2, "eil", 3) != 0)
+ break;
+ return "\xe2\x8c\x88"; // "lceil"
+ case 'd': // 1 string to match.
+ if (memcmp(Name.data()+2, "quo", 3) != 0)
+ break;
+ return "\xe2\x80\x9c"; // "ldquo"
+ case 's': // 1 string to match.
+ if (memcmp(Name.data()+2, "quo", 3) != 0)
+ break;
+ return "\xe2\x80\x98"; // "lsquo"
+ }
+ break;
+ case 'm': // 2 strings to match.
+ switch (Name[1]) {
+ default: break;
+ case 'd': // 1 string to match.
+ if (memcmp(Name.data()+2, "ash", 3) != 0)
+ break;
+ return "\xe2\x80\x94"; // "mdash"
+ case 'i': // 1 string to match.
+ if (memcmp(Name.data()+2, "nus", 3) != 0)
+ break;
+ return "\xe2\x88\x92"; // "minus"
+ }
+ break;
+ case 'n': // 3 strings to match.
+ switch (Name[1]) {
+ default: break;
+ case 'a': // 1 string to match.
+ if (memcmp(Name.data()+2, "bla", 3) != 0)
+ break;
+ return "\xe2\x88\x87"; // "nabla"
+ case 'd': // 1 string to match.
+ if (memcmp(Name.data()+2, "ash", 3) != 0)
+ break;
+ return "\xe2\x80\x93"; // "ndash"
+ case 'o': // 1 string to match.
+ if (memcmp(Name.data()+2, "tin", 3) != 0)
+ break;
+ return "\xe2\x88\x89"; // "notin"
+ }
+ break;
+ case 'o': // 2 strings to match.
+ switch (Name[1]) {
+ default: break;
+ case 'c': // 1 string to match.
+ if (memcmp(Name.data()+2, "irc", 3) != 0)
+ break;
+ return "\xc3\xb4"; // "ocirc"
+ case 'm': // 1 string to match.
+ if (memcmp(Name.data()+2, "ega", 3) != 0)
+ break;
+ return "\xcf\x89"; // "omega"
+ }
+ break;
+ case 'p': // 1 string to match.
+ if (memcmp(Name.data()+1, "rime", 4) != 0)
+ break;
+ return "\xe2\x80\xb2"; // "prime"
+ case 'r': // 4 strings to match.
+ switch (Name[1]) {
+ default: break;
+ case 'a': // 1 string to match.
+ if (memcmp(Name.data()+2, "dic", 3) != 0)
+ break;
+ return "\xe2\x88\x9a"; // "radic"
+ case 'c': // 1 string to match.
+ if (memcmp(Name.data()+2, "eil", 3) != 0)
+ break;
+ return "\xe2\x8c\x89"; // "rceil"
+ case 'd': // 1 string to match.
+ if (memcmp(Name.data()+2, "quo", 3) != 0)
+ break;
+ return "\xe2\x80\x9d"; // "rdquo"
+ case 's': // 1 string to match.
+ if (memcmp(Name.data()+2, "quo", 3) != 0)
+ break;
+ return "\xe2\x80\x99"; // "rsquo"
+ }
+ break;
+ case 's': // 2 strings to match.
+ switch (Name[1]) {
+ default: break;
+ case 'i': // 1 string to match.
+ if (memcmp(Name.data()+2, "gma", 3) != 0)
+ break;
+ return "\xcf\x83"; // "sigma"
+ case 'z': // 1 string to match.
+ if (memcmp(Name.data()+2, "lig", 3) != 0)
+ break;
+ return "\xc3\x9f"; // "szlig"
+ }
+ break;
+ case 't': // 3 strings to match.
+ switch (Name[1]) {
+ default: break;
+ case 'h': // 1 string to match.
+ if (memcmp(Name.data()+2, "eta", 3) != 0)
+ break;
+ return "\xce\xb8"; // "theta"
+ case 'i': // 1 string to match.
+ if (memcmp(Name.data()+2, "mes", 3) != 0)
+ break;
+ return "\xc3\x97"; // "times"
+ case 'r': // 1 string to match.
+ if (memcmp(Name.data()+2, "ade", 3) != 0)
+ break;
+ return "\xe2\x84\xa2"; // "trade"
+ }
+ break;
+ case 'u': // 1 string to match.
+ if (memcmp(Name.data()+1, "circ", 4) != 0)
+ break;
+ return "\xc3\xbb"; // "ucirc"
+ case 'y': // 1 string to match.
+ if (memcmp(Name.data()+1, "circ", 4) != 0)
+ break;
+ return "\xc5\xb7"; // "ycirc"
+ }
+ break;
+ case 6: // 37 strings to match.
+ switch (Name[0]) {
+ default: break;
+ case 'A': // 3 strings to match.
+ switch (Name[1]) {
+ default: break;
+ case 'a': // 1 string to match.
+ if (memcmp(Name.data()+2, "cute", 4) != 0)
+ break;
+ return "\xc3\x81"; // "Aacute"
+ case 'g': // 1 string to match.
+ if (memcmp(Name.data()+2, "rave", 4) != 0)
+ break;
+ return "\xc3\x80"; // "Agrave"
+ case 't': // 1 string to match.
+ if (memcmp(Name.data()+2, "ilde", 4) != 0)
+ break;
+ return "\xc3\x83"; // "Atilde"
+ }
+ break;
+ case 'C': // 1 string to match.
+ if (memcmp(Name.data()+1, "cedil", 5) != 0)
+ break;
+ return "\xc3\x87"; // "Ccedil"
+ case 'E': // 2 strings to match.
+ switch (Name[1]) {
+ default: break;
+ case 'a': // 1 string to match.
+ if (memcmp(Name.data()+2, "cute", 4) != 0)
+ break;
+ return "\xc3\x89"; // "Eacute"
+ case 'g': // 1 string to match.
+ if (memcmp(Name.data()+2, "rave", 4) != 0)
+ break;
+ return "\xc3\x88"; // "Egrave"
+ }
+ break;
+ case 'I': // 2 strings to match.
+ switch (Name[1]) {
+ default: break;
+ case 'a': // 1 string to match.
+ if (memcmp(Name.data()+2, "cute", 4) != 0)
+ break;
+ return "\xc3\x8d"; // "Iacute"
+ case 'g': // 1 string to match.
+ if (memcmp(Name.data()+2, "rave", 4) != 0)
+ break;
+ return "\xc3\x8c"; // "Igrave"
+ }
+ break;
+ case 'L': // 1 string to match.
+ if (memcmp(Name.data()+1, "ambda", 5) != 0)
+ break;
+ return "\xce\x9b"; // "Lambda"
+ case 'N': // 1 string to match.
+ if (memcmp(Name.data()+1, "tilde", 5) != 0)
+ break;
+ return "\xc3\x91"; // "Ntilde"
+ case 'O': // 3 strings to match.
+ switch (Name[1]) {
+ default: break;
+ case 'a': // 1 string to match.
+ if (memcmp(Name.data()+2, "cute", 4) != 0)
+ break;
+ return "\xc3\x93"; // "Oacute"
+ case 'g': // 1 string to match.
+ if (memcmp(Name.data()+2, "rave", 4) != 0)
+ break;
+ return "\xc3\x92"; // "Ograve"
+ case 't': // 1 string to match.
+ if (memcmp(Name.data()+2, "ilde", 4) != 0)
+ break;
+ return "\xc3\x95"; // "Otilde"
+ }
+ break;
+ case 'U': // 2 strings to match.
+ switch (Name[1]) {
+ default: break;
+ case 'a': // 1 string to match.
+ if (memcmp(Name.data()+2, "cute", 4) != 0)
+ break;
+ return "\xc3\x9a"; // "Uacute"
+ case 'g': // 1 string to match.
+ if (memcmp(Name.data()+2, "rave", 4) != 0)
+ break;
+ return "\xc3\x99"; // "Ugrave"
+ }
+ break;
+ case 'Y': // 1 string to match.
+ if (memcmp(Name.data()+1, "acute", 5) != 0)
+ break;
+ return "\xc3\x9d"; // "Yacute"
+ case 'a': // 3 strings to match.
+ switch (Name[1]) {
+ default: break;
+ case 'a': // 1 string to match.
+ if (memcmp(Name.data()+2, "cute", 4) != 0)
+ break;
+ return "\xc3\xa1"; // "aacute"
+ case 'g': // 1 string to match.
+ if (memcmp(Name.data()+2, "rave", 4) != 0)
+ break;
+ return "\xc3\xa0"; // "agrave"
+ case 't': // 1 string to match.
+ if (memcmp(Name.data()+2, "ilde", 4) != 0)
+ break;
+ return "\xc3\xa3"; // "atilde"
+ }
+ break;
+ case 'c': // 1 string to match.
+ if (memcmp(Name.data()+1, "cedil", 5) != 0)
+ break;
+ return "\xc3\xa7"; // "ccedil"
+ case 'e': // 2 strings to match.
+ switch (Name[1]) {
+ default: break;
+ case 'a': // 1 string to match.
+ if (memcmp(Name.data()+2, "cute", 4) != 0)
+ break;
+ return "\xc3\xa9"; // "eacute"
+ case 'g': // 1 string to match.
+ if (memcmp(Name.data()+2, "rave", 4) != 0)
+ break;
+ return "\xc3\xa8"; // "egrave"
+ }
+ break;
+ case 'i': // 2 strings to match.
+ switch (Name[1]) {
+ default: break;
+ case 'a': // 1 string to match.
+ if (memcmp(Name.data()+2, "cute", 4) != 0)
+ break;
+ return "\xc3\xad"; // "iacute"
+ case 'g': // 1 string to match.
+ if (memcmp(Name.data()+2, "rave", 4) != 0)
+ break;
+ return "\xc3\xac"; // "igrave"
+ }
+ break;
+ case 'l': // 2 strings to match.
+ switch (Name[1]) {
+ default: break;
+ case 'a': // 1 string to match.
+ if (memcmp(Name.data()+2, "mbda", 4) != 0)
+ break;
+ return "\xce\xbb"; // "lambda"
+ case 'f': // 1 string to match.
+ if (memcmp(Name.data()+2, "loor", 4) != 0)
+ break;
+ return "\xe2\x8c\x8a"; // "lfloor"
+ }
+ break;
+ case 'n': // 1 string to match.
+ if (memcmp(Name.data()+1, "tilde", 5) != 0)
+ break;
+ return "\xc3\xb1"; // "ntilde"
+ case 'o': // 3 strings to match.
+ switch (Name[1]) {
+ default: break;
+ case 'a': // 1 string to match.
+ if (memcmp(Name.data()+2, "cute", 4) != 0)
+ break;
+ return "\xc3\xb3"; // "oacute"
+ case 'g': // 1 string to match.
+ if (memcmp(Name.data()+2, "rave", 4) != 0)
+ break;
+ return "\xc3\xb2"; // "ograve"
+ case 't': // 1 string to match.
+ if (memcmp(Name.data()+2, "ilde", 4) != 0)
+ break;
+ return "\xc3\xb5"; // "otilde"
+ }
+ break;
+ case 'p': // 1 string to match.
+ if (memcmp(Name.data()+1, "lusmn", 5) != 0)
+ break;
+ return "\xc2\xb1"; // "plusmn"
+ case 'r': // 1 string to match.
+ if (memcmp(Name.data()+1, "floor", 5) != 0)
+ break;
+ return "\xe2\x8c\x8b"; // "rfloor"
+ case 's': // 1 string to match.
+ if (memcmp(Name.data()+1, "igmaf", 5) != 0)
+ break;
+ return "\xcf\x82"; // "sigmaf"
+ case 'u': // 2 strings to match.
+ switch (Name[1]) {
+ default: break;
+ case 'a': // 1 string to match.
+ if (memcmp(Name.data()+2, "cute", 4) != 0)
+ break;
+ return "\xc3\xba"; // "uacute"
+ case 'g': // 1 string to match.
+ if (memcmp(Name.data()+2, "rave", 4) != 0)
+ break;
+ return "\xc3\xb9"; // "ugrave"
+ }
+ break;
+ case 'y': // 2 strings to match.
+ switch (Name[1]) {
+ default: break;
+ case 'a': // 1 string to match.
+ if (memcmp(Name.data()+2, "cute", 4) != 0)
+ break;
+ return "\xc3\xbd"; // "yacute"
+ case 'g': // 1 string to match.
+ if (memcmp(Name.data()+2, "rave", 4) != 0)
+ break;
+ return "\xe1\xbb\xb3"; // "ygrave"
+ }
+ break;
+ }
+ break;
+ case 7: // 3 strings to match.
+ switch (Name[0]) {
+ default: break;
+ case 'U': // 1 string to match.
+ if (memcmp(Name.data()+1, "psilon", 6) != 0)
+ break;
+ return "\xce\xa5"; // "Upsilon"
+ case 'e': // 1 string to match.
+ if (memcmp(Name.data()+1, "psilon", 6) != 0)
+ break;
+ return "\xce\xb5"; // "epsilon"
+ case 'u': // 1 string to match.
+ if (memcmp(Name.data()+1, "psilon", 6) != 0)
+ break;
+ return "\xcf\x85"; // "upsilon"
+ }
+ break;
+ }
+ return StringRef();
+}
+