Здесь на SO люди иногда говорят что-то вроде "вы не можете разобрать X с регулярными выражениями, потому что X не является обычным языком". Однако, по моему мнению, современные механизмы регулярных выражений могут сравниться не только с обычными языками в смысле Хомского. Мои вопросы:
с учетом механизма регулярных выражений, который поддерживает
- обратные_связи
- поисковые запросы неограниченной ширины
- рекурсия, например
(?R)
какие языки могут анализировать? Может ли он анализировать любой контекстно-свободный язык, а если нет, то каков будет контрпример?
(Точнее, под "parse" я имею в виду "построить одно регулярное выражение, которое примет все строки, сгенерированные грамматикой X, и отклонит все остальные строки" ).
Добавить.: Мне особенно интересно увидеть пример контекстно-свободного языка, который не смог бы проанализировать современные механизмы регулярных выражений (Perl, Net, pimeon regex module).