Здравствуйте, Sinclair, Вы писали:
S>Так вот: они — тоже не работают. Работают парсеры, честно построенные на стейт-машине. У них всё в порядке с быстродействием и надёжностью. Плохо у них только с объёмом ручного кода. DSL для построения парсеров позволил бы значительно сократить время разработки и избежать приседаний с внезапным переходом с CSV на TDV после запуска системы в эксплуатацию в РФ, где десятичной точкой неожиданно является запятая.
Это не совсем так. Точнее, совсем не так. Самые быстрые парсеры получаются ручной оптимизацией рекурсивного ad hoc кода. Посмотрите на clang, на gcc. А вот "построенные на стейт-машине" — это как раз та самая драконовщина, которую надо всячески искоренять.