Coverage Report

Created: 2018-07-19 03:59

/Users/buildslave/jenkins/workspace/clang-stage2-coverage-R/clang-build/tools/clang/include/clang/AST/CommentHTMLNamedCharacterReferences.inc
Line
Count
Source (jump to first uncovered line)
1
/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2
|*                                                                            *|
3
|* HTML named character reference to UTF-8 translation                        *|
4
|*                                                                            *|
5
|* Automatically generated file, do not edit!                                 *|
6
|*                                                                            *|
7
\*===----------------------------------------------------------------------===*/
8
9
StringRef translateHTMLNamedCharacterReferenceToUTF8(
10
52
                                             StringRef Name) {
11
52
  switch (Name.size()) {
12
52
  
default: break0
;
13
52
  case 2:  // 15 strings to match.
14
13
    switch (Name[0]) {
15
13
    
default: break0
;
16
13
    case 'G':  // 2 strings to match.
17
0
      switch (Name[1]) {
18
0
      default: break;
19
0
      case 'T':  // 1 string to match.
20
0
        return "\x3e";  // "GT"
21
0
      case 't':  // 1 string to match.
22
0
        return "\x3e";  // "Gt"
23
0
      }
24
0
      break;
25
0
    case 'L':  // 2 strings to match.
26
0
      switch (Name[1]) {
27
0
      default: break;
28
0
      case 'T':  // 1 string to match.
29
0
        return "\x3c";  // "LT"
30
0
      case 't':  // 1 string to match.
31
0
        return "\x3c";  // "Lt"
32
0
      }
33
0
      break;
34
0
    case 'P':  // 1 string to match.
35
0
      if (Name[1] != 'i')
36
0
        break;
37
0
      return "\xce\xa0";   // "Pi"
38
0
    case 'X':  // 1 string to match.
39
0
      if (Name[1] != 'i')
40
0
        break;
41
0
      return "\xce\x9e";   // "Xi"
42
4
    case 'g':  // 2 strings to match.
43
4
      switch (Name[1]) {
44
4
      
default: break0
;
45
4
      case 'e':  // 1 string to match.
46
0
        return "\xe2\x89\xa5";  // "ge"
47
4
      case 't':  // 1 string to match.
48
4
        return "\x3e";  // "gt"
49
0
      }
50
0
      break;
51
9
    case 'l':  // 2 strings to match.
52
9
      switch (Name[1]) {
53
9
      
default: break0
;
54
9
      case 'e':  // 1 string to match.
55
0
        return "\xe2\x89\xa4";  // "le"
56
9
      case 't':  // 1 string to match.
57
9
        return "\x3c";  // "lt"
58
0
      }
59
0
      break;
60
0
    case 'm':  // 1 string to match.
61
0
      if (Name[1] != 'u')
62
0
        break;
63
0
      return "\xce\xbc";   // "mu"
64
0
    case 'n':  // 2 strings to match.
65
0
      switch (Name[1]) {
66
0
      default: break;
67
0
      case 'e':  // 1 string to match.
68
0
        return "\xe2\x89\xa0";  // "ne"
69
0
      case 'u':  // 1 string to match.
70
0
        return "\xce\xbd";  // "nu"
71
0
      }
72
0
      break;
73
0
    case 'p':  // 1 string to match.
74
0
      if (Name[1] != 'i')
75
0
        break;
76
0
      return "\xcf\x80";   // "pi"
77
0
    case 'x':  // 1 string to match.
78
0
      if (Name[1] != 'i')
79
0
        break;
80
0
      return "\xce\xbe";  // "xi"
81
0
    }
82
0
    break;
83
11
  case 3:  // 16 strings to match.
84
11
    switch (Name[0]) {
85
11
    
default: break0
;
86
11
    case 'A':  // 1 string to match.
87
0
      if (memcmp(Name.data()+1, "MP", 2) != 0)
88
0
        break;
89
0
      return "\x26";   // "AMP"
90
0
    case 'P':  // 2 strings to match.
91
0
      switch (Name[1]) {
92
0
      default: break;
93
0
      case 'h':  // 1 string to match.
94
0
        if (Name[2] != 'i')
95
0
          break;
96
0
        return "\xce\xa6";   // "Phi"
97
0
      case 's':  // 1 string to match.
98
0
        if (Name[2] != 'i')
99
0
          break;
100
0
        return "\xce\xa8";  // "Psi"
101
0
      }
102
0
      break;
103
0
    case 'R':  // 1 string to match.
104
0
      if (memcmp(Name.data()+1, "EG", 2) != 0)
105
0
        break;
106
0
      return "\xc2\xae";   // "REG"
107
7
    case 'a':  // 1 string to match.
108
7
      if (memcmp(Name.data()+1, "mp", 2) != 0)
109
0
        break;
110
7
      return "\x26";   // "amp"
111
7
    case 'c':  // 1 string to match.
112
0
      if (memcmp(Name.data()+1, "hi", 2) != 0)
113
0
        break;
114
0
      return "\xcf\x87";   // "chi"
115
0
    case 'd':  // 1 string to match.
116
0
      if (memcmp(Name.data()+1, "eg", 2) != 0)
117
0
        break;
118
0
      return "\xc2\xb0";   // "deg"
119
0
    case 'e':  // 1 string to match.
120
0
      if (memcmp(Name.data()+1, "ta", 2) != 0)
121
0
        break;
122
0
      return "\xce\xb7";   // "eta"
123
0
    case 'i':  // 1 string to match.
124
0
      if (memcmp(Name.data()+1, "nt", 2) != 0)
125
0
        break;
126
0
      return "\xe2\x88\xab";   // "int"
127
0
    case 'p':  // 2 strings to match.
128
0
      switch (Name[1]) {
129
0
      default: break;
130
0
      case 'h':  // 1 string to match.
131
0
        if (Name[2] != 'i')
132
0
          break;
133
0
        return "\xcf\x86";   // "phi"
134
0
      case 's':  // 1 string to match.
135
0
        if (Name[2] != 'i')
136
0
          break;
137
0
        return "\xcf\x88";  // "psi"
138
0
      }
139
0
      break;
140
4
    case 'r':  // 2 strings to match.
141
4
      switch (Name[1]) {
142
4
      
default: break0
;
143
4
      case 'e':  // 1 string to match.
144
4
        if (Name[2] != 'g')
145
0
          break;
146
4
        return "\xc2\xae";   // "reg"
147
4
      case 'h':  // 1 string to match.
148
0
        if (Name[2] != 'o')
149
0
          break;
150
0
        return "\xcf\x81";  // "rho"
151
0
      }
152
0
      break;
153
0
    case 's':  // 2 strings to match.
154
0
      switch (Name[1]) {
155
0
      default: break;
156
0
      case 'i':  // 1 string to match.
157
0
        if (Name[2] != 'm')
158
0
          break;
159
0
        return "\xe2\x88\xbc";   // "sim"
160
0
      case 'u':  // 1 string to match.
161
0
        if (Name[2] != 'm')
162
0
          break;
163
0
        return "\xe2\x88\x91";  // "sum"
164
0
      }
165
0
      break;
166
0
    case 't':  // 1 string to match.
167
0
      if (memcmp(Name.data()+1, "au", 2) != 0)
168
0
        break;
169
0
      return "\xcf\x84";  // "tau"
170
0
    }
171
0
    break;
172
16
  case 4:  // 30 strings to match.
173
16
    switch (Name[0]) {
174
16
    
default: break0
;
175
16
    case 'A':  // 1 string to match.
176
0
      if (memcmp(Name.data()+1, "uml", 3) != 0)
177
0
        break;
178
0
      return "\xc3\x84";   // "Auml"
179
0
    case 'C':  // 1 string to match.
180
0
      if (memcmp(Name.data()+1, "OPY", 3) != 0)
181
0
        break;
182
0
      return "\xc2\xa9";   // "COPY"
183
0
    case 'E':  // 1 string to match.
184
0
      if (memcmp(Name.data()+1, "uml", 3) != 0)
185
0
        break;
186
0
      return "\xc3\x8b";   // "Euml"
187
0
    case 'I':  // 1 string to match.
188
0
      if (memcmp(Name.data()+1, "uml", 3) != 0)
189
0
        break;
190
0
      return "\xc3\x8f";   // "Iuml"
191
0
    case 'O':  // 1 string to match.
192
0
      if (memcmp(Name.data()+1, "uml", 3) != 0)
193
0
        break;
194
0
      return "\xc3\x96";   // "Ouml"
195
0
    case 'Q':  // 1 string to match.
196
0
      if (memcmp(Name.data()+1, "UOT", 3) != 0)
197
0
        break;
198
0
      return "\x22";   // "QUOT"
199
0
    case 'U':  // 1 string to match.
200
0
      if (memcmp(Name.data()+1, "uml", 3) != 0)
201
0
        break;
202
0
      return "\xc3\x9c";   // "Uuml"
203
0
    case 'Y':  // 1 string to match.
204
0
      if (memcmp(Name.data()+1, "uml", 3) != 0)
205
0
        break;
206
0
      return "\xc5\xb8";   // "Yuml"
207
4
    case 'a':  // 2 strings to match.
208
4
      switch (Name[1]) {
209
4
      
default: break0
;
210
4
      case 'p':  // 1 string to match.
211
4
        if (memcmp(Name.data()+2, "os", 2) != 0)
212
0
          break;
213
4
        return "\x27";   // "apos"
214
4
      case 'u':  // 1 string to match.
215
0
        if (memcmp(Name.data()+2, "ml", 2) != 0)
216
0
          break;
217
0
        return "\xc3\xa4";  // "auml"
218
0
      }
219
0
      break;
220
0
    case 'b':  // 1 string to match.
221
0
      if (memcmp(Name.data()+1, "eta", 3) != 0)
222
0
        break;
223
0
      return "\xce\xb2";   // "beta"
224
4
    case 'c':  // 1 string to match.
225
4
      if (memcmp(Name.data()+1, "opy", 3) != 0)
226
0
        break;
227
4
      return "\xc2\xa9";   // "copy"
228
4
    case 'e':  // 1 string to match.
229
0
      if (memcmp(Name.data()+1, "uml", 3) != 0)
230
0
        break;
231
0
      return "\xc3\xab";   // "euml"
232
0
    case 'i':  // 3 strings to match.
233
0
      switch (Name[1]) {
234
0
      default: break;
235
0
      case 'o':  // 1 string to match.
236
0
        if (memcmp(Name.data()+2, "ta", 2) != 0)
237
0
          break;
238
0
        return "\xce\xb9";   // "iota"
239
0
      case 's':  // 1 string to match.
240
0
        if (memcmp(Name.data()+2, "in", 2) != 0)
241
0
          break;
242
0
        return "\xe2\x88\x88";   // "isin"
243
0
      case 'u':  // 1 string to match.
244
0
        if (memcmp(Name.data()+2, "ml", 2) != 0)
245
0
          break;
246
0
        return "\xc3\xaf";  // "iuml"
247
0
      }
248
0
      break;
249
0
    case 'l':  // 1 string to match.
250
0
      if (memcmp(Name.data()+1, "arr", 3) != 0)
251
0
        break;
252
0
      return "\xe2\x86\x90";   // "larr"
253
4
    case 'n':  // 1 string to match.
254
4
      if (memcmp(Name.data()+1, "bsp", 3) != 0)
255
0
        break;
256
4
      return "\xc2\xa0";   // "nbsp"
257
4
    case 'o':  // 1 string to match.
258
0
      if (memcmp(Name.data()+1, "uml", 3) != 0)
259
0
        break;
260
0
      return "\xc3\xb6";   // "ouml"
261
0
    case 'p':  // 4 strings to match.
262
0
      switch (Name[1]) {
263
0
      default: break;
264
0
      case 'a':  // 1 string to match.
265
0
        if (memcmp(Name.data()+2, "rt", 2) != 0)
266
0
          break;
267
0
        return "\xe2\x88\x82";   // "part"
268
0
      case 'e':  // 1 string to match.
269
0
        if (memcmp(Name.data()+2, "rp", 2) != 0)
270
0
          break;
271
0
        return "\xe2\x8a\xa5";   // "perp"
272
0
      case 'r':  // 2 strings to match.
273
0
        if (Name[2] != 'o')
274
0
          break;
275
0
        switch (Name[3]) {
276
0
        default: break;
277
0
        case 'd':  // 1 string to match.
278
0
          return "\xe2\x88\x8f";  // "prod"
279
0
        case 'p':  // 1 string to match.
280
0
          return "\xe2\x88\x9d";  // "prop"
281
0
        }
282
0
        break;
283
0
      }
284
0
      break;
285
4
    case 'q':  // 1 string to match.
286
4
      if (memcmp(Name.data()+1, "uot", 3) != 0)
287
0
        break;
288
4
      return "\x22";   // "quot"
289
4
    case 'r':  // 1 string to match.
290
0
      if (memcmp(Name.data()+1, "arr", 3) != 0)
291
0
        break;
292
0
      return "\xe2\x86\x92";   // "rarr"
293
0
    case 's':  // 2 strings to match.
294
0
      switch (Name[1]) {
295
0
      default: break;
296
0
      case 'd':  // 1 string to match.
297
0
        if (memcmp(Name.data()+2, "ot", 2) != 0)
298
0
          break;
299
0
        return "\xe2\x8b\x85";   // "sdot"
300
0
      case 'e':  // 1 string to match.
301
0
        if (memcmp(Name.data()+2, "ct", 2) != 0)
302
0
          break;
303
0
        return "\xc2\xa7";  // "sect"
304
0
      }
305
0
      break;
306
0
    case 'u':  // 1 string to match.
307
0
      if (memcmp(Name.data()+1, "uml", 3) != 0)
308
0
        break;
309
0
      return "\xc3\xbc";   // "uuml"
310
0
    case 'y':  // 1 string to match.
311
0
      if (memcmp(Name.data()+1, "uml", 3) != 0)
312
0
        break;
313
0
      return "\xc3\xbf";   // "yuml"
314
0
    case 'z':  // 1 string to match.
315
0
      if (memcmp(Name.data()+1, "eta", 3) != 0)
316
0
        break;
317
0
      return "\xce\xb6";  // "zeta"
318
0
    }
319
0
    break;
320
12
  case 5:  // 48 strings to match.
321
12
    switch (Name[0]) {
322
12
    
default: break0
;
323
12
    case 'A':  // 2 strings to match.
324
0
      switch (Name[1]) {
325
0
      default: break;
326
0
      case 'c':  // 1 string to match.
327
0
        if (memcmp(Name.data()+2, "irc", 3) != 0)
328
0
          break;
329
0
        return "\xc3\x82";   // "Acirc"
330
0
      case 'r':  // 1 string to match.
331
0
        if (memcmp(Name.data()+2, "ing", 3) != 0)
332
0
          break;
333
0
        return "\xc3\x85";  // "Aring"
334
0
      }
335
0
      break;
336
4
    case 'D':  // 1 string to match.
337
4
      if (memcmp(Name.data()+1, "elta", 4) != 0)
338
0
        break;
339
4
      return "\xce\x94";   // "Delta"
340
4
    case 'E':  // 1 string to match.
341
0
      if (memcmp(Name.data()+1, "circ", 4) != 0)
342
0
        break;
343
0
      return "\xc3\x8a";   // "Ecirc"
344
4
    case 'G':  // 1 string to match.
345
4
      if (memcmp(Name.data()+1, "amma", 4) != 0)
346
0
        break;
347
4
      return "\xce\x93";   // "Gamma"
348
4
    case 'I':  // 1 string to match.
349
0
      if (memcmp(Name.data()+1, "circ", 4) != 0)
350
0
        break;
351
0
      return "\xc3\x8e";   // "Icirc"
352
0
    case 'O':  // 2 strings to match.
353
0
      switch (Name[1]) {
354
0
      default: break;
355
0
      case 'c':  // 1 string to match.
356
0
        if (memcmp(Name.data()+2, "irc", 3) != 0)
357
0
          break;
358
0
        return "\xc3\x94";   // "Ocirc"
359
0
      case 'm':  // 1 string to match.
360
0
        if (memcmp(Name.data()+2, "ega", 3) != 0)
361
0
          break;
362
0
        return "\xce\xa9";  // "Omega"
363
0
      }
364
0
      break;
365
0
    case 'P':  // 1 string to match.
366
0
      if (memcmp(Name.data()+1, "rime", 4) != 0)
367
0
        break;
368
0
      return "\xe2\x80\xb3";   // "Prime"
369
0
    case 'S':  // 1 string to match.
370
0
      if (memcmp(Name.data()+1, "igma", 4) != 0)
371
0
        break;
372
0
      return "\xce\xa3";   // "Sigma"
373
0
    case 'T':  // 2 strings to match.
374
0
      switch (Name[1]) {
375
0
      default: break;
376
0
      case 'R':  // 1 string to match.
377
0
        if (memcmp(Name.data()+2, "ADE", 3) != 0)
378
0
          break;
379
0
        return "\xe2\x84\xa2";   // "TRADE"
380
0
      case 'h':  // 1 string to match.
381
0
        if (memcmp(Name.data()+2, "eta", 3) != 0)
382
0
          break;
383
0
        return "\xce\x98";  // "Theta"
384
0
      }
385
0
      break;
386
0
    case 'U':  // 1 string to match.
387
0
      if (memcmp(Name.data()+1, "circ", 4) != 0)
388
0
        break;
389
0
      return "\xc3\x9b";   // "Ucirc"
390
0
    case 'Y':  // 1 string to match.
391
0
      if (memcmp(Name.data()+1, "circ", 4) != 0)
392
0
        break;
393
0
      return "\xc5\xb6";   // "Ycirc"
394
0
    case 'a':  // 4 strings to match.
395
0
      switch (Name[1]) {
396
0
      default: break;
397
0
      case 'c':  // 1 string to match.
398
0
        if (memcmp(Name.data()+2, "irc", 3) != 0)
399
0
          break;
400
0
        return "\xc3\xa2";   // "acirc"
401
0
      case 'l':  // 1 string to match.
402
0
        if (memcmp(Name.data()+2, "pha", 3) != 0)
403
0
          break;
404
0
        return "\xce\xb1";   // "alpha"
405
0
      case 'r':  // 1 string to match.
406
0
        if (memcmp(Name.data()+2, "ing", 3) != 0)
407
0
          break;
408
0
        return "\xc3\xa5";   // "aring"
409
0
      case 's':  // 1 string to match.
410
0
        if (memcmp(Name.data()+2, "ymp", 3) != 0)
411
0
          break;
412
0
        return "\xe2\x89\x88";  // "asymp"
413
0
      }
414
0
      break;
415
0
    case 'd':  // 1 string to match.
416
0
      if (memcmp(Name.data()+1, "elta", 4) != 0)
417
0
        break;
418
0
      return "\xce\xb4";   // "delta"
419
0
    case 'e':  // 3 strings to match.
420
0
      switch (Name[1]) {
421
0
      default: break;
422
0
      case 'c':  // 1 string to match.
423
0
        if (memcmp(Name.data()+2, "irc", 3) != 0)
424
0
          break;
425
0
        return "\xc3\xaa";   // "ecirc"
426
0
      case 'm':  // 1 string to match.
427
0
        if (memcmp(Name.data()+2, "pty", 3) != 0)
428
0
          break;
429
0
        return "\xe2\x88\x85";   // "empty"
430
0
      case 'q':  // 1 string to match.
431
0
        if (memcmp(Name.data()+2, "uiv", 3) != 0)
432
0
          break;
433
0
        return "\xe2\x89\xa1";  // "equiv"
434
0
      }
435
0
      break;
436
0
    case 'g':  // 1 string to match.
437
0
      if (memcmp(Name.data()+1, "amma", 4) != 0)
438
0
        break;
439
0
      return "\xce\xb3";   // "gamma"
440
0
    case 'i':  // 2 strings to match.
441
0
      switch (Name[1]) {
442
0
      default: break;
443
0
      case 'c':  // 1 string to match.
444
0
        if (memcmp(Name.data()+2, "irc", 3) != 0)
445
0
          break;
446
0
        return "\xc3\xae";   // "icirc"
447
0
      case 'n':  // 1 string to match.
448
0
        if (memcmp(Name.data()+2, "fin", 3) != 0)
449
0
          break;
450
0
        return "\xe2\x88\x9e";  // "infin"
451
0
      }
452
0
      break;
453
0
    case 'k':  // 1 string to match.
454
0
      if (memcmp(Name.data()+1, "appa", 4) != 0)
455
0
        break;
456
0
      return "\xce\xba";   // "kappa"
457
0
    case 'l':  // 3 strings to match.
458
0
      switch (Name[1]) {
459
0
      default: break;
460
0
      case 'c':  // 1 string to match.
461
0
        if (memcmp(Name.data()+2, "eil", 3) != 0)
462
0
          break;
463
0
        return "\xe2\x8c\x88";   // "lceil"
464
0
      case 'd':  // 1 string to match.
465
0
        if (memcmp(Name.data()+2, "quo", 3) != 0)
466
0
          break;
467
0
        return "\xe2\x80\x9c";   // "ldquo"
468
0
      case 's':  // 1 string to match.
469
0
        if (memcmp(Name.data()+2, "quo", 3) != 0)
470
0
          break;
471
0
        return "\xe2\x80\x98";  // "lsquo"
472
0
      }
473
0
      break;
474
0
    case 'm':  // 2 strings to match.
475
0
      switch (Name[1]) {
476
0
      default: break;
477
0
      case 'd':  // 1 string to match.
478
0
        if (memcmp(Name.data()+2, "ash", 3) != 0)
479
0
          break;
480
0
        return "\xe2\x80\x94";   // "mdash"
481
0
      case 'i':  // 1 string to match.
482
0
        if (memcmp(Name.data()+2, "nus", 3) != 0)
483
0
          break;
484
0
        return "\xe2\x88\x92";  // "minus"
485
0
      }
486
0
      break;
487
0
    case 'n':  // 3 strings to match.
488
0
      switch (Name[1]) {
489
0
      default: break;
490
0
      case 'a':  // 1 string to match.
491
0
        if (memcmp(Name.data()+2, "bla", 3) != 0)
492
0
          break;
493
0
        return "\xe2\x88\x87";   // "nabla"
494
0
      case 'd':  // 1 string to match.
495
0
        if (memcmp(Name.data()+2, "ash", 3) != 0)
496
0
          break;
497
0
        return "\xe2\x80\x93";   // "ndash"
498
0
      case 'o':  // 1 string to match.
499
0
        if (memcmp(Name.data()+2, "tin", 3) != 0)
500
0
          break;
501
0
        return "\xe2\x88\x89";  // "notin"
502
0
      }
503
0
      break;
504
0
    case 'o':  // 2 strings to match.
505
0
      switch (Name[1]) {
506
0
      default: break;
507
0
      case 'c':  // 1 string to match.
508
0
        if (memcmp(Name.data()+2, "irc", 3) != 0)
509
0
          break;
510
0
        return "\xc3\xb4";   // "ocirc"
511
0
      case 'm':  // 1 string to match.
512
0
        if (memcmp(Name.data()+2, "ega", 3) != 0)
513
0
          break;
514
0
        return "\xcf\x89";  // "omega"
515
0
      }
516
0
      break;
517
0
    case 'p':  // 1 string to match.
518
0
      if (memcmp(Name.data()+1, "rime", 4) != 0)
519
0
        break;
520
0
      return "\xe2\x80\xb2";   // "prime"
521
0
    case 'r':  // 4 strings to match.
522
0
      switch (Name[1]) {
523
0
      default: break;
524
0
      case 'a':  // 1 string to match.
525
0
        if (memcmp(Name.data()+2, "dic", 3) != 0)
526
0
          break;
527
0
        return "\xe2\x88\x9a";   // "radic"
528
0
      case 'c':  // 1 string to match.
529
0
        if (memcmp(Name.data()+2, "eil", 3) != 0)
530
0
          break;
531
0
        return "\xe2\x8c\x89";   // "rceil"
532
0
      case 'd':  // 1 string to match.
533
0
        if (memcmp(Name.data()+2, "quo", 3) != 0)
534
0
          break;
535
0
        return "\xe2\x80\x9d";   // "rdquo"
536
0
      case 's':  // 1 string to match.
537
0
        if (memcmp(Name.data()+2, "quo", 3) != 0)
538
0
          break;
539
0
        return "\xe2\x80\x99";  // "rsquo"
540
0
      }
541
0
      break;
542
0
    case 's':  // 2 strings to match.
543
0
      switch (Name[1]) {
544
0
      default: break;
545
0
      case 'i':  // 1 string to match.
546
0
        if (memcmp(Name.data()+2, "gma", 3) != 0)
547
0
          break;
548
0
        return "\xcf\x83";   // "sigma"
549
0
      case 'z':  // 1 string to match.
550
0
        if (memcmp(Name.data()+2, "lig", 3) != 0)
551
0
          break;
552
0
        return "\xc3\x9f";  // "szlig"
553
0
      }
554
0
      break;
555
4
    case 't':  // 3 strings to match.
556
4
      switch (Name[1]) {
557
4
      
default: break0
;
558
4
      case 'h':  // 1 string to match.
559
0
        if (memcmp(Name.data()+2, "eta", 3) != 0)
560
0
          break;
561
0
        return "\xce\xb8";   // "theta"
562
0
      case 'i':  // 1 string to match.
563
0
        if (memcmp(Name.data()+2, "mes", 3) != 0)
564
0
          break;
565
0
        return "\xc3\x97";   // "times"
566
4
      case 'r':  // 1 string to match.
567
4
        if (memcmp(Name.data()+2, "ade", 3) != 0)
568
0
          break;
569
4
        return "\xe2\x84\xa2";  // "trade"
570
0
      }
571
0
      break;
572
0
    case 'u':  // 1 string to match.
573
0
      if (memcmp(Name.data()+1, "circ", 4) != 0)
574
0
        break;
575
0
      return "\xc3\xbb";   // "ucirc"
576
0
    case 'y':  // 1 string to match.
577
0
      if (memcmp(Name.data()+1, "circ", 4) != 0)
578
0
        break;
579
0
      return "\xc5\xb7";  // "ycirc"
580
0
    }
581
0
    break;
582
0
  case 6:  // 37 strings to match.
583
0
    switch (Name[0]) {
584
0
    default: break;
585
0
    case 'A':  // 3 strings to match.
586
0
      switch (Name[1]) {
587
0
      default: break;
588
0
      case 'a':  // 1 string to match.
589
0
        if (memcmp(Name.data()+2, "cute", 4) != 0)
590
0
          break;
591
0
        return "\xc3\x81";   // "Aacute"
592
0
      case 'g':  // 1 string to match.
593
0
        if (memcmp(Name.data()+2, "rave", 4) != 0)
594
0
          break;
595
0
        return "\xc3\x80";   // "Agrave"
596
0
      case 't':  // 1 string to match.
597
0
        if (memcmp(Name.data()+2, "ilde", 4) != 0)
598
0
          break;
599
0
        return "\xc3\x83";  // "Atilde"
600
0
      }
601
0
      break;
602
0
    case 'C':  // 1 string to match.
603
0
      if (memcmp(Name.data()+1, "cedil", 5) != 0)
604
0
        break;
605
0
      return "\xc3\x87";   // "Ccedil"
606
0
    case 'E':  // 2 strings to match.
607
0
      switch (Name[1]) {
608
0
      default: break;
609
0
      case 'a':  // 1 string to match.
610
0
        if (memcmp(Name.data()+2, "cute", 4) != 0)
611
0
          break;
612
0
        return "\xc3\x89";   // "Eacute"
613
0
      case 'g':  // 1 string to match.
614
0
        if (memcmp(Name.data()+2, "rave", 4) != 0)
615
0
          break;
616
0
        return "\xc3\x88";  // "Egrave"
617
0
      }
618
0
      break;
619
0
    case 'I':  // 2 strings to match.
620
0
      switch (Name[1]) {
621
0
      default: break;
622
0
      case 'a':  // 1 string to match.
623
0
        if (memcmp(Name.data()+2, "cute", 4) != 0)
624
0
          break;
625
0
        return "\xc3\x8d";   // "Iacute"
626
0
      case 'g':  // 1 string to match.
627
0
        if (memcmp(Name.data()+2, "rave", 4) != 0)
628
0
          break;
629
0
        return "\xc3\x8c";  // "Igrave"
630
0
      }
631
0
      break;
632
0
    case 'L':  // 1 string to match.
633
0
      if (memcmp(Name.data()+1, "ambda", 5) != 0)
634
0
        break;
635
0
      return "\xce\x9b";   // "Lambda"
636
0
    case 'N':  // 1 string to match.
637
0
      if (memcmp(Name.data()+1, "tilde", 5) != 0)
638
0
        break;
639
0
      return "\xc3\x91";   // "Ntilde"
640
0
    case 'O':  // 3 strings to match.
641
0
      switch (Name[1]) {
642
0
      default: break;
643
0
      case 'a':  // 1 string to match.
644
0
        if (memcmp(Name.data()+2, "cute", 4) != 0)
645
0
          break;
646
0
        return "\xc3\x93";   // "Oacute"
647
0
      case 'g':  // 1 string to match.
648
0
        if (memcmp(Name.data()+2, "rave", 4) != 0)
649
0
          break;
650
0
        return "\xc3\x92";   // "Ograve"
651
0
      case 't':  // 1 string to match.
652
0
        if (memcmp(Name.data()+2, "ilde", 4) != 0)
653
0
          break;
654
0
        return "\xc3\x95";  // "Otilde"
655
0
      }
656
0
      break;
657
0
    case 'U':  // 2 strings to match.
658
0
      switch (Name[1]) {
659
0
      default: break;
660
0
      case 'a':  // 1 string to match.
661
0
        if (memcmp(Name.data()+2, "cute", 4) != 0)
662
0
          break;
663
0
        return "\xc3\x9a";   // "Uacute"
664
0
      case 'g':  // 1 string to match.
665
0
        if (memcmp(Name.data()+2, "rave", 4) != 0)
666
0
          break;
667
0
        return "\xc3\x99";  // "Ugrave"
668
0
      }
669
0
      break;
670
0
    case 'Y':  // 1 string to match.
671
0
      if (memcmp(Name.data()+1, "acute", 5) != 0)
672
0
        break;
673
0
      return "\xc3\x9d";   // "Yacute"
674
0
    case 'a':  // 3 strings to match.
675
0
      switch (Name[1]) {
676
0
      default: break;
677
0
      case 'a':  // 1 string to match.
678
0
        if (memcmp(Name.data()+2, "cute", 4) != 0)
679
0
          break;
680
0
        return "\xc3\xa1";   // "aacute"
681
0
      case 'g':  // 1 string to match.
682
0
        if (memcmp(Name.data()+2, "rave", 4) != 0)
683
0
          break;
684
0
        return "\xc3\xa0";   // "agrave"
685
0
      case 't':  // 1 string to match.
686
0
        if (memcmp(Name.data()+2, "ilde", 4) != 0)
687
0
          break;
688
0
        return "\xc3\xa3";  // "atilde"
689
0
      }
690
0
      break;
691
0
    case 'c':  // 1 string to match.
692
0
      if (memcmp(Name.data()+1, "cedil", 5) != 0)
693
0
        break;
694
0
      return "\xc3\xa7";   // "ccedil"
695
0
    case 'e':  // 2 strings to match.
696
0
      switch (Name[1]) {
697
0
      default: break;
698
0
      case 'a':  // 1 string to match.
699
0
        if (memcmp(Name.data()+2, "cute", 4) != 0)
700
0
          break;
701
0
        return "\xc3\xa9";   // "eacute"
702
0
      case 'g':  // 1 string to match.
703
0
        if (memcmp(Name.data()+2, "rave", 4) != 0)
704
0
          break;
705
0
        return "\xc3\xa8";  // "egrave"
706
0
      }
707
0
      break;
708
0
    case 'i':  // 2 strings to match.
709
0
      switch (Name[1]) {
710
0
      default: break;
711
0
      case 'a':  // 1 string to match.
712
0
        if (memcmp(Name.data()+2, "cute", 4) != 0)
713
0
          break;
714
0
        return "\xc3\xad";   // "iacute"
715
0
      case 'g':  // 1 string to match.
716
0
        if (memcmp(Name.data()+2, "rave", 4) != 0)
717
0
          break;
718
0
        return "\xc3\xac";  // "igrave"
719
0
      }
720
0
      break;
721
0
    case 'l':  // 2 strings to match.
722
0
      switch (Name[1]) {
723
0
      default: break;
724
0
      case 'a':  // 1 string to match.
725
0
        if (memcmp(Name.data()+2, "mbda", 4) != 0)
726
0
          break;
727
0
        return "\xce\xbb";   // "lambda"
728
0
      case 'f':  // 1 string to match.
729
0
        if (memcmp(Name.data()+2, "loor", 4) != 0)
730
0
          break;
731
0
        return "\xe2\x8c\x8a";  // "lfloor"
732
0
      }
733
0
      break;
734
0
    case 'n':  // 1 string to match.
735
0
      if (memcmp(Name.data()+1, "tilde", 5) != 0)
736
0
        break;
737
0
      return "\xc3\xb1";   // "ntilde"
738
0
    case 'o':  // 3 strings to match.
739
0
      switch (Name[1]) {
740
0
      default: break;
741
0
      case 'a':  // 1 string to match.
742
0
        if (memcmp(Name.data()+2, "cute", 4) != 0)
743
0
          break;
744
0
        return "\xc3\xb3";   // "oacute"
745
0
      case 'g':  // 1 string to match.
746
0
        if (memcmp(Name.data()+2, "rave", 4) != 0)
747
0
          break;
748
0
        return "\xc3\xb2";   // "ograve"
749
0
      case 't':  // 1 string to match.
750
0
        if (memcmp(Name.data()+2, "ilde", 4) != 0)
751
0
          break;
752
0
        return "\xc3\xb5";  // "otilde"
753
0
      }
754
0
      break;
755
0
    case 'p':  // 1 string to match.
756
0
      if (memcmp(Name.data()+1, "lusmn", 5) != 0)
757
0
        break;
758
0
      return "\xc2\xb1";   // "plusmn"
759
0
    case 'r':  // 1 string to match.
760
0
      if (memcmp(Name.data()+1, "floor", 5) != 0)
761
0
        break;
762
0
      return "\xe2\x8c\x8b";   // "rfloor"
763
0
    case 's':  // 1 string to match.
764
0
      if (memcmp(Name.data()+1, "igmaf", 5) != 0)
765
0
        break;
766
0
      return "\xcf\x82";   // "sigmaf"
767
0
    case 'u':  // 2 strings to match.
768
0
      switch (Name[1]) {
769
0
      default: break;
770
0
      case 'a':  // 1 string to match.
771
0
        if (memcmp(Name.data()+2, "cute", 4) != 0)
772
0
          break;
773
0
        return "\xc3\xba";   // "uacute"
774
0
      case 'g':  // 1 string to match.
775
0
        if (memcmp(Name.data()+2, "rave", 4) != 0)
776
0
          break;
777
0
        return "\xc3\xb9";  // "ugrave"
778
0
      }
779
0
      break;
780
0
    case 'y':  // 2 strings to match.
781
0
      switch (Name[1]) {
782
0
      default: break;
783
0
      case 'a':  // 1 string to match.
784
0
        if (memcmp(Name.data()+2, "cute", 4) != 0)
785
0
          break;
786
0
        return "\xc3\xbd";   // "yacute"
787
0
      case 'g':  // 1 string to match.
788
0
        if (memcmp(Name.data()+2, "rave", 4) != 0)
789
0
          break;
790
0
        return "\xe1\xbb\xb3";  // "ygrave"
791
0
      }
792
0
      break;
793
0
    }
794
0
    break;
795
0
  case 7:  // 3 strings to match.
796
0
    switch (Name[0]) {
797
0
    default: break;
798
0
    case 'U':  // 1 string to match.
799
0
      if (memcmp(Name.data()+1, "psilon", 6) != 0)
800
0
        break;
801
0
      return "\xce\xa5";   // "Upsilon"
802
0
    case 'e':  // 1 string to match.
803
0
      if (memcmp(Name.data()+1, "psilon", 6) != 0)
804
0
        break;
805
0
      return "\xce\xb5";   // "epsilon"
806
0
    case 'u':  // 1 string to match.
807
0
      if (memcmp(Name.data()+1, "psilon", 6) != 0)
808
0
        break;
809
0
      return "\xcf\x85";  // "upsilon"
810
0
    }
811
0
    break;
812
0
  }
813
0
  return StringRef();
814
0
}
815