Наработка выросла из необходимости быстро написать парсер для html (для
дипломной работы и в образовательно-показательных целях задача стояла писать велосипеды и не брать готовое). А как известно, конечные автоматы — это самое оно для сканеров и прочих лексических анализаторов. В итоге всей годовой работы автоматы (дальше — КА) и написание (рисование) схем для анализа html-текстов были наиболее приятной и наиболее богатой на полезные последействия подзадачкой.
Наработка уже немножко выросла из коротких штанишек (хотя и не избавилась до конца от своих родовых, студенческих пятен — например, имён переменных и процедур на русском языке [sic!], только недавно, с месяц назад, задним числом были добавлены синонимы в латинице). Активно используется, например, в
ygrek'овых
регулярных выражениях на SPF (NFA-реализация) и конечно в моих программках на скорую руку (см. ссылки на примеры кода в конце).
Read more...