Frage

Ich brauche PHP & JavaScript Dokumente Struktur zu erhalten, die Informationen über Dokumentenfunktionen und deren Parameter, Klassen und ihre Methoden, Variablen und so weiter zu analysieren ... Ich frage mich, ob es eine Lösung ist, dass (keine reguläre Ausdrücke) zu tun ... Ich habe über etwas namens „lexing“ gehört aber ich war nicht in der Lage alle Beispiele auch diejenigen zu finden, die mir sagen, ob dies etwas ist, was ich suche oder nicht ...

Vielen Dank im Voraus

War es hilfreich?

Lösung

Mit dem „Lexing“ Ihr Bezug auf lexikalische Analyse, und es gibt einige alte Werkzeuge, die meist noch Lex und Yacc Namen arbeiten. Lex baut die tokenizer und Yacc steht für „noch einen anderen Compiler Compiler“ und ist der eigentliche Parser.

Das Konzept der lex / Yacc, ist Sie eine Grammatik für die Sprache erstellen und dann die Grammatik durch das paslex Tool ausführen Quellcode zu generieren (in der Regel in C), dass Sie eine Datei analysieren können und entsprechenden Maßnahmen ergreifen spezifischen Schlüsselwörter und Token. Martin Waldenburg hat eine pascal Version lex / yacc namens PasLex, die jetzt weit über einem Jahrzehnt um wurde getreten und hat auf Delphi (obwohl es nicht mit den neuesten Versionen ohne einige kleinere arbeiten funktionieren könnte). Wenn ich mich richtig erinnere, ist es die gleichen .L Grammatik Eingabedateien als lex verwendet, so dass jede Dokumentation finden Sie lex / yacc kann auch auf paslex angewandt werden, mit der Ausnahme, dass Sie pascal-Code als Ausgabe zu erhalten.

Ich bin mir nicht sicher über die aktuelle Dokumentation Verfügbarkeit. Vor dem Internet (Keuchen) haben wir Bücher und die meisten davon wurden stark auf Papier dokumentiert die gelb lange gedreht hat ... allerdings hat es Gerüchte, dass Sie might..just könnten in der Lage sein, ein gebrauchtes Exemplar von Amazon abholen. Ich schnitt meine Zähne auf diese ein Buch mit, die auch als „ den Drachen Buch bekannt ist “, die erst 2006 neu veröffentlicht zu haben scheint worden.


EDIT:

Ich wurde durch das Werkzeug falsch, es war TPLY . PasLex war eine delphi Grammatik Implementierung ... TPLY war die Lex / Yacc-Tool, das pascal Quelle aus einer Datei .L erzeugt wird.

Andere Tipps

Ich bin mir nicht sicher, ob dies machbar ist, aber für PHP würden Sie die PHP CLI von Delphi aufrufen können, um die Informationen zu bekommen?

Wenn ja könnte man nennen token_get_all () und dann das Ergebnis ausspucken in etwas, das Sie analysieren können in Delphi (vielleicht xml, json, etc.). Dies ist lexing. Das Problem dabei ist, dass nur die Hälfte Problem gelöst -. Sie müssen immer noch jedes Token im Kontext verstehen, um die gewünschten Ergebnisse zu erzielen

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top