Hallo zusammen,
da hier doch recht oft das Thema "Finden von Klammerfehlern" aufgegriffen wird und scheinbar bis heute keiner eine patente Lösung gefunden hat, Fehler optimal, schnell und zielgenau zu finden, habe ich mir gedacht, entwickel ich mal ein kleines PHP Snippet, was euch die Arbeit beim Finden von Klammerfehlern erleichtern soll.
Das Programm habe ich bisher nur durch absichtlich erzeugte Klammerfehler getestet, daher weiß ich noch nicht, wie es sich im Ernstfall verhält. Bisher kann es NUR UND AUSSCHLIESSLICH öffnende und schließende Klammern von public Funktionen finden, da sich das Programm noch in der Testphase findet!
WICHTIG!!! Am Ende eures Scripts muss ein "// EOF" (ohne die Anführungszeichen) stehen, damit das Tool weiß, dass das Script aufhört. Diese Methode war arbeitstechnisch leichter und ich bin eine faule Ratte
Ein Beispiel, wie der Quelltext (einer meiner Testquelltexte) aussehen könnte:
public OnPlayerCommandText (playerid, cmdtext[])
{
if (strcmp(asdf, asdf, true, 0))
{
while ($x > $y)
{
und so weiter
}
}
}
public OnPlayerConnect (playerid)
{
if (playerid == 1)
{
{
dies und das;
}
}
public OnPlayerDisconnect (playerid)
{
if (playerid == 1)
{
dies und das;
}
}
// EOF
Das Script wird euch nicht sagen, in welcher Zeile sich der Klammerfehler befindet, sondern lediglich in welcher Funktion. Auch wird noch nicht genannt ob eine öffnende oder schließende Klammer fehlt, kommt aber noch.
Für die Testphase denke ich allerdings, wird es viel Arbeit abnehmen. Sofern das Tool denn nach meinen Vorstellungen läuft.
Je mehr Leute es testen, desto schneller kann ich also Probleme beheben. Feedback ist natürlich äußerst erwünscht.
Für diejenigen, die Angst um ihr Script haben, ich könnte es klauen o.Ä. stelle ich auch gerne den Sourcecode bereit um das ganze lokal laufen zu lassen.
Für erste Tests etc könnt ihr das Tool auf http://www.deine-lieblingsgamer.eu/bracketfinder finden.
Gruß
LeijaT