     drop ;
 
 : push-parsing-word ( word -- )
-    lexer-parsing-word new
-    swap >>word
     lexer get [
-        [ line>>      >>line      ]
-        [ line-text>> >>line-text ]
-        [ column>>    >>column    ] tri
+        [ line>> ] [ line-text>> ] [ column>> ] tri
+        lexer-parsing-word boa
     ] [ parsing-words>> push ] bi ;
 
 : pop-parsing-word ( -- )

    [ CHAR: \t eq? [ "[space]" "[tab]" unexpected ] when ] keep ; inline

: skip ( i seq ? -- n )
    over length
    [ [ swap forbid-tab CHAR: \s eq? xor ] curry find-from drop ] dip or ;

: change-lexer-column ( lexer quot -- )
    [ [ column>> ] [ line-text>> ] bi ] prepose keep

        over line>> number>string length
        CHAR: \s pad-head
        ": " append write
    ] [ line-text>> "" or print ] bi
    simple-lexer-dump ;

: parsing-word-lexer-dump ( error parsing-word -- )
