1 class Tag<string spelling> {
2 string Spelling = spelling;
3 bit EndTagOptional = 0;
4 bit EndTagForbidden = 0;
8 def Strong : Tag<"strong">;
13 def Small : Tag<"small">;
14 def Strike : Tag<"strike">;
17 def Font : Tag<"font">;
19 def Hr : Tag<"hr"> { let EndTagForbidden = 1; }
21 def Span : Tag<"span">;
28 def Code : Tag<"code">;
29 def Blockquote : Tag<"blockquote">;
32 def Img : Tag<"img"> { let EndTagForbidden = 1; }
33 def P : Tag<"p"> { let EndTagOptional = 1; }
34 def Br : Tag<"br"> { let EndTagForbidden = 1; }
40 def Li : Tag<"li"> { let EndTagOptional = 1; }
42 def Dt : Tag<"dt"> { let EndTagOptional = 1; }
43 def Dd : Tag<"dd"> { let EndTagOptional = 1; }
44 def Table : Tag<"table">;
45 def Caption : Tag<"caption">;
46 def Thead : Tag<"thead"> { let EndTagOptional = 1; }
47 def Tfoot : Tag<"tfoot"> { let EndTagOptional = 1; }
48 def Tbody : Tag<"tbody"> { let EndTagOptional = 1; }
49 def Colgroup : Tag<"colgroup"> { let EndTagOptional = 1; }
50 def Col : Tag<"col"> { let EndTagForbidden = 1; }
51 def Tr : Tag<"tr"> { let EndTagOptional = 1; }
52 def Th : Tag<"th"> { let EndTagOptional = 1; }
53 def Td : Tag<"td"> { let EndTagOptional = 1; }