On Fri, 9 May 2008 22:52:30 -0700 (PDT), "[EMAIL PROTECTED]" <[EMAIL PROTECTED]> wrote:
>In the past weeks i've been thinking over the problem on the practical >problems of regex in its matching power. For example, often it can't >be used to match anything of nested nature, even the most simple >nesting. It can't be used to match any simple grammar expressed by >BNF. Some rather very regular and simple languages such as XML, or >even url, email address, are not specified as a regex. (there exist >regex that are pages long that tried to match email address though) What's your point? The limitations of regular expressions are well known. >After days of researching this problem, looking into parsers and its >theories etc, today i found the answer!! > >What i was looking for is called Parsing Expression Grammar (PEG). PEG has its own problems - it's very easy with PEG to create subtly ambiguous grammars for which quite legal looking input is rejected. And there are no good tools to analyze a PEG and warn you of subtle problems. Chris Clark (YACC++) has posted at length about the merits, problems and limitations of various parse techniques - including PEG - in comp.compilers. Before you consider doing anything with PEG I suggest you look up his posts and read the related threads. >It seems to me it's already in Perl6, and there's also a >implementation in Haskell. Is the perl6 PEG is in a usable state? > >Thanks. > > Xah > [EMAIL PROTECTED] >? http://xahlee.org/ George -- for email reply remove "/" from address -- http://mail.python.org/mailman/listinfo/python-list