| |
|
|
- Seite 1 - |
|
Sebastian König | Hallo zusammen,
einer spontanen Idee folgend habe ich vor ein paar Tagen mit der Arbeit an einem neuen Projekt begonnen: Ein Parser, der die Struktur eines (X)Profan-Projekts (d.h. eingebundene Include-, Header-, und Unit-Dateien, enthaltene Prozeduren usw.) in einer Datenbank speichert. Diese Datenbank soll dann in eine Datei geschrieben werden - und genau an dieser Stelle liegt der Grund für mein Posting hier:
Ich würde für das Format dieser Dateien gern einen einheitlichen Standard schaffen. Und da ich diesen natürlich nicht allein bestimmen möchte (auch wenn diese Praxis in der IT-Branche nicht unüblich ist ), würde ich das Format gern hier diskutieren (einige konkrete Vorstellungen habe ich schon, aber dazu später mehr).
Erstmal meine Hauptfrage: Was haltet ihr grundsätzlich von dem Vorhaben, einen solchen Standard zu schaffen?
Und speziell an iF: XPSE schreibt ja für Units ja schon einige Infos in .def-Dateien. Wärst Du bereit, hier zusätzlich das neue Format zu unterstützen?
Geplant ist das Projekt, das ich vorläufig XPDB genannt habe (für XProfan Program Database - gefällt mir eigentlich ganz gut, könnte sich aber, wenn jemandem noch etwas besseres einfallen sollte, noch ändern, um nicht unnötig zur Inflation der 4-Buchstaben-XP-Namen beizutragen ) vornehmlich als Software Development Kit, also als Basis für weitere Projekte. So soll es auf jeden Fall eine DLL geben, die auch in XProfan bequem nutzbar ist, und bei Interesse kann ich auch gern statische Bibliotheken zur Nutzung mit C/C++- oder Assembler-Codes zur Verfügung stellen. Auch ein rudimentärer GUI-Browser für die Strukturen soll Teil des Pakets werden. Aber da hier wirklich nicht der Schwerpunkt von meiner Seite aus liegen soll, wäre ein schöner Browser mit vielen Features ein erster Vorschlag für ein Projekt, das jemand in XProfan schreiben könnte...
So, das genügt erstmal - ich freue mich auf Meinungen und Anregungen zu dem Thema!
MfG
Sebastian |
|
|
| |
|
|
| |
|
- Seite 3 - |
|
|
Sebastian König | iF
Gut, dann hab ich also Zeit gewonnen und kann mich erstmal um mein Zahnweh kümmern.
Oha - dann gute Besserung!
iF
Meine FN wird ja nix weiter als ein Pre-Pass sein, Du kannst also erstmal den normalen weiteren Aktivitäten im Bezug auf XPDB nachgehen. Wie wäre Dir die Funktion am liebsten? Also von den Datentypen her etc... oder findet meine Funktion in einem Long dem Mem des ganzen Sources?
Ich bin noch nicht ganz sicher - vielleicht nehmen wir einfach sowas wie PrePass(HANDLE hIn, HANDLE hOut), wobei die Handles auf Objekte verweisen, auf die man mit ReadFile() und WriteFile() zugreifen kann... dann wären sowohl normale (temporäre) Dateien als auch Pipes möglich und ich könnte mir später überlegen, wie ich das genau mache...
MfG
Sebastian |
|
|
| |
|
|
|
| Ich meld mich hier sobald ich hierfür den Kopf ein wenig frei hab. |
|
|
| |
|
|
|
Sebastian König | iF
Ich meld mich hier sobald ich hierfür den Kopf ein wenig frei hab. Alles klar, danke! |
|
|
| |
|
|
|
Sebastian König | So, ich habe endlich etwas zum Testen fertig . Im ZIP-Archiv (Download siehe unten) befinden sich zwei Programme:
xpdb_gui.exe ist ein Browser, mit dem Programm-Datenbanken erzeugt und in einem TreeView dargestellt werden können. Die Bedienung sollte selbsterklärend sein, vielleicht hier nur der Hinweis, dass mit einem Rechtklick auf einen Eintrag ein Kontextmenü angezeigt werden kann.
xpdb.exe dient zum Erzeugen von Datenbanken von der Kommandozeile aus - die Bedienung wird durch den Aufruf xpdb -h erläutert.
Beide Programme lesen zusätzlich Suchpfade für Include- und Header-Dateien zeilenweise aus include.txt.
Ich würde mich sehr freuen, wenn Ihr das ganze einmal testen würdet - gern auch mit umfangreichen XProfan-Codes. Der Datenbank-Browser zeichnet sich natürlich weder durch Schönheit noch durch einen Reichtum an Features aus - aber wie ich schon in meinen Eingangsposting zu diesem Thread erwähnt habe, möchte ich mich bei dem Projekt auf die Entwicklung von Datenbank-Format und -Engine konzentrieren...
Das bringt mich gleich zu meiner nächsten Frage: Hätte vielleicht jemand Lust, einen schöner Browser in XProfan zu schreiben? Er würde mir dabei indirekt auch bei der Entwicklung einer Schnittstelle für die geplante xpdb.dll helfen...
Noch einen Hinweis zum Download: Es handelt sich um eine Alpha-Version, sodass Fehler und Abstürze recht wahrscheinlich sind. Außerdem gilt natürlich der obligatorische Haftungsausschluss meinerseits...
MfG
Sebastian |
|
|
| |
|
|
|
| |
|
| |
|
|
|
Sebastian König | iF
Hm was ich auch mit xpdb anstelle, es funktioniert nicht. XPDB Command Line Utility 0.1 Copyright (C) 207 (----- oO ) Sebastian König Selbst bei diesem Code: KompilierenMarkierenSeparierenLäuft mein Sys auf 100%, und xpdb wird nie fertig... :--/
Hmm... seltsam, bei mir funktionierts... Tritt das Problem auch auf, wenn Du die GUI-Variante benutzt? Und ist etwas in der include.txt eingetragen? |
|
|
| |
|
|
|
| Aha! Datei→Neu - so funktionierts! Includes.Txt ist leer. Die Jahresangabe änderst aber noch ja? *g* |
|
|
| |
|
|
|
Sebastian König | iF
Aha! Datei→Neu - so funktionierts! Includes.Txt ist leer.
Schonmal gut - dann liegt der Fehler wohl nur im Quellcode für die Kommandozeilen-Version. Meine Vermutung ist, dass vielleicht die include.txt nicht gefunden wird und das Programm in der Lese-Schleife hängen bleibt. Sollte natürlich eigentlich nicht passieren, aber mal gucken...
iF
Die Jahresangabe änderst aber noch ja? *g*
Ähm, klar... |
|
|
| |
|
|
|
Sebastian König | Ok, hier also direkt Version 0.1a mit Prüfung auf Existenz der include.txt und korrigierter Jahreszahl. |
|
|
| |
|
|
|
Dietmar Horn | Hallo Sebastian,
ich wollte mal mit dem Code des XProfan-Managers testen:
Datenbank neu -> profman.prf ausgewählt -> Cant find file: THREAD.PCU ... -> Abbruch.
In meinem Arbeitsverzeichnis ist jedoch alles vorhanden. Anderenfalls würde ich den XProfan-Manager ja nicht fast jeden Tag neu compilieren können ...
Ich hatte auch alle 3 Dateien des Archivs direkt ins Arbeitsverzeichnis kopiert und von dort aus die xpdb_gui.exe aufgerufen.
Gruß Dietmar |
|
|
| Multimedia für Jugendliche und junge Erwachsene - MMJ Hoyerswerda e.V. [...] Windows 95 bis Windows 7 Profan² 6.6 bis XProfan X2 mit XPSE Das große XProfan-Lehrbuch: [...] | 18.09.2007 ▲ |
|
|
|
|
Sebastian König | Hallo Dietmar,
Dietmar Horn
ich wollte mal mit dem Code des XProfan-Managers testen:
Datenbank neu -> profman.prf ausgewählt -> Cant find file: THREAD.PCU ... -> Abbruch.
In meinem Arbeitsverzeichnis ist jedoch alles vorhanden. Anderenfalls würde ich den XProfan-Manager ja nicht fast jeden Tag neu compilieren können ...
Ich hatte auch alle 3 Dateien des Archivs direkt ins Arbeitsverzeichnis kopiert und von dort aus die xpdb_gui.exe aufgerufen.
danke für den Hinweis! Ich habe einen Fehler bei der Behandlung von $U-Zeilen mit Namensraum-Angabe in meinem Code gefunden und vermute, dass der in Deinem Fall zugeschlagen hat... im Anhang also nun Version 0.1b
MfG
Sebastian |
|
|
| |
|
|
|
Dietmar Horn | Nun kommt nach ca. 2 bis 3 Sekunden:
Cant find file: C
Keine Ahnung, welche Codezeile das Tool meint, denn es erfolgt ja leider keine Bildschirmausgabe. Der Profman-Code ist dbzgl. aber auf alle Fälle sauber - jedenfalls wird er weder von Compiler, XPSE noch von Deinem ProfanInspector angemeckert.
Gruß Dietmar |
|
|
| Multimedia für Jugendliche und junge Erwachsene - MMJ Hoyerswerda e.V. [...] Windows 95 bis Windows 7 Profan² 6.6 bis XProfan X2 mit XPSE Das große XProfan-Lehrbuch: [...] | 19.09.2007 ▲ |
|
|
|