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:]