# HTML grammar HTML: __ [doctype __] *html-element%__ __ doctype: " html-element: void-element / raw-element / template-element / normal-element void-element: `< ("area"/"base"/"br"/"col"/"embed"/"hr"/"img"/"input"/"link"/"meta"/"param"/"source"/"track"/"wbr") __attributes__ [`/] __ `> template-element: "") % (comment / html-element) raw-element: `< @tag=("script"/"style"/"textarea"/"title") __attributes__ `>...(") normal-element: `< @tag=id __attributes__ `>...(") % (comment / html-element) comment: "" attributes: *attribute%__ attribute: (+id%`:)__`=__ (id / `" ..`" / `' ..`') attribute: (+id%`:)__`=__ (id / `" ..`" / `' ..`')