peterS.: JavaScript: RegExp-maschinen-typen

Beitrag lesen

hallo Ihr beiden,

@MudGuard - dank auch Dir an dieser stelle fuer die aufklaerungsarbeit.

Steht irgendwo bei J. Friedl, Mastering Regular Expressions ...

ja, bei dem hab' ich auch mal nachgeschlagen, um ihm seine tests auf
   regex-implementationen zu klauen. denn ich wollte wissen, was die
   browser so unter ihrer [[RegExp]]-haube verstecken, natuerlich noch
   ohne einen schimmer davon habend, was ich selbst mit den gewonnenen
   informationen jemals anfangen koennte.

getested wurden mozilla rv 1.7.12, firefox 1.5.0.7 , opera 8.5.77,
   opera 9, msie 6.0 - alle liefern die gleichen ergebnisse, so dass
   davon auszugehen ist, dass ein fuer alle verbindliches papier zur
   implementation von RegExp-maschinen-typen existiert.

http://www.pseliger.de/jsExtendedApi/jsApi.RegExp.testForEngineTypes.dev.js

die test ergeben folgendes bild:

- die [RegExp]-objekte aller getesteten browser lassen standardmaessig
     eine NFA-engine auf die regulaeren ausdruecke los.
   - kommt die mit dem suchmuster nicht zurecht wird eine POSIX-NFA-engine
     angeworfen. dabei treten betraechtliche zeitverzoegerungen auf. in
     meinem test zwischen 4 (msie) und 10 (gecko) sekunden.
   - der dritte typ, DFA-engine, ist bei keinem der browser implementiert.

falls Ihr noch den drang verspuert, mir in kurzen einpraegsamen worten
   zu erklaeren was denn nun der genaue unterschied in der arbeitsweise
   zumindets der ersten beiden genannten NFA/POSIX-NFA zu erklaeren, bin
   ich Euch kein bischen boese ;-)

so long - peterS. - pseliger@gmx.net

--
»Because objects in JavaScript are so flexible, you will want to think differently about class hierarchies.
Deep hierarchies are inappropriate. Shallow hierarchies are efficient and expressive.« - Douglas Crockford
ie:( fl:) br:> va:( ls:& fo:) rl:| n3;} n4:} ss:} de:µ js:} mo:? zu:]