Написание парсера для регулярных выражений

Даже после многих лет программирования, мне стыдно сказать, что я никогда не понимал регулярные выражения полностью). В общем, когда проблема требует регулярного выражения, я обычно могу (после множества ссылок на синтаксис) найти подходящий, но это ' Я использую эту технику все чаще.

Итак, чтобы научить себя и правильно понимать регулярные выражения , я решил делать то, что всегда делаю, пытаясь чему-то научиться; т. е. попытаться написать что-то амбициозное, от которого я, вероятно, откажусь, как только почувствую, что достаточно выучил.

Для этого я хочу написать синтаксический анализатор регулярных выражений в Python. В этом случае «достаточно выучить» означает, что я хочу реализовать парсер, который может полностью понимать расширенный синтаксис регулярных выражений Perl. Тем не менее, он не должен быть самым эффективным парсером или даже обязательно используемым в реальном мире. Он просто должен правильно соответствовать или не соответствовать шаблону в строке.

Вопрос в том, с чего начать? Я почти ничего не знаю о том, как регулярные выражения анализируются и интерпретируются, за исключением того факта, что они каким-то образом связаны с конечным автоматом. Любые предложения о том, как подойти к этой довольно сложной проблеме, будут высоко оценены.

РЕДАКТИРОВАТЬ: Я должен пояснить, что хотя я собираюсь реализовать парсер регулярных выражений в Python, я не чрезмерно суетился по поводу того, на каком языке программирования написаны примеры или статьи. Пока это не в Brainfuck, я, вероятно, пойму достаточно, чтобы это стоило моего времени.

68
задан Chinmay Kanchi 3 September 2010 в 21:22
поделиться