Мы использовали ANTLR для создания парсера для грамматики, подобной SQL, и хотя результаты в большинстве случаев являются удовлетворительными, есть несколько краевых случаев, которые нам нужно исправить; и поскольку мы сами не писали парсер, мы не очень хорошо это понимаем, чтобы иметь возможность делать разумные изменения.
Итак, мы хотели бы написать собственный парсер. Каков наилучший способ написать парсер вручную? Какой парсер следует использовать - рекурсивный спуск рекомендуется; это правильно? Мы будем писать его на С#, поэтому любые учебники для написания парсеров на этом языке были бы с благодарностью приняты.
UPDATE: меня также интересуют ответы, связанные с F #. Я искал причину использования этого проекта.