While I don't know much about natural language parsing -- many people will tell you *I* need a better grammatic parser unit -- you might want to check out Alice. Alice is the winner of the 2000 Loebner Prize which is a Turing Test.
The basis of a Turing test is that a subject, talking (currently text based) with a human and computer, not be able to determine which is which. While the majority of the code would be of only academic interest to you, the AI must intelligently construct complex yet grammatically correct sentences; so it follows that it would have some sort of "reverse parser". I don't know how tightly coupled the grammatical ruleset and sentence constructors are to the rest of the code base, but you might want to give it a look -- even if only for ideas. The code is freely available here.More on Alan Turing sometimes dubbed "The Founder of Computer Science"
<code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>