Re: Ny m4, 1.4o

From: Jan D. (jan.djarv_at_mbox200.swipnet.se)
Date: 2001-08-21 22:55:50

Martin Norbäck wrote:
> 
> 2001-08-21 22:15:35+0200, "Jan D." <jan.djarv@mbox200.swipnet.se> ->
> > Martin Norbäck wrote:
> > >
> > > 2001-08-21 12:29:06+0200, Martin Sj|gren <md9ms@mdstud.chalmers.se> ->
> > > > När man pratar om "regular expressions" i matematik och datavetenskap
> > > > heter det "reguljära uttryck" på svenska.  Nu är ju inte posix-regex ett
> > > > reguljärt språk utan ett deterministiskt kontextfritt språk, närmare
> > > > bestämt ett LR(1)-språk tror jag.
> > >
> > > Det tror jag inte. Vilken konstruktion i posix regex skulle göra så att
> > > språket inte längre är ett reguljärt uttryck?
> > >
> > > LR(1) är det ju inte för du kan ju till exempel inte matcha godtyckligt
> > > nästade parenteser i posix regex, vilket man kan i LR(1).
> >
> > Gör inte bakåtreferenser att det blir mer än reguljära uttryck, d.v.s.:
> >
> > /(a)+bbb\1/ matchar exempelvis endast lika många a:n före bbb som efter.
> 
> Tja, bortsett från att + ska vara innanför parenteserna för att komma
> med så stämmer det.
> 
> Visste inte ens att sådana var tillåtna. Måste vara skitsvårt att göra
> en effektiv implementation av såna där.
> 
> Ett misstag av standardiseringskommittén att införa sådana troligen.

De finns de som håller med dig, från mansidan:

       Back references are a dreadful botch, posing  major  prob­
       lems  for  efficient implementations.  They are also some­
       what  vaguely  defined   (does   `a\(\(b\)*\2\)*d'   match
       `abbbd'?).  Avoid using them.

    Jan D.

Arkiv genererat av hypermail 2.1.1.