1/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2|*                                                                            *|
3|* HTML tag name matcher                                                      *|
4|*                                                                            *|
5|* Automatically generated file, do not edit!                                 *|
6|*                                                                            *|
7\*===----------------------------------------------------------------------===*/
8
9bool isHTMLTagName(StringRef Name) {
10  switch (Name.size()) {
11  default: break;
12  case 1:	 // 6 strings to match.
13    switch (Name[0]) {
14    default: break;
15    case 'a':	 // 1 string to match.
16      return true;	 // "a"
17    case 'b':	 // 1 string to match.
18      return true;	 // "b"
19    case 'i':	 // 1 string to match.
20      return true;	 // "i"
21    case 'p':	 // 1 string to match.
22      return true;	 // "p"
23    case 's':	 // 1 string to match.
24      return true;	 // "s"
25    case 'u':	 // 1 string to match.
26      return true;	 // "u"
27    }
28    break;
29  case 2:	 // 19 strings to match.
30    switch (Name[0]) {
31    default: break;
32    case 'b':	 // 1 string to match.
33      if (Name[1] != 'r')
34        break;
35      return true;	 // "br"
36    case 'd':	 // 3 strings to match.
37      switch (Name[1]) {
38      default: break;
39      case 'd':	 // 1 string to match.
40        return true;	 // "dd"
41      case 'l':	 // 1 string to match.
42        return true;	 // "dl"
43      case 't':	 // 1 string to match.
44        return true;	 // "dt"
45      }
46      break;
47    case 'e':	 // 1 string to match.
48      if (Name[1] != 'm')
49        break;
50      return true;	 // "em"
51    case 'h':	 // 7 strings to match.
52      switch (Name[1]) {
53      default: break;
54      case '1':	 // 1 string to match.
55        return true;	 // "h1"
56      case '2':	 // 1 string to match.
57        return true;	 // "h2"
58      case '3':	 // 1 string to match.
59        return true;	 // "h3"
60      case '4':	 // 1 string to match.
61        return true;	 // "h4"
62      case '5':	 // 1 string to match.
63        return true;	 // "h5"
64      case '6':	 // 1 string to match.
65        return true;	 // "h6"
66      case 'r':	 // 1 string to match.
67        return true;	 // "hr"
68      }
69      break;
70    case 'l':	 // 1 string to match.
71      if (Name[1] != 'i')
72        break;
73      return true;	 // "li"
74    case 'o':	 // 1 string to match.
75      if (Name[1] != 'l')
76        break;
77      return true;	 // "ol"
78    case 't':	 // 4 strings to match.
79      switch (Name[1]) {
80      default: break;
81      case 'd':	 // 1 string to match.
82        return true;	 // "td"
83      case 'h':	 // 1 string to match.
84        return true;	 // "th"
85      case 'r':	 // 1 string to match.
86        return true;	 // "tr"
87      case 't':	 // 1 string to match.
88        return true;	 // "tt"
89      }
90      break;
91    case 'u':	 // 1 string to match.
92      if (Name[1] != 'l')
93        break;
94      return true;	 // "ul"
95    }
96    break;
97  case 3:	 // 9 strings to match.
98    switch (Name[0]) {
99    default: break;
100    case 'b':	 // 1 string to match.
101      if (memcmp(Name.data()+1, "ig", 2) != 0)
102        break;
103      return true;	 // "big"
104    case 'c':	 // 1 string to match.
105      if (memcmp(Name.data()+1, "ol", 2) != 0)
106        break;
107      return true;	 // "col"
108    case 'd':	 // 2 strings to match.
109      switch (Name[1]) {
110      default: break;
111      case 'e':	 // 1 string to match.
112        if (Name[2] != 'l')
113          break;
114        return true;	 // "del"
115      case 'i':	 // 1 string to match.
116        if (Name[2] != 'v')
117          break;
118        return true;	 // "div"
119      }
120      break;
121    case 'i':	 // 2 strings to match.
122      switch (Name[1]) {
123      default: break;
124      case 'm':	 // 1 string to match.
125        if (Name[2] != 'g')
126          break;
127        return true;	 // "img"
128      case 'n':	 // 1 string to match.
129        if (Name[2] != 's')
130          break;
131        return true;	 // "ins"
132      }
133      break;
134    case 'p':	 // 1 string to match.
135      if (memcmp(Name.data()+1, "re", 2) != 0)
136        break;
137      return true;	 // "pre"
138    case 's':	 // 2 strings to match.
139      if (Name[1] != 'u')
140        break;
141      switch (Name[2]) {
142      default: break;
143      case 'b':	 // 1 string to match.
144        return true;	 // "sub"
145      case 'p':	 // 1 string to match.
146        return true;	 // "sup"
147      }
148      break;
149    }
150    break;
151  case 4:	 // 3 strings to match.
152    switch (Name[0]) {
153    default: break;
154    case 'c':	 // 1 string to match.
155      if (memcmp(Name.data()+1, "ode", 3) != 0)
156        break;
157      return true;	 // "code"
158    case 'f':	 // 1 string to match.
159      if (memcmp(Name.data()+1, "ont", 3) != 0)
160        break;
161      return true;	 // "font"
162    case 's':	 // 1 string to match.
163      if (memcmp(Name.data()+1, "pan", 3) != 0)
164        break;
165      return true;	 // "span"
166    }
167    break;
168  case 5:	 // 5 strings to match.
169    switch (Name[0]) {
170    default: break;
171    case 's':	 // 1 string to match.
172      if (memcmp(Name.data()+1, "mall", 4) != 0)
173        break;
174      return true;	 // "small"
175    case 't':	 // 4 strings to match.
176      switch (Name[1]) {
177      default: break;
178      case 'a':	 // 1 string to match.
179        if (memcmp(Name.data()+2, "ble", 3) != 0)
180          break;
181        return true;	 // "table"
182      case 'b':	 // 1 string to match.
183        if (memcmp(Name.data()+2, "ody", 3) != 0)
184          break;
185        return true;	 // "tbody"
186      case 'f':	 // 1 string to match.
187        if (memcmp(Name.data()+2, "oot", 3) != 0)
188          break;
189        return true;	 // "tfoot"
190      case 'h':	 // 1 string to match.
191        if (memcmp(Name.data()+2, "ead", 3) != 0)
192          break;
193        return true;	 // "thead"
194      }
195      break;
196    }
197    break;
198  case 6:	 // 2 strings to match.
199    if (memcmp(Name.data()+0, "str", 3) != 0)
200      break;
201    switch (Name[3]) {
202    default: break;
203    case 'i':	 // 1 string to match.
204      if (memcmp(Name.data()+4, "ke", 2) != 0)
205        break;
206      return true;	 // "strike"
207    case 'o':	 // 1 string to match.
208      if (memcmp(Name.data()+4, "ng", 2) != 0)
209        break;
210      return true;	 // "strong"
211    }
212    break;
213  case 7:	 // 1 string to match.
214    if (memcmp(Name.data()+0, "caption", 7) != 0)
215      break;
216    return true;	 // "caption"
217  case 8:	 // 1 string to match.
218    if (memcmp(Name.data()+0, "colgroup", 8) != 0)
219      break;
220    return true;	 // "colgroup"
221  case 10:	 // 1 string to match.
222    if (memcmp(Name.data()+0, "blockquote", 10) != 0)
223      break;
224    return true;	 // "blockquote"
225  }
226  return false;
227}
228
229