Хорошо известно, что современные реализации регулярных выражений (в первую очередь PCRE) имеют мало общего с оригинальным понятием обычных грамматик. Например, вы можете проанализировать классический пример контекстно-свободной грамматики {a n b n; n > 0} (например, aaabbb
) с использованием этого регулярного выражения (demo):
~^(a(?1)?b)$~
Мой вопрос: насколько далеко вы можете пойти? Также возможно проанализировать контекстно-зависимую грамматику {a n b n c n; n > 0} (например, aaabbbccc
) с помощью PCRE?