На самом деле, возможно, не полномасштабный Lex/Yacc. Я использую интерфейс командной строки для администрирования webapp. Я ищу что-то, что возьмет определение грамматики и превратит его в парсер, который напрямую вызывает методы на моем объекте. Подобно тому, как ASP.NET MVC может определить, какой метод контроллера вызывать, и как рассчитать аргументы.Lex/Yacc для C#?
Таким образом, если пользователь «создать Foo» в моей командной строке, он должен прозрачно вызывать метод:
private void Create(string id) { /* ... */ }
О, и если он может генерировать текст справки из (например) атрибутов на тех, контроллеры, это тоже было бы потрясающе.
В то время как основные токенизеры довольно просты в написании - я делал несколько лет, они все еще не свободны, если кто-то уже сделал работу. Кроме того, да, я рассмотрел PowerShell. Я недостаточно знаком с этим, чтобы решить, хорошо ли это или нет. –
См. Http://msdn.microsoft.com/en-us/library/ms714622.aspx для получения информации о командлетах. –
Было бы неплохо иметь C++ CLI lex/yacc – Dmitry