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