%{
#include "tag_lookup.h"
#include "macros.h"
#include "ascii.h"
%}

%ignore-case
%struct-type
%omit-struct-type
%compare-lengths
%readonly-tables
%null-strings
%includes
%define lookup-function-name gumbo_tag_lookup
%define slot-name key
%define initializer-suffix ,GUMBO_TAG_UNKNOWN
TagHashSlot;

%%
html, GUMBO_TAG_HTML
head, GUMBO_TAG_HEAD
title, GUMBO_TAG_TITLE
base, GUMBO_TAG_BASE
link, GUMBO_TAG_LINK
meta, GUMBO_TAG_META
style, GUMBO_TAG_STYLE
script, GUMBO_TAG_SCRIPT
noscript, GUMBO_TAG_NOSCRIPT
template, GUMBO_TAG_TEMPLATE
body, GUMBO_TAG_BODY
article, GUMBO_TAG_ARTICLE
section, GUMBO_TAG_SECTION
nav, GUMBO_TAG_NAV
aside, GUMBO_TAG_ASIDE
h1, GUMBO_TAG_H1
h2, GUMBO_TAG_H2
h3, GUMBO_TAG_H3
h4, GUMBO_TAG_H4
h5, GUMBO_TAG_H5
h6, GUMBO_TAG_H6
hgroup, GUMBO_TAG_HGROUP
header, GUMBO_TAG_HEADER
footer, GUMBO_TAG_FOOTER
address, GUMBO_TAG_ADDRESS
p, GUMBO_TAG_P
hr, GUMBO_TAG_HR
pre, GUMBO_TAG_PRE
blockquote, GUMBO_TAG_BLOCKQUOTE
ol, GUMBO_TAG_OL
ul, GUMBO_TAG_UL
li, GUMBO_TAG_LI
dl, GUMBO_TAG_DL
dt, GUMBO_TAG_DT
dd, GUMBO_TAG_DD
figure, GUMBO_TAG_FIGURE
figcaption, GUMBO_TAG_FIGCAPTION
main, GUMBO_TAG_MAIN
div, GUMBO_TAG_DIV
a, GUMBO_TAG_A
em, GUMBO_TAG_EM
strong, GUMBO_TAG_STRONG
small, GUMBO_TAG_SMALL
s, GUMBO_TAG_S
cite, GUMBO_TAG_CITE
q, GUMBO_TAG_Q
dfn, GUMBO_TAG_DFN
abbr, GUMBO_TAG_ABBR
data, GUMBO_TAG_DATA
time, GUMBO_TAG_TIME
code, GUMBO_TAG_CODE
var, GUMBO_TAG_VAR
samp, GUMBO_TAG_SAMP
kbd, GUMBO_TAG_KBD
sub, GUMBO_TAG_SUB
sup, GUMBO_TAG_SUP
i, GUMBO_TAG_I
b, GUMBO_TAG_B
u, GUMBO_TAG_U
mark, GUMBO_TAG_MARK
ruby, GUMBO_TAG_RUBY
rt, GUMBO_TAG_RT
rp, GUMBO_TAG_RP
bdi, GUMBO_TAG_BDI
bdo, GUMBO_TAG_BDO
span, GUMBO_TAG_SPAN
br, GUMBO_TAG_BR
wbr, GUMBO_TAG_WBR
ins, GUMBO_TAG_INS
del, GUMBO_TAG_DEL
image, GUMBO_TAG_IMAGE
img, GUMBO_TAG_IMG
iframe, GUMBO_TAG_IFRAME
embed, GUMBO_TAG_EMBED
object, GUMBO_TAG_OBJECT
param, GUMBO_TAG_PARAM
video, GUMBO_TAG_VIDEO
audio, GUMBO_TAG_AUDIO
source, GUMBO_TAG_SOURCE
track, GUMBO_TAG_TRACK
canvas, GUMBO_TAG_CANVAS
map, GUMBO_TAG_MAP
area, GUMBO_TAG_AREA
math, GUMBO_TAG_MATH
mi, GUMBO_TAG_MI
mo, GUMBO_TAG_MO
mn, GUMBO_TAG_MN
ms, GUMBO_TAG_MS
mtext, GUMBO_TAG_MTEXT
mglyph, GUMBO_TAG_MGLYPH
malignmark, GUMBO_TAG_MALIGNMARK
annotation-xml, GUMBO_TAG_ANNOTATION_XML
svg, GUMBO_TAG_SVG
foreignobject, GUMBO_TAG_FOREIGNOBJECT
desc, GUMBO_TAG_DESC
table, GUMBO_TAG_TABLE
caption, GUMBO_TAG_CAPTION
colgroup, GUMBO_TAG_COLGROUP
col, GUMBO_TAG_COL
tbody, GUMBO_TAG_TBODY
thead, GUMBO_TAG_THEAD
tfoot, GUMBO_TAG_TFOOT
tr, GUMBO_TAG_TR
td, GUMBO_TAG_TD
th, GUMBO_TAG_TH
form, GUMBO_TAG_FORM
fieldset, GUMBO_TAG_FIELDSET
legend, GUMBO_TAG_LEGEND
label, GUMBO_TAG_LABEL
input, GUMBO_TAG_INPUT
button, GUMBO_TAG_BUTTON
select, GUMBO_TAG_SELECT
datalist, GUMBO_TAG_DATALIST
optgroup, GUMBO_TAG_OPTGROUP
option, GUMBO_TAG_OPTION
textarea, GUMBO_TAG_TEXTAREA
keygen, GUMBO_TAG_KEYGEN
output, GUMBO_TAG_OUTPUT
progress, GUMBO_TAG_PROGRESS
meter, GUMBO_TAG_METER
details, GUMBO_TAG_DETAILS
summary, GUMBO_TAG_SUMMARY
menu, GUMBO_TAG_MENU
menuitem, GUMBO_TAG_MENUITEM
applet, GUMBO_TAG_APPLET
acronym, GUMBO_TAG_ACRONYM
bgsound, GUMBO_TAG_BGSOUND
dir, GUMBO_TAG_DIR
frame, GUMBO_TAG_FRAME
frameset, GUMBO_TAG_FRAMESET
noframes, GUMBO_TAG_NOFRAMES
listing, GUMBO_TAG_LISTING
xmp, GUMBO_TAG_XMP
nextid, GUMBO_TAG_NEXTID
noembed, GUMBO_TAG_NOEMBED
plaintext, GUMBO_TAG_PLAINTEXT
rb, GUMBO_TAG_RB
strike, GUMBO_TAG_STRIKE
basefont, GUMBO_TAG_BASEFONT
big, GUMBO_TAG_BIG
blink, GUMBO_TAG_BLINK
center, GUMBO_TAG_CENTER
font, GUMBO_TAG_FONT
marquee, GUMBO_TAG_MARQUEE
multicol, GUMBO_TAG_MULTICOL
nobr, GUMBO_TAG_NOBR
spacer, GUMBO_TAG_SPACER
tt, GUMBO_TAG_TT
rtc, GUMBO_TAG_RTC
dialog, GUMBO_TAG_DIALOG
search, GUMBO_TAG_SEARCH
