Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   PHP Inspection Unit (https://www.delphipraxis.net/33102-php-inspection-unit.html)

mirage228 5. Jan 2005 19:27

Re: PHP Inspection Unit
 
Zitat:

Zitat von Pr0g
Hm, stimmt. Delphi hatte es nicht in der Liste aufgeführt (die spinnt manchmal), daher dachte ich es geht net. Aber was anderes. Aus irgend einem Grund ist "ConstantCount" immer 0. Woran kann das liegen?

die ConstantCount von TPHPSource liefert die Anzahl per define deklarierten Konstanten.
Die von TPHPClass die neuen Klassen-Konstanten (ab PHP5).

mfG
mirage228

Pr0g 5. Jan 2005 22:50

Re: PHP Inspection Unit
 
Ich nutze TPHPSource und die anderen Dinge wie Includes und so klappen ja auch, nur bei den Konstanten gehts net. Ich mach wohl irgendwas falsch. Könntest du nicht mal deine Demo updaten ;)

mirage228 6. Jan 2005 08:33

Re: PHP Inspection Unit
 
Zitat:

Zitat von Pr0g
Ich nutze TPHPSource und die anderen Dinge wie Includes und so klappen ja auch, nur bei den Konstanten gehts net. Ich mach wohl irgendwas falsch. Könntest du nicht mal deine Demo updaten ;)

Hi,

in der aktuellen Demo zu v.1.9 sollten Konstanten eigentlich bereits enthalten sein :gruebel:

Sonst einfach das hier in die TreeView-Prozedur schreiben (Ich hatte es direkt hinter die Includes gesetzt) ;)
Delphi-Quellcode:
// Hinzufügen der globalen Konstanten (per define() definiert)
Node := twTree.Items.AddChild(nil, 'Konstanten');
for i := 0 to ConstantCount-1 do
begin
  SubNode := twTree.Items.AddChild(Node, Constants[i].Name + ' = ' +
    Constants[i].Value);
  SubNode.Data := TObject(Constants[i].TextPos);
end;
Falls ConstantCount nun immernoch 0 zurückgibt, käme da noch der übliche Verdächtige dran. Undzwar unvollständige oder fehlende PHP-Tags (liegen solche vor, wird der Source ja nicht geparsed).

mfG
mirage228

Pr0g 6. Jan 2005 11:29

Re: PHP Inspection Unit
 
Ich dachte Vesion 1.8 ist die aktuellste, hab jetzt mal Update auf 1.9 gemacht und siehe da, die Konstanten gehen doch :)

mirage228 19. Jan 2005 16:56

Re: PHP Inspection Unit
 
Hi ho,

ich wollte nur eben bescheidsagen, dass die Version 2.0 gerade in der Mache ist. ;)

Ich habe schon einiges implementiert, wollte aber nochmal bei Gelegenheit nachfragen, ob es irgendwelche speziellen User Wünsche gibt, die ich in die neue Version implementieren soll. :)

Falls ihr eine Idee habt, was noch den Weg in die neue Version finden sollte, dann sagt mir hier bescheid. :)

mfG
mirage228

Pr0g 19. Jan 2005 23:06

Re: PHP Inspection Unit
 
Bei mir im Forum wurde eine Sache angesprochen, wo ich noch nicht genau weiß, ob sowas Sinnvoll ist und ob es in die Unit mit rein soll, da man es eigentlich auch selber machen kann. Und zwar sollen per Include eingebundenen Dateien auch geöffnet und deren einzelnen Werte mit in dem Baum eingebunden werden. Natürlich nur bis zu einer bestimmten Tiefe wegen der Perfomance. Ich weiß nicht ob dies wirklich nötig ist. Wie denkst du darüber?

mirage228 20. Jan 2005 06:18

Re: PHP Inspection Unit
 
Zitat:

Zitat von Pr0g
Bei mir im Forum wurde eine Sache angesprochen, wo ich noch nicht genau weiß, ob sowas Sinnvoll ist und ob es in die Unit mit rein soll, da man es eigentlich auch selber machen kann. Und zwar sollen per Include eingebundenen Dateien auch geöffnet und deren einzelnen Werte mit in dem Baum eingebunden werden. Natürlich nur bis zu einer bestimmten Tiefe wegen der Perfomance. Ich weiß nicht ob dies wirklich nötig ist. Wie denkst du darüber?

Hi!

Das mit den Includes ist schwierig und wäre auch mit Einschränkungen verbunden, weil ja einige Includes variabel (und evtl. sogar von einer Nutzereingabe abhängig) sind und ich mich daher auch die Includes mit konkreter Pfadangabe beschränken müsste.
Auch dort wäre es mit einem gewissen Aufwand verbunden den richtigen Dateinamen erstmal rauszuparsen, die Linux Slashes in Windows Back-Slashes umzuwandeln und anschließend den Pfad der Datei anhängen (den der Benutzer der Unit übergeben müsste).
Naja, ich sehe mal, ob ich das mit einer "Zusatzprocedure" alá ParseIncludedFiles(const FilePath: string; MaxDepth: Byte = 2) oder so Ähnlich lösen kann ;)

mfG
mirage228

DSeven 21. Jan 2005 22:22

Re: PHP Inspection Unit
 
Zitat:

Zitat von Pr0g
Bei mir im Forum wurde eine Sache angesprochen, wo ich noch nicht genau weiß, ob sowas Sinnvoll ist und ob es in die Unit mit rein soll, da man es eigentlich auch selber machen kann. Und zwar sollen per Include eingebundenen Dateien auch geöffnet und deren einzelnen Werte mit in dem Baum eingebunden werden. Natürlich nur bis zu einer bestimmten Tiefe wegen der Perfomance. Ich weiß nicht ob dies wirklich nötig ist. Wie denkst du darüber?

Hallo,

Die Unit soll so bleiben wie sie ist sonst wird sie mal wie DirectX. DirectX beinhaltet z.B. sachen die eher in eine engine passen als in eine API. Deshalb sollte die Unit solche sachen nicht enthalten. Schließlich könntest du sowas auch selber erstellen.

mfg

Pr0g 22. Jan 2005 18:56

Re: PHP Inspection Unit
 
Ich hatte in dem von dir zitierten Post ja gesagt, dass ich mir nicht sicher bin, ob man sowas reinmachen sollte, oder ob es besser von jedem selber gemacht wird.

Btw: Machst du also doch noch weiter ;)

DSeven 23. Jan 2005 20:36

Re: PHP Inspection Unit
 
Guten Tag,

Ich denke mal ich bleib bei meinem entschluss und mache nicht weiter. Aber ich dachte mir die Unit mal nach c# zu portieren oder nach Delphi.NET kommt drauf an. Gibt bestimmt einige die sowas brauchen eingeschlossen mir selbst falls ich mal eine C# Version von meiner IDE veröffentlichen möchte.

Ich weis weis nicht genau was diese mozilla Lizenz alles erlaubt deshalb wollte ich mal den autor fragen ob das in ordnung geht mit der C# portierung?

Aber mit dieser Portierung würde ich frühestens Ostern anfangen können.
Denke aber das es geht habe mir den code mal angeschaut und sollte leicht sein. Werde aber einige Sachen nicht übernehmen zum Beispiel das compilieren von PHP Code mittels php.exe. Das sollte jeder für sich machen.

Das ist auch das was mich an der jetzigen Delphi unit stört. Schließlich passt sowas nicht in eine Parser unit. Ist meine Meinung.

mfg

Pr0g 23. Jan 2005 21:50

Re: PHP Inspection Unit
 
Zitat:

Zitat von DSeven
Werde aber einige Sachen nicht übernehmen zum Beispiel das compilieren von PHP Code mittels php.exe. Das sollte jeder für sich machen.

Da denke ich auch, dass sowas nicht rein muss, könnte vielleicht als zweite/andere Unit veröffentlicht werden, falls überhaupt nötig.

mirage228 24. Jan 2005 06:22

Re: PHP Inspection Unit
 
Hi DSeven,

Du kannst die Unit gerne nach C# portieren, wenn Du magst :)
Ich könnte auch mal versuchen, dass ganze in Delphi.NET als Assembly zu kompilieren. Das kannste dann ja auch in C# verwenden.
Mich würde auch mal der Geschwindigkeitsunterschied zwischen den aktuellen RegExes und den .NET RegExes interessieren :)

Nun gut, wenn ihr das nicht möchtet, lasse ich das mit den Includes parsen weg. Das ist vielleicht wirklich etwas, was der Benutzer selbst erledigen sollte.
Das mit dem PHP Syntax Check war aber eigentlich dazu gedacht, dem Benutzer die Möglichkeit zu geben um zu überprüfen, ob sein Code richtig ist. Falls dieser nämlich Syntaxfehler enthält, können beim Parsen auch unerwartete Resultate auftreten. Und bevor das passiert, kann man halt überprüfen, lassen ob alles so läuft, wie es soll. Aber das könnte man auch auslagern, das stimmt schon.

mfG
mirage228

P.S.: Bald gibts wieder was Neues :mrgreen:

mirage228 25. Jan 2005 20:47

Re: PHP Inspection Unit
 
Abend,

heute ist es endlich so weit :mrgreen:
Die Version 2.0 ist endlich fertig.

Es gibt massig Bugfixes und natürlich wieder einige neue Features. ;)

Hier die komplette Liste aller Änderungen:
  • Fehler behoben, dass einige IRegEx Interfaces im finalization Abschnitt nicht auf "nil" gesetzt wurden.
  • Fehler beim Erkennen von Default-Parametern von Methoden, die ein Komma enthielten, behoben.
  • Fehler behoben, dass eine Include-Dateie nicht erkannt wurde, falls Sie das letzte Element im
    Quelltext waren und kein Komma am Ende besaß. Bitte beachten, dass in diesem Fall unter gewissen Umständen das gematchte Resultat etwas länger sein kann, als erwartet, da in diesem Fall bis zum Ende der Zeile gematched wird.
  • Fehler behoben, dass das Parsen fortgesetzt wurde, auch wenn keine korrekten PHP-Tags gefunden wurden. Dieser Fehler trat auf, falls wenn der PHP-Tag auskommentiert war und der PHP Inspector versucht hat, den nächsten korrekten Tag zu finden.
  • Fehler behoben, dass define()-Konstanten nicht erkannt wurden, falls der Wert der Konstante
    mit einer Variable initialisert wurde.
  • Fehler behoben, dass define()-Konstanten nicht erkannt wurden, falls der letzte Parameter (der Dritte) keine Zahl war.
  • Fehler behoben, dass die temporäre Datei, die beim SyntaxCheck() evtl. erstellt wurde, nicht gelöscht worden ist, falls der Syntaxcheck keine Fehler aufwies.
  • Endlosschleifen in TPHPSource.FindInterface(), TPHPSource.FindClass() und TPHPSource.FindMethod() behoben.
  • Die Deklaration von TPHPSource.FindMethod() wurde nun wieder so eingerichtet, dass auch Interfaces in den AClass Parameter übergeben werden können.
  • Fehler behoben, dass ein implementiertes Interface einer Klasse nicht erkannt wurde, falls die Klasse bereits eine andere Klasse erweiterte.
  • Option zum Aufsuchen aller lokal referenzierten Variablen einer Methode hinzugefügt.
    Dieses Feature ist standardmäßig deaktivert. Man kann es aber durch den $FUNCTIONVARIABLES
    Compilerschalter aktivieren.
  • Unterstützung für Klassen-Konstanten nun auch für Interfaces hinzugefügt.
  • Neue Eigenschaft ExtendsInterface für TPHPInterface. Es enthält den Namen des Interfaces,
    dass von dem jeweiligen TPHPInterface erweitert wird.
  • Mehrfachvererbung bei Interfaces wird nun unterstützt. Es werden alle implementierten (TPHPClass) und erweiterten (TPHPInterface) Interfaces erkannt.
  • RegEx Konstanten sind nun als resourcestrings deklariert.

Auch wenn es so viel Neues gibt, hat sich die Parsinggeschwindigkeit dabei nur minimal verlangsamt. :)

Ich habe mir Mühe gegeben so gut wie alles zu testen. Solltet ihr dennoch Fehler finden, sagt mir bitte bescheid ;)

Den Download findet ihr, wie bereits zuvor, im ersten Beitrag des Threads.

mfG
mirage228

Pr0g 26. Jan 2005 14:00

Re: PHP Inspection Unit
 
Werde das Update in Webweaver integrieren und auch genauer testen, wenn ich wieder weitermache ;)

mirage228 29. Jan 2005 18:51

Re: PHP Inspection Unit
 
Hiho,

habe eben noch einen klein Fehler berichtigt, der verursachte, dass die TextPos von Entitites in einer Klasse, die ein Interface implementierte nicht korrekt waren.

Die verbesserten Archive sind im ersten Beitrag zu finden ;)

Wer sich die Datei eben selbst patchen möchte, der ändere bitte folgende Zeile (befindet sich hinter dem "implementation")
Delphi-Quellcode:
  CLASSSTR     = '((((\s+)(extends)(\s+)(\w+?)|)(((\s+)(implements)(\s+)' +
    '(.*)(\s*)(?:\{))|))|)';
zu

Delphi-Quellcode:
  CLASSSTR     = '((((\s+)(extends)(\s+)(\w+?)|)(((\s+)(implements)(\s+)' +
    '(.*)(\s*)(?=\{))|))|)';
mfG
mirage228

mirage228 5. Mär 2005 17:04

Re: PHP Inspection Unit
 
Hi ho,

Heute gibts wieder eine Version des PHP Inspektors: Es ist die Version 2.1

Sie enthält nicht viele neue Features, sie berichtigt hauptsächlich einen Fehler, der mir aufgefallen ist.

Hier also die Liste der Änderungen:
  • Fehler behoben, dass Funktionen, die eine Referenz zurücklieferten (Funktionsname begann mit "&"), nicht erkannt wurden.
  • Neue Boolean-Eigenschaft ReturnsReference für TPHPMethod und alle seine Nachfahren. Damit kann bestimmt werden, ob eine Funktion eine Referenz zurückgibt oder nicht.

Auch habe ich eine (englische) Readme-Datei im HTML Format geschrieben, die einen kurzen Überblick über die Features des PHP Inspektors gibt und kurz erläutert, wie man ihn verwendet.

Den Download gibts, wie immer, im ersten Beitrag ;)

mfG
mirage228

DSeven 5. Mär 2005 18:06

Re: PHP Inspection Unit
 
Danke für die neue Version.

Werde sie gleich mal testen.

cya

DSeven 13. Mär 2005 23:35

Re: PHP Inspection Unit
 
Hallo,

So habe mir mal die Mühe gemacht und einen PHPDoc Parser geschrieben. Bin aber noch nicht dazu gekommen ihn in deine Unit einzubauen.
Der Parser geht folgender massen vor: Wenn deine Unit nach einer Klasse, Funktion Parst bzw. eine gefunden hat dann schaltet sich mein Parser ein und sucht ein PHPDoc Comment.

Das Problem ist jetzt nur, ich weis nicht wirklich wie ich das in meinen Editor (denn ich weiter mache) einbauen kann. :D

Wenn ich Fertig bin werde ich die unit mal posten.

cya

mirage228 14. Mär 2005 16:35

Re: PHP Inspection Unit
 
Zitat:

Zitat von DSeven
Hallo,

So habe mir mal die Mühe gemacht und einen PHPDoc Parser geschrieben. Bin aber noch nicht dazu gekommen ihn in deine Unit einzubauen.
Der Parser geht folgender massen vor: Wenn deine Unit nach einer Klasse, Funktion Parst bzw. eine gefunden hat dann schaltet sich mein Parser ein und sucht ein PHPDoc Comment.

Hi,

das ist ja echt klasse :thumb:
Ich denke Deine Parsing Funktion / Klasse sollte sich ganz gut mit der TPHPComment(s) zusammenbringen lassen, da die ja beim finden eines Entities sowieso prüft, ob dieser in Kommentaren ist. Danach könntest Du ja Dich ja der bereits gefundenen Kommentare bedienen. :)

Zitat:

Das Problem ist jetzt nur, ich weis nicht wirklich wie ich das in meinen Editor (denn ich weiter mache) einbauen kann. :D
Also von der GUI aus könntest Du ja unter jede Klasse einen bearbeitbaren Kommentar-Node ins TreeView einfügen oder so...

Zitat:

Wenn ich Fertig bin werde ich die unit mal posten.
Ah gut, mich würde besonders die genau technische Realisierung (Regexe etc.) interessieren :)

mfG
mirage228

DSeven 14. Mär 2005 18:41

Re: PHP Inspection Unit
 
Zitat:

Zitat von mirage228
Zitat:

Wenn ich Fertig bin werde ich die unit mal posten.
Ah gut, mich würde besonders die genau technische Realisierung (Regexe etc.) interessieren :)

Naja da hab ich es nicht so mit Regexe. Deswegen weis ich ja auch nicht wie sich das in deine Unit einbringen liesse weil mein Code ohne Regexe arbeitet. Aber er arbeitet ohne Fehler.
Kann sein das meine Methode auch ein wenig umständlich ist da ich zeichen für zeichen durchgehe. Aber eigentlich hab ich damit noch keine wirklichen probleme was speed oder funktionalität angeht.

cya

mirage228 14. Mär 2005 18:54

Re: PHP Inspection Unit
 
Zitat:

Zitat von DSeven
Naja da hab ich es nicht so mit Regexe. Deswegen weis ich ja auch nicht wie sich das in deine Unit einbringen liesse weil mein Code ohne Regexe arbeitet. Aber er arbeitet ohne Fehler.
Kann sein das meine Methode auch ein wenig umständlich ist da ich zeichen für zeichen durchgehe. Aber eigentlich hab ich damit noch keine wirklichen probleme was speed oder funktionalität angeht.

Hm, kommt drauf an, wie Deine Methode optimiert ist, dann könnte sie ggf. ganz flott laufen.

Am besten baust Du die Suche danach direkt in den Programmblock nach "if FComments.CheckIsCommented(...) then" ein. Dann sind die Kommentare schon bis dahin geparsed und Du kannst Sie durchlaufen und ggf. die Daten hinzufügen.

mfG
mirage228

DSeven 14. Mär 2005 19:19

Re: PHP Inspection Unit
 
Wie ist die unit aufgebaut. Werden alle Kommentare der unit gespeichert?

cya

mirage228 14. Mär 2005 19:45

Re: PHP Inspection Unit
 
Zitat:

Zitat von DSeven
Wie ist die unit aufgebaut. Werden alle Kommentare der unit gespeichert?

cya

Also TPHPComments parsed die Kommentare nur wenn es durch die Funktionen "CheckIsCommented" oder "FullParse" gefordert wird. So wird das Parsen überflüssiger Kommentare verhindert.
Die Kommentare, wenn sie geparsed sind, werden von TPHPComments (in TPHPComment Objekten) gespeichert.

mfG
mirage228

mirage228 25. Mär 2005 18:43

Re: PHP Inspection Unit
 
Hi,

so heute gibts wieder eine neue Version - 2.2

Neue Features gibts diesmal nicht, dafür habe ich einige Fehler behoben :)

Liste alle Änderungen:
  • Unnötigen Aufruf von ParseEntityData beim Setzen der SourceText Eigenschaft von TPHPSource entfernt.
  • Fehler behoben, dass wenn ein PHP Konstrukt auf mehrere PHP-Tag Paare verteilt war, es nicht erkannt wurde
  • Fehler beim Herausfinden der Basisklasse im PHP4-Only Modus behoben
  • TextPos Eigenschaft lieferte in einigen Fällen nicht korrekte Resultate (Die von TextPos angegebene Position war ein Zeichen vor der eigentlichen Position)

Den Download gibts wie immer im ersten Post.

mfG
mirage228

Pr0g 25. Mär 2005 23:41

Re: PHP Inspection Unit
 
Hab die neue Version gerade mal heruntergeladen und kurz getestet :thumb:

Pr0g 26. Mär 2005 21:22

Re: PHP Inspection Unit
 
Habe einen kleinen Fehler im Zusammenhang mit Konstanten gefunden. Öffne das Beispielprogramm und pack folgenden Code rein:
Code:
<?php

define('Test', 'a');   // Test = 'a
define('Test', 'aa');  // Test = aa
define('Test', 'aaa'); // Test = 'aaa
define('Test', 'aaaa'); // Test = aaaa
//...

?>
Hat der Wert der Konstante die Länge einer ungeraden Zahl, so wird vorne ein Anführungszeiche (ob einfach, oder doppelt hängt vom benutztem Zeichen in define() ab). Ist der Wert der Länge dagegen gerade, so wird keins angezeigt.

MfG Pr0g

Pr0g 27. Mär 2005 01:48

Re: PHP Inspection Unit
 
Und noch ein Fehler ist mir aufgefallen, der sich auf "include" und "require"(_once) bezieht. Steht einer dieser Befehle in der letzten Zeile, bspw. hier:
Code:
<?php
include
kommt es zu einer Zugriffsverletzung. Wenn sie nicht in der letzten Zeile stehen, so wie hier:
Code:
<?php
include
//leere Zeile
gibt es keine Probleme.

Edit: Bei folgendem Code wird der Text nach $to_require als Includedatei, bzw. require aufgenommen, das sollte ja nicht:
Code:
<?php
$to_require = 'meine_datei.php';

mirage228 27. Mär 2005 11:54

Re: PHP Inspection Unit
 
Hi pr0g,

Danke fürs Fehlersuchen. :)

Also der Fehler mit den define()s ist ja äußerst seltsam, sollte aber relativ einfach zu beheben sein - hoffe ich *g*. :)

Bei dem Include in der letzten Zeile habe ich lediglich vergessen einmal zu prüfen, ob der String länger ist als 0 Zeichen bevor ich versuche auf ein Zeichen zuzugreifen. :oops:

Aber der letzte Fehler hats wohl in sich. Man kann ihn, soweit ich das sehe, einfach durch das Hinzufügen einer Word Boundary (\b) Assertion nach dem "(?<!\$)" beheben, jedoch vergrößerte sich die Parsing-Zeit in meiner Testdatei (ca. 750 KB) von 2,7 Sek auf 3,3 Sek, was ich nicht besonders schön finde. Ich versuche das Problem noch anders in den Griff zu kriegen, aber wenns nicht anders geht, werde ich das wohl so mit dem \b machen. :?

Edit: Hab doch noch ne sehr einfache Lösung gefunden. Die Assertion (?<!\$) muss nur so angepasst werden, dass weder ein Alphanummerisches Zeichen, ein Unterstrich, noch ein $ oder ein sonstiges ASCII Zeichen, das einem Variablenbezeichner entsprechen kann, vor dem Match ist. Also einfach: (?<![\$\w\x7f-\xff])
In meinen Versuchen klappt das bisher sehr gut, also denke ich, mache ich das so. Bei dieser Variante gibts auch keine spürbaren Geschwindigkeitseinbußen :)

Wenn alles glatt geht, gibts heute eine neue bzw. eine aktualisierte Version.

mfG
mirage228

mirage228 27. Mär 2005 15:01

Re: PHP Inspection Unit
 
Hi ho,

so die neue Version 2.3 ist fertig. Ich hoffe ich konnte alle Fehler zufriedendstellend behoben :)

Die neue Version enthält insgesamt folgende Änderungen:
  • Include-Dateien werden nicht mehr aufgeführt, falls kein Dateiname dahinter angegeben wird (wenn z.B. nur "include" schreibt)
  • Fehler behoben, dass Variablen fälschlicher Weise als Include-Dateien erkannt wurden (wenn man z.B. "$to_require = "file.php"" schrieb.)
  • Zugriffsverletzung behoben, die auftrat, wenn ein Include, Require, Include_Once oder Require_Once Befehl als letztes in einer Datei stand.
  • Fehler beim Parsen der Werte für Define()-Konstanten behoben
  • "placeholder" Methoden aus TPHPEntity und TPHPConstant entfernt (als "abstract" deklariert)

Der Download befindet sich wie gehabt im ersten Beitrag.

mfG
mirage228

Pr0g 27. Mär 2005 15:51

Re: PHP Inspection Unit
 
Super, habs gerade getestet und scheint alles in Ordnung zu sein ;)

DSeven 28. Mär 2005 00:21

Re: PHP Inspection Unit
 
Hallo,

also zur Zeit für mich das wichtigste ist die Portierung zu .NET da ich die klasse unbedingt in meinen C# Editor benötige und einige probleme beim portieren habe.

Würde das gehen oder muss ich mich weiterhin mit den problem einer portierung von Delphi zu C# quälen?

cya

mirage228 28. Mär 2005 09:06

Re: PHP Inspection Unit
 
Hi,

ich habe bereits eine (fast) vollständige Portierung vorgenommen (der Version 2.1), musste aber feststellen, dass der angeblich PCRE kompatbile RegEx von .NET keine Modifier ?R für Rekursion unterstützt und der ist ja zum Parsing hier für mich sehr wichtig.
(Siehe auch mein Thread dazu hier in der DP)

Ich müsste dann die Wrapper- und Importunits zur PCRE.dlls umschreiben (P/Invoke), es sei denn Du weisst eine Möglichkeit den Modifier ?R nach .NET zu bringen...

mfG
mirage228

DSeven 29. Mär 2005 17:14

Re: PHP Inspection Unit
 
Hmm es währe ziemlich umständlich bzw. viel Arbeit Per P/Invoke die komplette Unit nach C# zu bringen.
Ich werde mich diesbezüglich mal informieren und mal schaune wie man das problem lösen kann.

cya

mirage228 23. Mai 2005 15:38

Re: PHP Inspection Unit
 
Hallo,

heute gibt es eine (kleine ;) ) neue Version - Version 2.4.

Es gab u.U. einen Fehler bei den Positionen eines Konstrukts.

Die gesamte Liste der Änderungen:
  • Fehler bei Entity-Positionen behoben, falls Text vor einem PHP-Tag war
  • Fehler bei Entity-Positionen behoben, falls es mehrere PHP-Tag Paare gab
  • Einige kleinere Optimierungen an der FindEntity() Routine

Den Download gibts, wie gehabt, im ersten Beitrag :)

mfG
mirage228

mirage228 3. Okt 2005 09:24

Re: PHP Inspection Unit
 
Hallo,

nach einer kleinen Pause gibt es nun wieder eine neue Version. Es ist die Version 2.5. :)

Folgende Änderungen gibt es:
  • Fehler in der Kommentarerkennung behoben, falls ein \" oder \' Escape-Zeichen im Kommentar eingebunden war. In diesem Fall hatte der Parser das Parsing ab diesem Punkt abgebrochen.
  • Fehler bei der Erkennung von Include-Dateien behoben, wenn diese kein Semikolon oder Zeilenende am Ende hatte, wie z.B. <? include "somefile.htm" ?>
  • Es werden nun auch "Unix-Shell" style Kommentare akzeptiert (# <Kommentar>)
  • Neuer Compilerschalter: $NODUPLICATES (Standardmäßig aus). Wenn dieser eingeschaltet wird, dann fügt der Parser Klassen, Interfaces und Methoden nicht mehr dem Ergebnis hinzu, falls es diese bereits gefunden wurde. Sprich, es gibt keine doppelten Klassen, Interfaces oder Methoden mehr. Dies beschleunigt die Parsing-Zeit bei mehreren doppelten Klassen um einiges, ansonsten liget die Parsing-Zeit minimal über dem normalen Niveau.

Den Download gibts im ersten Beitrag ;)

mfG
mirage228

Pr0g 3. Okt 2005 10:25

Re: PHP Inspection Unit
 
:thumb:

Airblader 4. Jan 2006 01:46

Re: PHP Inspection Unit
 
Habs mit ein paar älteren Dateien getestet und funktioniert bei mir alles :thumb:

air

mirage228 4. Feb 2006 12:40

Re: PHP Inspection Unit
 
Hallo,

Nach einer kleinen "Pause" ;) gibts nun wieder eine neue Version (2.6). Es handelt sich nur um Fehlerkorrekturen, Features sind in dieser Version keine hinzugekommen.

Hier die komplette Liste der Änderungen:
  • Fehler beim Erkennen von Konstrukten in Strings (mit ' oder ") behoben
  • Falsche Kommentarerkennung behoben, falls ein Konstrukt nur teilweise in einem Kommentar war
  • Namen der "SyntaxErrors" Eigenschaft korrigiert (war "SxntaxErrors")
  • HTML Zeilenumbrüche, die von PHP erzeugt werden, werden nun aus der SyntaxErrors-Liste gefiltert

Wenn keine Fehler mehr gefunden werden, dann werde ich die neue Version auf "offiziell" veröffentlich (meine Homepage, Torry.net etc.). :)

mfG
mirage228

thabaker 17. Jul 2007 17:06

Re: PHP Inspection Unit
 
Lebt das Projekt noch oder gibt es eine aktuelle Alternative?

mirage228 17. Jul 2007 18:46

Re: PHP Inspection Unit
 
Zitat:

Zitat von thabaker
Lebt das Projekt noch oder gibt es eine aktuelle Alternative?

Japp, das Projekt lebt noch und es gibt bald wieder eine neue Version, die einige Bugs behebt und neue Features hinzufügt, stay tuned ;)

mfG
mirage228


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:13 Uhr.
Seite 3 von 4     123 4      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz