title: Recursive Descent Parser for C
body: <p>I'm looking for a parser for C.  Here is what I need:</p>
  
  <ol>
  <li>Written in C (<em>not</em> C++).</li>
  <li>Handwritten (not generated).</li>
  <li>BSD or similarly permissive license.</li>
  <li>Capable of nontrivially parsing itself (can be a subset of C).</li>
  </ol>
  
  <p>It can be part of a project as long as it's decoupled so that I can pull out the parser.</p>
  
  <p>Is there an existing parser that fulfills these requirements?</p>