         { [ dup "/>" member? ] [ (after-attribute-name-state) ] }
         { [ dup f = ] [ (after-attribute-name-state) ] }
         { [ dup CHAR: = = ] [ unexpected-equals-sign-before-attribute-name ] }
-        [ (attribute-name-state) ]
+        [ reach push-attribute (attribute-name-state) ]
     } cond ;
 
 : before-attribute-name-state ( document n/f string -- document n'/f string )

tree
tree-insert-mode
doctype-token
tag-name
attribute-name
attribute-value

        V{ } clone >>tree
        initial-mode >>tree-insert-mode
        <doctype> >>doctype-token
        <tag> >>tag
        SBUF" " clone >>tag-name
        SBUF" " clone >>attribute-name
        SBUF" " clone >>attribute-value
