|"Regular expressions" for stack automata? Marko.Makela@HUT.FI (Marko =?ISO-8859-1?Q?M=E4kel=E4?=) (1999-09-10)|
|Re: "Regular expressions" for stack automata? Marko.Makela@HUT.FI (Marko =?ISO-8859-1?Q?M=E4kel=E4?=) (1999-09-16)|
|Re: "Regular expressions" for stack automata? firstname.lastname@example.org (Chris F Clark) (1999-09-20)|
|Re: "Regular expressions" for stack automata? email@example.com (1999-09-24)|
|Re: "Regular expressions" for stack automata? firstname.lastname@example.org (Quinn Tyler Jackson) (1999-10-04)|
|From:||Marko =?ISO-8859-1?Q?M=E4kel=E4?= <Marko.Makela@HUT.FI>|
|Date:||16 Sep 1999 01:55:31 -0400|
>>>>> "Marko" == Marko Mäkelä <Marko.Makela@HUT.FI> writes:
Marko> Now, my questions: Has this field been researched? Is there
Marko> any grep-like tool that uses stack automata instead of finite
Marko> state automata?
I was pointed out in an e-mail message that QED (the ancestor of ed
and vi, and probably the first tool that introduced regular expression
based search and replace functions) has this. The construct is very
simple: named regular expressions. From the QED manual (see
The regular expression "\E(bal)" defined by
matches any string balanced with respect to single quotes "`" and "'".
By the way, I was very impressed that the regular expressions have
remained practically unchanged for a so long time.
John> [Many implementations of REs such as GNU grep extend the
John> REs in interesting ways with backreferences. -John]
True, but I haven't seen anything like the \E(re) construct of QED
anywhere, and \1..\9 cannot express the same thing. I wonder how well
Perl regular expressions would perform with this construct. I would
expect especially the non-greedy closure operators *? and +? to be
utterly inefficient with this construct.
Return to the
Search the comp.compilers archives again.