<p>I'm looking for an open-source SGML parser written in plain C. This is to parse bona-fide SGML, not malformed stuff.</p>

<p>Any ideas?</p>

This came up on a fast Google search (
sgml c parser
):
http://www.w3.org/Library/src/SGML.html
. Does that help?
Or perhaps this one:
http://www.math.utah.edu/pub/sgml/sgmls/