(parse-char) ( quot: ( ch -- ? ) accum spot -- )


Vocabulary
xml.tokenize

Inputs
quota quotation with stack effect ( ch -- ? )
accuman object
spotan object


Outputs
None

Definition


:: (parse-char) ( quot: ( ch -- ? ) accum spot -- )
spot char>> :> char {
{ [ char not ] [ ] }
{ [ char quot call ] [ spot next* ] }
{
[ char 38 eq? ]
[ accum parse-entity quot accum spot (parse-char) ]
}
{
[ char 37 eq? [ in-dtd? get ] [ f ] if ]
[ accum parse-pe quot accum spot (parse-char) ]
}
[
char accum push spot next*
quot accum spot (parse-char)
]
} cond ; inline recursive