実際、本格的なLex/Yaccではないかもしれません。Webアプリを管理するためのコマンドインタープリターフロントエンドを実装しています。文法定義を取得して、オブジェクトのメソッドを直接呼び出すパーサーに変換するものを探しています。ASP.NET MVCが呼び出すコントローラーメソッドを把握する方法、および引数をポニーアップする方法と同様です。
したがって、ユーザーがコマンドプロンプトで「createfoo」と入力した場合、メソッドを透過的に呼び出す必要があります。
private void Create(string id) { /* ... */ }
ああ、そしてそれがそれらのコントローラーメソッドの(例えば)属性からヘルプテキストを生成することができれば、それも素晴らしいでしょう。