Твои предложения - чем парсить? Как только ты сталкиваешься с ситуацией "быстро парсить поток байт" что льётся без остановки, спасают только автоматы (и то лишь в случае регулярных грамматик). В остальных случаях нужны уже синтаксические анализаторы.
Рукописный лесосипед может требоваться в силу специфичности требований - таких как окружающий шум.
У меня при генерации мультиметодов нужно парсить содержимое комментариев. Но тут прикол в том, что парсеры эгоистичны - они парсят вход целиком. Пришёл слабать автомат, что извлекает плюсовые комментарии из исходного кода. Ничего сложного.
Автоматы простые как копейки, и умеют ээфективно парсить регулярные грамматики - в этом их сила. Хоть, конечно, есть ньюансы применения, и конкретных реализацией автоматов чуть более, чем дохуя.
Но кодировать вручную иногда проще, чем искать хуй-пойми что.
no subject
Date: 2009-11-10 07:17 am (UTC)Как только ты сталкиваешься с ситуацией "быстро парсить поток байт" что льётся без остановки, спасают только автоматы (и то лишь в случае регулярных грамматик).
В остальных случаях нужны уже синтаксические анализаторы.
Рукописный лесосипед может требоваться в силу специфичности требований - таких как окружающий шум.
У меня при генерации мультиметодов нужно парсить содержимое комментариев. Но тут прикол в том, что парсеры эгоистичны - они парсят вход целиком.
Пришёл слабать автомат, что извлекает плюсовые комментарии из исходного кода.
Ничего сложного.
Автоматы простые как копейки, и умеют ээфективно парсить регулярные грамматики - в этом их сила.
Хоть, конечно, есть ньюансы применения, и конкретных реализацией автоматов чуть более, чем дохуя.
Но кодировать вручную иногда проще, чем искать хуй-пойми что.