in reply to Re: Perl and Context Free Grammar

in thread Perl and Context Free Grammar

Please make a distinction between regular expressions as known in computer science literature and Perl regular expressions. I know someone like you knows, but many people could get very wrong ideas from a statement such as the above.

Regular expressions in the computer science sense have a subset of the operators Perl regular expressions have, i.e. concatenation, union, kleene star.

Regular expressions describe regular languages, context free grammars describe context free languages and it is known (and fairly easy to prove) that reguular languages are a proper subset of context free languages. Hence you *can't* parse context free language with a regular expression unless it happens to be a regular language.

Perl regular expressions are more powerful than computer science regular expressions since they've features such as capturing and `\1`, zero-width assertions and code embedding. It is indeed an open problem what the precise expressive power is.

Sorry for this piece of pedantry, but IMHO it's an important point to make when addressing a very general audience.

Just my 2 cents, -gjb-

Comment onRe: Re: Perl and Context Free GrammarDownloadCode