Buggy `re`-Engine

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.

Soll das Bestandteil der Engine werden und ein improved-Ticket hinzugefügt werden?

Ja
3
27%
Nein (Begründung bitte im Thread posten)
8
73%
 
Abstimmungen insgesamt: 11
Benutzeravatar
BlackVivi
User
Beiträge: 762
Registriert: Samstag 9. Dezember 2006, 14:29
Kontaktdaten:

Montag 24. September 2007, 08:19

Ich persönlich find' die momentane RE Engine ziemlich pythonisch. Wär's noch komplexer, könnt' ich doch gleich Perl oder Ruby nehmen oO'...

(Vielleicht ein wenig Krass ausgedrückt...)

Ich hab mit REs noch nicht alzu viel zu tun gehabt, aber wenn ich welche im Quellcode sehe, kann ich die noch recht einfach deuten. Wenn ich die jedoch bei Perl oder Ruby seh', geht's schon nich mehr ganz so einfach... Und eine Sache die ich an Python liebe ist halt:

*in quellcode schau*
"OH GOTT, dass is' ja cool gelöst. Warum bin ich darauf nich gekommen??"

Bei keiner anderen Programmiersprache ging' es mir bisher so...
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Montag 24. September 2007, 08:28

BlackVivi hat geschrieben:Ich hab mit REs noch nicht alzu viel zu tun gehabt, aber wenn ich welche im Quellcode sehe, kann ich die noch recht einfach deuten. Wenn ich die jedoch bei Perl oder Ruby seh', geht's schon nich mehr ganz so einfach...
Seltsam. Dabei ist die momentane Ruby Regexp Engine (die, die du wahrscheinlich gesehen hast) viel limitierter als die Python Engine. Kein Unicode, kein Lookbehind, kein Lookahead, keine Named Groups :-)
TUFKAB – the user formerly known as blackbird
Benutzeravatar
BlackVivi
User
Beiträge: 762
Registriert: Samstag 9. Dezember 2006, 14:29
Kontaktdaten:

Montag 24. September 2007, 08:34

blackbird hat geschrieben:
BlackVivi hat geschrieben:Ich hab mit REs noch nicht alzu viel zu tun gehabt, aber wenn ich welche im Quellcode sehe, kann ich die noch recht einfach deuten. Wenn ich die jedoch bei Perl oder Ruby seh', geht's schon nich mehr ganz so einfach...
Seltsam. Dabei ist die momentane Ruby Regexp Engine (die, die du wahrscheinlich gesehen hast) viel limitierter als die Python Engine. Kein Unicode, kein Lookbehind, kein Lookahead, keine Named Groups :-)
Hmpf, vielleicht hab ich mich verguckt oder so. Hab mich mit Ruby nicht alzu doll befasst. Ich zielte eher auf Perl ab...

Also verzeiht'.
poker
User
Beiträge: 146
Registriert: Donnerstag 20. September 2007, 21:44

Montag 24. September 2007, 17:02

blackbird hat geschrieben: Seltsam. Dabei ist die momentane Ruby Regexp Engine (die, die du wahrscheinlich gesehen hast) viel limitierter als die Python Engine. Kein Unicode, kein Lookbehind, kein Lookahead, keine Named Groups :-)
Nein! ;)
Siehe Punkt 7 http://www.geocities.jp/kosako3/oniguruma/doc/RE.txt
Wenn man sich die liste mal ansieht ist die sogar umfangreicher :roll:

- Es ist voll (so weit ich sehe) POSIX kompatibel was man von SRE nicht sagen kann.
- Es hat Möglichkeit für ``atomic group`` (kein backtrack in subexp, was die Geschwindigkeit erhöht.), hat SRE nicht.
- Es hat back reference mit angebe des Verschachtelungslevel, hat SRE auch nicht => ``\k<name+n>`` wobei n der level ist und +/- = ahead/behind.

Aber was ärgerlich ist, das es keine Conditions hat ``(?(condition)yes-pat|no-pat)``. Da ist Python voraus.

BTW: Falls du Ruby 1.8.x meinst: Kannst oniguruma updaten. Gibts ein Binary/source für...
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Montag 24. September 2007, 18:51

poker hat geschrieben:
blackbird hat geschrieben: Seltsam. Dabei ist die momentane Ruby Regexp Engine (die, die du wahrscheinlich gesehen hast) viel limitierter als die Python Engine. Kein Unicode, kein Lookbehind, kein Lookahead, keine Named Groups :-)
*snip*

BTW: Falls du Ruby 1.8.x meinst: Kannst oniguruma updaten. Gibts ein Binary/source für...
Ich bezweifle, dass ihm durch Zufall Ruby Code untergekommen ist, der Oniguruma nutzt. Was Oniguruma kann weiß ich selber, die Featureliste brauchst du mir nicht in jedem Post einfügen :roll:

Der einzige 1.8 Code, der Oniguruma nutzt ist meines Wissens nach die Testsuite davon und TextPow.
TUFKAB – the user formerly known as blackbird
poker
User
Beiträge: 146
Registriert: Donnerstag 20. September 2007, 21:44

Montag 24. September 2007, 18:58

@blackbird:
Hi, bin schon ein wenig weiter. Will das ganze nun auf ner Windows Kiste testen um zu sehen ob es auch darauf Funktioniert. Hast ne Ahnung was ich installieren könnte um bahs, etc auf Windows nutzen zu können? Krieg oniguruma sonst nicht darauf kompiliert.

Hab schon google angeworfen aber werde mit verschiedenen Lösungen konfrontiert. Gibt es ein besonderen geheim Tipp?

mfg
poker
User
Beiträge: 146
Registriert: Donnerstag 20. September 2007, 21:44

Montag 24. September 2007, 19:00

blackbird hat geschrieben: Was Oniguruma kann weiß ich selber, die Featureliste brauchst du mir nicht in jedem Post einfügen :roll:
Ja. Fühl dich doch nicht gleich angepisst. Das musst du abkönnen, bist ja auch nicht gerade auf den Mund gefallen und hältst hinterm Zaun ;)
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Montag 24. September 2007, 19:05

poker hat geschrieben:@blackbird:
Hi, bin schon ein wenig weiter. Will das ganze nun auf ner Windows Kiste testen um zu sehen ob es auch darauf Funktioniert. Hast ne Ahnung was ich installieren könnte um bahs, etc auf Windows nutzen zu können? Krieg oniguruma sonst nicht darauf kompiliert.
Sofern du nicht im Besitz einer Visual Studio 2005 Lizenz bist eher gar nicht. Installier dir ein Linux in einer vmware box und teste das dort.

//EDIT: Da du meine Post anscheind genauso genau durchliest, wie du es von mir behauptest dürfte mir diese, etwas angebissen Aussage zustehen.
TUFKAB – the user formerly known as blackbird
poker
User
Beiträge: 146
Registriert: Donnerstag 20. September 2007, 21:44

Montag 24. September 2007, 19:09

blackbird hat geschrieben: Sofern du nicht im Besitz einer Visual Studio 2005 Lizenz bist eher gar nicht. Installier dir ein Linux in einer vmware box und teste das dort.
Argh. Das ja mist ;( Also brauch ich VS um das ganze auf win kompiliert zu kriegen? Ist aber auch mist, wollte das der oniguruma wrapper auf win und Linux läuft. In das win package wollte ich ne dll integrieren ;(

EDIT:
blackbird hat geschrieben: //EDIT: Da du meine Post anscheind genauso genau durchliest, wie du es von mir behauptest dürfte mir diese, etwas angebissen Aussage zustehen.
Jupp, hast ja auch recht. :) Hatte dein Post fasch interpretiert.
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Montag 24. September 2007, 19:12

poker hat geschrieben:
blackbird hat geschrieben: Sofern du nicht im Besitz einer Visual Studio 2005 Lizenz bist eher gar nicht. Installier dir ein Linux in einer vmware box und teste das dort.
Argh. Das ja mist ;( Also brauch ich VS um das ganze auf win kompiliert zu kriegen? Ist aber auch mist, wollte das der oniguruma wrapper auf win und Linux läuft. In das win package wollte ich ne dll integrieren ;(
VS wäre ja nicht das Problem, das bekommst du ja mittlerweile kostenlos. Aber immer nur die aktuelle Version. Und was hindert VS daran, dass deine Library auf Linux läuft? Sofern du deinen Quellcode schön platform unabhängig hälst...
TUFKAB – the user formerly known as blackbird
poker
User
Beiträge: 146
Registriert: Donnerstag 20. September 2007, 21:44

Montag 24. September 2007, 19:19

@blackbird:
Sorry, aber ich verstehe dein Post nicht richtig. So wie ich dich verstanden habe, kann ich oniguruma nicht auf win kompilieren, weil mir die Lizenz zu VS 2005 fehlt (Ich wollte das eigentlich mit MingGW kompilieren). Das mit MingGW wird wohl nicht das Problem darstellen, sondern eher das ich erstmal eine bash auf win brauche um das configure Script auszuführen. Daher fragte ich nach ein Geheimtipp. In der Zwischenzeit habe ich das gefunden http://sourceforge.net/projects/getgnuwin32. Werde ich mal testen.

Linux ist wie gesagt kein Problem. Wollte nur mal testen ob der bisherige Python wrapper auch auf Win läuft.
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Montag 24. September 2007, 19:50

An Oniguruma liegts nicht, dass du VS 2005 brauchst.
TUFKAB – the user formerly known as blackbird
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Montag 24. September 2007, 20:59

Magst du mir den Code für deinen Python wrapper mal schicken? Würde gerne wissen, wie du Uniguruma die PyUnicode Objekte übergibst.
TUFKAB – the user formerly known as blackbird
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

Montag 24. September 2007, 21:01

Man kann Python angeblich mit MinGW/Cygwin kompilieren. Das ganze ist aber nicht offiziell supported -- die einzige momentan offiziell unterstützte Buildumgebung ist VS 7, wobei es ein recht gut aktuell gehaltenes Verzeichnis mit Makefiles für VS 8 gibt.

VS 8 Express (also insbesondere den Compiler) gibt es umsonst bei MS herunterzuladen, da brauchst du also auch keine Lizenz dafür. Ob da allerdings eine IDE dabei ist, weiß ich nicht.

Grundsätzlich ist es nicht schwer, mit der Python-API portablen Code zu schreiben (solange die gewrappte Library auch portabel ist). Wenn du dich also an die Regeln für portables C hältst, dürfte es hinterher kaum Problem auf Windows geben.
Dann lieber noch Vim 7 als Windows 7.

http://pythonic.pocoo.org/
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Montag 24. September 2007, 21:06

Ups Tatsache. Ich dachte die aktuelle Version ist 2007 und die alte 2005. Dann brauchst du wirklich Visual Studio 7 für die Extensions.
TUFKAB – the user formerly known as blackbird
Antworten