Français
SDK-Helfer/ Tools

XPDB: Einheitlicher Standard pour projet-Datenbanken

 
- page 1 -



Sebastian
König
allô zusammen,

einer spontanen concept folgend habe je avant un paire Tagen avec qui travail à einem neuen projet begonnen: un Parser, qui qui Struktur eines (X)Profan-Projekts (d.h. eingebundene Include-, En-tête-, et Unit-Fichiers, enthaltene Prozeduren usw.) dans einer banque de données speichert. cet banque de données soll ensuite dans un Dossier geschrieben volonté - et oui c'est ca à cette Stelle liegt qui Grund pour mon Posting ici:

je serait pour cela Format cette Fichiers gern une einheitlichen Standard créer. et là je cette naturellement pas seul bestimmen voudrais (aussi si cet Praxis dans qui IT-Branche pas unüblich ist ), serait je cela Format gern ici diskutieren (quelques konkrete Vorstellungen habe je déjà, mais en supplément später plus).

Erstmal mon Hauptfrage: quoi haltet son grundsätzlich de dem projet, une solchen Standard trop créer?

et speziell à iF: XPSE écrit oui pour Unités oui déjà quelques Infos dans .def-Fichiers. Wärst Du bereit, ici zusätzlich cela neue Format trop soutien?

Geplant ist cela projet, le moi vorläufig XPDB genannt habe (pour XProfan Program Database - comme mir eigentlich pas mal, pourrait sich mais, si quelqu'un et avec ca besseres envahir sollte, encore changement, um pas unnötig zur inflation qui 4-Buchstaben-XP-Namen beizutragen ) vornehmlich comme Software Development Kit, alors comme la base pour weitere Projekte. So soll es sur jeden le cas une DLL donner, qui aussi dans XProfan bequem nutzbar ist, et chez intérêt peux je aussi gern statische Bibliotheken zur Nutzung avec C/C++- ou bien Assembler-Codes zur Disposition se mettre. aussi un rudimentärer GUI-Browser pour qui Strukturen soll partie des Pakets volonté. mais là ici wirklich pas qui Schwerpunkt de meiner page aus liegen soll, wäre un plus beau Browser avec vielen Features un erster Vorschlag pour un projet, cela quelqu'un dans XProfan écrivons pourrait...

So, cela suffisant erstmal - je suis mich sur Meinungen et Anregungen trop dem Thema!

MfG

Sebastian
 
Windows XP, XProfan/Profan² 4.5 bis 11
Profan2Cpp-Homepage:  [...] 
Alte Profan²-Seite:  [...] 
10.09.2007  
 



 
- page 2 -



Sebastian
König
iF
qui URL bezog sich plutôt sur un Dateiobjekt.


aussi c'est naturellement possible. principale wird cela wahrscheinlich im Zusammenhang avec Unités Verwendung trouver.

iF
avec den Quotes ist alles IO, Du hattest seulement derrière einem quote-part (et avant dem Gleichzeichen) un Freizeichen avec incorporé, et [quote-part = blub] gibt es pas quoi iFBB im Bezug aufs quote-part zum débrancher zwang.


Ah, ok.

iF
je hatte oui so ou bien so avant oui c'est ca cet Fonctionnalité dans qui XIDE hineinzukatapultieren - Stichworte projet-Assistent/Explorer - vlt. nimmt Sebastian uns dabei quelque chose travail ab. (vorausgesetzt son Parser zuckt pas chez XPSE-Codes et versteht cet aussi que normale XCodes.)

Würde je bien sûr gern faire . je pourrait pour aus meinem Code une statische Bibliothèque avec Low-Level-Zugriff sur qui de mir erstellte banque de données-super bereitstellen - chez besoin aussi avec einer pas objektorientierten Schnittstelle, weil qui Zugriff puis dans ASM peut-être quelque chose compliqué wäre. ici pourrait je mich entier à Euren désirer orienter.

Bislang verarbeitet mon Parser seulement reines XProfan (et en seulement une kleinen partie, là je avec qui travail daran justement seulement begonnen habe...) Unterstützung pour XPSE voudrais je gern einbauen - mais selbst parsen halte je pour unnötige travail... on doch simple XPSE appel et qui Ausgabe weiterarbeiten, ou bien?
 
Windows XP, XProfan/Profan² 4.5 bis 11
Profan2Cpp-Homepage:  [...] 
Alte Profan²-Seite:  [...] 
11.09.2007  
 



Sebastian König

iF
qui URL bezog sich plutôt sur un Dateiobjekt.


aussi c'est naturellement possible. principale wird cela wahrscheinlich im Zusammenhang avec Unités Verwendung trouver.


J'ai pensé là plutôt pas absolument à Unités, plutôt moins un offenes (mini!) CVS quoi qui XProfan.Com bereits sous qui coiffe trägt (à cause de XIDE). Hiermit soll es possible son aus XIDE heraus un komplettes projet hochzuladen et dedans de XIDE gemeinsam zeitgleich à einem projet trop travailler.

Sebastian König
Bislang verarbeitet mon Parser seulement reines XProfan (et en seulement une kleinen partie, là je avec qui travail daran justement seulement begonnen habe...) Unterstützung pour XPSE voudrais je gern einbauen - mais selbst parsen halte je pour unnötige travail... on doch simple XPSE appel et qui Ausgabe weiterarbeiten, ou bien?


Wäre komplizierter là on vérifier devrait si überhaupt XPSE angewandt wird (et ensuite aussi encore chaque la fois une Prozess starten - phew...) . Lediglich pour #include & include et un peu {/} geparse ist nötig (z.B. pour qui Funktions/Prozedurerkennung)
Im Prinzip ist alles avant { si es pas si tandis que & co ist, une Funktion/Procédure.
KompilierenMarqueSéparation
#include meineinclude.inc// mit dem # davor ists ein include_once
include meineinclude.inc
myproc{}

while 1{}

qui l'affaire ist seulement, j'ai ici GT. qui XIDE naturellement un viel neueren XPSE comme es ici zum DW gibt, toutefois sollte qui aktuelle ici-downloadbare Version hierfür ausreichen.
 
11.09.2007  
 




Sebastian
König
iF
J'ai pensé là plutôt pas absolument à Unités, plutôt moins un offenes (mini!) CVS quoi qui XProfan.Com bereits sous qui coiffe trägt (à cause de XIDE). Hiermit soll es possible son aus XIDE heraus un komplettes projet hochzuladen et dedans de XIDE gemeinsam zeitgleich à einem projet trop travailler.

Ok, so lente verstehe je, quoi Du meinst. Es serait wohl reichen, statt qui file Angabe simple alternativ ou bien zusätzlich url trop erlauben, ou bien?

iF

Sebastian König
Bislang verarbeitet mon Parser seulement reines XProfan (et en seulement une kleinen partie, là je avec qui travail daran justement seulement begonnen habe...) Unterstützung pour XPSE voudrais je gern einbauen - mais selbst parsen halte je pour unnötige travail... on doch simple XPSE appel et qui Ausgabe weiterarbeiten, ou bien?


Wäre komplizierter là on vérifier devrait si überhaupt XPSE angewandt wird (et ensuite aussi encore chaque la fois une Prozess starten - phew...) . Lediglich pour #include & include et un peu {/} geparse ist nötig (z.B. pour qui Funktions/Prozedurerkennung)
Im Prinzip ist alles avant { si es pas si tandis que & co ist, une Funktion/Procédure. (...)

Hmm... ok, im Prinzip pourrait je cela wohl aussi direct einbauen. Wäre es car nötig, pour mon zeilenbasiertes Parsen (genauer: Zusammenfügen de per Backslash verbundenen Zeilen et anschließendes Auftrennen, si Doppelpunkte vorkommen) aufzugeben? Votre XPSE-Codes erinnern oui mittlerweile très à C++ ou bien Java, wohin Zeilengrenzen simple seulement Leerräume sommes...
 
Windows XP, XProfan/Profan² 4.5 bis 11
Profan2Cpp-Homepage:  [...] 
Alte Profan²-Seite:  [...] 
11.09.2007  
 



Sebastian König

iF
J'ai pensé là plutôt pas absolument à Unités, plutôt moins un offenes (mini!) CVS quoi qui XProfan.Com bereits sous qui coiffe trägt (à cause de XIDE). Hiermit soll es possible son aus XIDE heraus un komplettes projet hochzuladen et dedans de XIDE gemeinsam zeitgleich à einem projet trop travailler.

Ok, so lente verstehe je, quoi Du meinst. Es serait wohl reichen, statt qui file Angabe simple alternativ ou bien zusätzlich url trop erlauben, ou bien?


oui c'est ca, et si mgl. aussi encore une Dateiversionsangabe - z.B. FileVer. cela rührt daher cela alle XIDE-Panel/Plugin-SDK-Quelltextdateien une Versionsinfo im Source tragen quelle z.B. aussi vom Updatecheck genutzt wird. Hierfür gibts 2 Varianten:
KompilierenMarqueSéparation
//Version:0.0.0
/Version:0.0.0e>
cet Info pourrait Dein Parser également aus dem Source lesen et qui XML beifügen.

Sebastian König

iF

Sebastian König
Bislang verarbeitet mon Parser seulement reines XProfan (et en seulement une kleinen partie, là je avec qui travail daran justement seulement begonnen habe...) Unterstützung pour XPSE voudrais je gern einbauen - mais selbst parsen halte je pour unnötige travail... on doch simple XPSE appel et qui Ausgabe weiterarbeiten, ou bien?


Wäre komplizierter là on vérifier devrait si überhaupt XPSE angewandt wird (et ensuite aussi encore chaque la fois une Prozess starten - phew...) . Lediglich pour #include & include et un peu {/} geparse ist nötig (z.B. pour qui Funktions/Prozedurerkennung)
Im Prinzip ist alles avant { si es pas si tandis que & co ist, une Funktion/Procédure. (...)

Hmm... ok, im Prinzip pourrait je cela wohl aussi direct einbauen. Wäre es car nötig, pour mon zeilenbasiertes Parsen (genauer: Zusammenfügen de per Backslash verbundenen Zeilen et anschließendes Auftrennen, si Doppelpunkte vorkommen) aufzugeben? Votre XPSE-Codes erinnern oui mittlerweile très à C++ ou bien Java, wohin Zeilengrenzen simple seulement Leerräume sommes...


réellement parst xpse pas Zeilenbasiert, hätte là mais ne concept comment Du Deinen Parser toutefois kleinhalten peux wobei on pas einmal cela Semikolon comme (xpse)möglichen Zeilentrenner wegdenken muss. (cela unten mais seulement funktioniert là Du oui den Source pas wirklich vérifier musst etc.)

voyons wir uns fois le trois einfacheren Problemfälle à:
KompilierenMarqueSéparation
Angenommen cela ganze File liegt dans einem String s et on a zusätzlich cela pseudo whiletranslate (
KompilierenMarqueSéparation) trop Disposition, ensuite gilt:
KompilierenMarqueSéparation
//source säubern
s=translate(s,	,x20)
s=whiletranslate(s,x20x20,x20)
s=whiletranslate(s,
x20,
)
s=whiletranslate(s,x20
,
)
s=whiletranslate(s,
,
)
//autre Zeilentrenner
s=translate(s,;,
)
s=translate(s,:,
)
//klammern lösen

s=translate(s,{,

    {

        )

    s=translate(s,},

}

)
s=whiletranslate(s,
,
)

Pour diesem Pass liegt eigentlich alles Zeilenbasiert avant. peux son le moi quelque chose übersehen habe là ego ici simple hineingetippt hab et es seulement zum Verständnis dienen soll. Bien sûr ist pour diesem Pass qui Source détruit - mais je mon Dein Parser braucht keinen brauchbaren Source et sollte den Source calme derart zerhechseln peut cela léger qui Informationen extrahierbar sommes quelle pour qui XML nötig sommes.

qui Parser devrait ensuite seulement encore regarder si qui prochain la ligne exakt un { ist, afin de savons cela qui aktuelle la ligne une Proc son soll. (si pas grad tandis que si whileloop & co).

un petite wenig gemeiner ist qui Tatsache cela xpse aussi folgendes beherrscht:
KompilierenMarqueSéparation
string meineProc(string a,b,c,float x,y,z,long q,w,e){//hierbei serait qui Rückgabewert True avant Rückgabe dans une String konvertiert

    return vrai

}

//ou bien
long meineProc(string a,b,c,float x,y,z,long q,w,e)//hierbei serait qui Rückgabewert 12 avant Rückgabe dans un Long konvertiert

{

    return 12

}

//ou bien
int meineProc(string a,b,c,float x,y,z,long q,w,e){return vrai}
// il y a (xpse kennt) bool, int, long, float, string et mem

Hoffe cela hilft un peu.
 
12.09.2007  
 




Sebastian
König
iF
oui c'est ca, et si mgl. aussi encore une Dateiversionsangabe - z.B. FileVer. cela rührt daher cela alle XIDE-Panel/Plugin-SDK-Quelltextdateien une Versionsinfo im Source tragen quelle z.B. aussi vom Updatecheck genutzt wird. Hierfür gibts 2 Varianten:
KompilierenMarqueSéparation
//Version:0.0.0
/Version:0.0.0e>
cet Info pourrait Dein Parser également aus dem Source lesen et qui XML beifügen.


Ok .

iF

Sebastian König
Hmm... ok, im Prinzip pourrait je cela wohl aussi direct einbauen. Wäre es car nötig, pour mon zeilenbasiertes Parsen (genauer: Zusammenfügen de per Backslash verbundenen Zeilen et anschließendes Auftrennen, si Doppelpunkte vorkommen) aufzugeben? Votre XPSE-Codes erinnern oui mittlerweile très à C++ ou bien Java, wohin Zeilengrenzen simple seulement Leerräume sommes...

réellement parst xpse pas Zeilenbasiert, hätte là mais ne concept comment Du Deinen Parser toutefois kleinhalten peux wobei on pas einmal cela Semikolon comme (xpse)möglichen Zeilentrenner wegdenken muss. (cela unten mais seulement funktioniert là Du oui den Source pas wirklich vérifier musst etc.)

voyons wir uns fois le trois einfacheren Problemfälle à:
(...)
Hoffe cela hilft un peu.


Gewissermaßen... je suis maintenant doch wieder stark qui attitude, dass cet travail pas dans meinen Parser est et ihn unnötigerweise sur une Vielfaches des bisherigen Umfangs aufblähen serait...

je denke mais, j'ai une schönen Alternativ-Vorschlag: je pourrait sans grand Aufwand une Schnittstelle einbauen, qui beliebige Präprozessoren soutenu. Es fonctionne ensuite simple so, dass qui Adresse einer Callback-Funktion angegeben volonté muss, quelle mon internes GetNextLine() ersetzt. Alles, quoi cet Funktion leisten devrait, ist qui la ligne dans reinem XProfan et qui zugehörige Zeilennummer aus qui Quelldatei trop liefern.

dans cette variante devrait mon Parser ensuite garnichts sur zusätzliche Syntax-Features savons et wäre völlig allgemein gehalten. Aussi würden eventuelle zukünftige XPSE-Erweiterungen et XPIA automatisch soutenu volonté. et un zusätzlicher Prozess devrait aussi pas gestartet volonté... dans qui Anwendung liefe es ensuite so, dass un projet comment zum Beispiel XIDE simple deux Bibliotheken (libxpdb.lib et libxpse.lib) dazulinkt et dem XPDB-Parser cela Plug-dans bekanntmacht.

Je länger je par-dessus nachdenke, desto besser comme mir cet Solution. vous hält beide Aufgabenbereiche joli modular getrennt et gestattet somit très simple entretien et Erweiterung. quoi hältst Du en?

MfG

Sebastian
 
Windows XP, XProfan/Profan² 4.5 bis 11
Profan2Cpp-Homepage:  [...] 
Alte Profan²-Seite:  [...] 
12.09.2007  
 



GetNextLine pourrait mais pas ausreichen dans Fällen comment cette:
KompilierenMarqueSéparation
 
12.09.2007  
 




Sebastian
König
iF
GetNextLine pourrait mais pas ausreichen dans Fällen comment cette:
KompilierenMarqueSéparation


Pourquoi pas? Es sollte dans so einem le cas simple folgendes liefern (chacun la ligne entspricht einem Aufruf de GetNextLine, im Kommentar steht qui Zeilennummer, qui zusätzlich geliefert wird):
KompilierenMarqueSéparation
proc myproc 1

    parameters alphabet$ 1
    return alphabet$ 3
    endproc 4

Du verstehst?

MfG

Sebastian
 
Windows XP, XProfan/Profan² 4.5 bis 11
Profan2Cpp-Homepage:  [...] 
Alte Profan²-Seite:  [...] 
12.09.2007  
 



Hrm je comprends sehrwohl, c'est pourquoi mon je oui cela GetNextLine pas ausreichen pourrait. dans og. xpse la ligne 1 ist - sans cela la ligne 2 bekannt ist pas ermittelbar cela es sich um une proc handelt! quoi hältst Du de qui variante den Code simple bevor Du ihn passierst komplett à une externe Parser trop donner? Du könntest ensuite simple avec dem Rückgabeergebnis travailler welches arrêt aussi den kompletten Code contient.
 
12.09.2007  
 




Sebastian
König
iF
Hrm je comprends sehrwohl, c'est pourquoi mon je oui cela GetNextLine pas ausreichen pourrait. dans og. xpse la ligne 1 ist - sans cela la ligne 2 bekannt ist pas ermittelbar cela es sich um une proc handelt!

Hmm... möglicherweise comprendre wir uns mutuel faux, mais cela sollte doch ne...aucune Problem son... qui Prä-Parser ;) peux oui déjà la ligne 2 et meinetwegen encore plus d'avance lesen - important wäre seulement, cela Ergebnis ensuite meinem Parser zeilenweise vorzusetzen... (so meinte je mon Beispiel). mais égal, car:

iF
quoi hältst Du de qui variante den Code simple bevor Du ihn passierst komplett à une externe Parser trop donner? Du könntest ensuite simple avec dem Rückgabeergebnis travailler welches arrêt aussi den kompletten Code contient.


Gefällt mir très bien! Im Grunde lautete so oui mon erster Vorschlag (Aufruf de XPSE par meinen Parser). Bien sûr peux on cela ensuite comment chez qui GetNextLine-variante sur qui Plug-dans/Callback-la base faire et so cela ständige Starten eines weiteren Prozesses vermeiden. important wäre seulement, dass cela ganze sur Include-plaine stattfindet, alors dass toujours seulement oui c'est ca qui angegebene Dossier verarbeitet wird et $I-Anweisungen im Code rester. je prends la fois à, es wäre ne...aucune großer Aufwand, une passende Lib aus deinem bestehenden XPSE-Code trop erzeugen, ou bien?

MfG

Sebastian
 
Windows XP, XProfan/Profan² 4.5 bis 11
Profan2Cpp-Homepage:  [...] 
Alte Profan²-Seite:  [...] 
12.09.2007  
 



qui Aufwand hält sich dans Grenzen, klebt ensuite mais doch wieder à mir. je mon mais je serait XPSE pas comme Grundlage pour qui Lib prendre - cela Abspecken (ou bien verteilen de ifdefs) wäre deutlich aufwändiger comme cela bisl Parserei. je glaub je schreib mais simple une Funktion et schubs Dir den C-Code rüber den Du ensuite direct juste einbauen peux. Que le Lib peut wir uns chez dem kleinen partie sparen.
 
13.09.2007  
 




Sebastian
König
iF
qui Aufwand hält sich dans Grenzen, klebt ensuite mais doch wieder à mir. je mon mais je serait XPSE pas comme Grundlage pour qui Lib prendre - cela Abspecken (ou bien verteilen de ifdefs) wäre deutlich aufwändiger comme cela bisl Parserei. je glaub je schreib mais simple une Funktion et schubs Dir den C-Code rüber den Du ensuite direct juste einbauen peux. Que le Lib peut wir uns chez dem kleinen partie sparen.

Ok, naturellement peux je qui travail sur la base Deines Codes gern prendre - alors seulement her avec cela . dans quel forme oui c'est ca je cela ganze einbaue, schaue je ensuite la fois - je voudrais qui Schnittstelle pour sur jeden le cas allgemein tenir...

Priorität hat aussi erstmal, dass alles grundsätzlich funktioniert et je ensuite seulement encore Erweiterungen pour weitere Syntax-Elemente einbauen muss. Priorität avons zunächst Comprend, En-tête, Unités et Procs.

MfG

Sebastian
 
Windows XP, XProfan/Profan² 4.5 bis 11
Profan2Cpp-Homepage:  [...] 
Alte Profan²-Seite:  [...] 
13.09.2007  
 



bien, ensuite hab je alors Zeit gewonnen et peux mich erstmal um mon Zahnweh kümmern. mon FN wird oui nix plus comme un Pre-Pass son, tu peux alors erstmal den normalen weiteren Aktivitäten im Bezug sur XPDB nachgehen. comment wäre Dir qui Funktion am liebsten? alors de den Datentypen her etc... ou bien findet mon Funktion dans einem Long dem Mem des ganzen Sources?
 
13.09.2007  
 




répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

33.571 Views

Untitledvor 0 min.
Gast.081529.08.2024
Sven Bader07.08.2021
Michael W.03.04.2021
iF01.11.2020
plus...

Themeninformationen



Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie