实际上,也许不是成熟的 Lex/Yacc。我正在实现一个命令解释器前端来管理一个 webapp。我正在寻找可以接受语法定义并将其转换为直接调用我的对象上的方法的解析器的东西。类似于 ASP.NET MVC 如何确定调用哪个控制器方法,以及如何计算参数。
因此,如果用户在我的命令提示符下键入“create foo”,它应该透明地调用一个方法:
private void Create(string id) { /* ... */ }
哦,如果它可以从那些控制器方法的(例如)属性中生成帮助文本,那也太棒了。