BlackBoard » Design, Programmierung & Entwicklung » Projekte » Code Maker » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Code Maker
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
phlox81 phlox81 ist männlich
Bote des Lichts und Moderator


images/avatars/avatar-2264.jpg

Dabei seit: 19.10.2002
Beiträge: 3.028
Herkunft: Irgendwo im Nirgendwo

Code Maker       Zum Anfang der Seite springen

Mein neuestes Werk smile

Seit einem Jahr arbeite ich jetzt an dem Projekt, einen
Code Generator zu bauen, der mir ermöglicht Klassen und
Templates zu planen, und ohne großen Aufwand in ein paar Dialoge
zu zimmern. Im November letzten Jahres hatte ich auch dann
ein kleines Framework dafür gebastelt, welches ich noch
mal im Frühjahr überarbeitete, das Ergebnis davon war Class Maker,
der schon mal das Erstellen einzelner Klassen testete.
Da Code Maker aber ein ganz anderes GUI Framework benutzt (SDI statt Dialoge),
war es immer mal wieder ein wenig Kniffelei bis alles funktionierte.

Nun ist es soweit, das ich es auf die Menschheit loslassen kann Augenzwinkern
Momentan kann man nur C++ Dateien damit generieren, welches
sich aber ändern wird, da ich bis Herbst auch PHP und Java supporten möchte. smile
Evtl. kommen später noch PHP5, DELPHI und C# hinzu.

Code Maker

Zum Schluss noch ein Screenshot:

Dateianhang:
jpg codemaker.jpg (49 KB, 297 mal heruntergeladen)


__________________
Intelligenz ist eine Illusion des Menschen

phlox81.de | codenode.de
06.09.2004 21:18 phlox81 ist offline E-Mail an phlox81 senden Homepage von phlox81 Beiträge von phlox81 suchen
[DS]-=Pencil=- [DS]-=Pencil=- ist männlich
Senior Member


images/avatars/avatar-712.jpg

Dabei seit: 20.09.2002
Beiträge: 446
Herkunft: Berlin

      Zum Anfang der Seite springen

Eine Beispielprojekt wäre schön (so als HTML), das man sehen kann wie man was bedient smile

Hope You Help

smile

__________________
[DS]-=Pencil=-
---------------------------
Eleminate the Enemy | Staatsfeind
Destroy Facism
www.rtcw-prison.net - www.darksoldiers.de
----------------------------
06.09.2004 22:16 [DS]-=Pencil=- ist offline E-Mail an [DS]-=Pencil=- senden Homepage von [DS]-=Pencil=- Beiträge von [DS]-=Pencil=- suchen
phlox81 phlox81 ist männlich
Bote des Lichts und Moderator


images/avatars/avatar-2264.jpg

Dabei seit: 19.10.2002
Beiträge: 3.028
Herkunft: Irgendwo im Nirgendwo

Themenstarter Thema begonnen von phlox81
      Zum Anfang der Seite springen

Zitat:
Original von [DS]-=Pencil=-
Eine Beispielprojekt wäre schön (so als HTML), das man sehen kann wie man was bedient smile

Hope You Help

smile


Werd aufjedenfall noch ne Hilfe schreiben, und evtl. auch n kleines Tut.

Devil

__________________
Intelligenz ist eine Illusion des Menschen

phlox81.de | codenode.de
06.09.2004 22:19 phlox81 ist offline E-Mail an phlox81 senden Homepage von phlox81 Beiträge von phlox81 suchen
phlox81 phlox81 ist männlich
Bote des Lichts und Moderator


images/avatars/avatar-2264.jpg

Dabei seit: 19.10.2002
Beiträge: 3.028
Herkunft: Irgendwo im Nirgendwo

Themenstarter Thema begonnen von phlox81
      Zum Anfang der Seite springen

So hab jetzt mal ne Readme Datei geschrieben.

Und mal ne Kurzanleitung:

Per Rechtsklick kannst man neue Klassen oder Templates
einfügen, welche dann auch in dem jeweiligen Zweig
erscheinen. Wenn man auf den Klassennamen doppeltklickt,
kann man einstellungen zur Klasse vornehmen, ob sie
abgeleitet ist, und von welcher Parentklasse sie abgeleitet
werden soll. Auch kann man hier Headerdateien spezifizieren,
die eingebunden werden sollen. Gleichzeitig besteht die Möglichkeit,
die Klasse zu kommentieren.
In der Funktionsansicht (doppelklick Funktionen), ist es möglich neue Funktionen
hinzu zufügen, und wenn man diese in der ListBox auswählt, kann man
Quellcode für den Body eingeben, oder an den Übergabe Parametern
rumspielen.
Bei der Ansicht zu den Variablen ist es dann fast genauso, anklicken, dadurch
kann man dann den Namen direkt eingeben, oder Haken setzen.
Kurze Überblick über die Möglichkeiten:
static - Variable ist static.
const - Variable ist const.
friend - Variable ist ein friend der klasse.
get - es wird eine Get-Methode für die Variable generiert
set - es wird eine Set-Methode für die Variable generiert.
Bei den Funktionen gibts dann noch:
virtual - Funktion ist virtual.
()const - die Funktion kann von einer const MyKlass variable aufgerufen werden.
inline - Funktion wird als inline Deklariert.

Devil

__________________
Intelligenz ist eine Illusion des Menschen

phlox81.de | codenode.de
09.09.2004 20:47 phlox81 ist offline E-Mail an phlox81 senden Homepage von phlox81 Beiträge von phlox81 suchen
phlox81 phlox81 ist männlich
Bote des Lichts und Moderator


images/avatars/avatar-2264.jpg

Dabei seit: 19.10.2002
Beiträge: 3.028
Herkunft: Irgendwo im Nirgendwo

Themenstarter Thema begonnen von phlox81
      Zum Anfang der Seite springen

So, gibt ne neue Version, hab leider nur wenig Zeit zum Coden...

Ich hab jetzt primär mich um die PHP Unterstützung gekümmert,
und das Tool kann jetzt auch Klassen nach PHP parsen, wobei
das nicht ganz einfach war, da PHP ja einwenig laxer mit den
Typen umgeht, so das einiges jetzt natürlich in PHP keinen
sinn macht, aber extra noch mal ne komplette GUI dafür zu schreiben,
das wäre Oversize...
Geplant ist für die nächste Zeit aufjedenfall noch die Unterstützung
von Java, evtl. auch der 1.5 Version, da diese auch Templates kann smile

Code Maker

mfg.

Devil

__________________
Intelligenz ist eine Illusion des Menschen

phlox81.de | codenode.de
20.10.2004 20:55 phlox81 ist offline E-Mail an phlox81 senden Homepage von phlox81 Beiträge von phlox81 suchen
HeaD HeaD ist männlich
Hoffnungsloser Sozialfall in Behandlung bei Styx


images/avatars/avatar-2266.gif

Dabei seit: 31.08.2001
Beiträge: 4.142
Herkunft: Mama

      Zum Anfang der Seite springen

Klingt interessant für mich, ich werds mir mal saugen und zu Gemüte führen smile

__________________

21.10.2004 00:40 HeaD ist offline E-Mail an HeaD senden Homepage von HeaD Beiträge von HeaD suchen
Misel Misel ist männlich
Hüter des Kitkat


images/avatars/avatar-2084.png

Dabei seit: 02.11.2002
Beiträge: 1.203
Herkunft: live://home.berlin.d e

      Zum Anfang der Seite springen

sieht interessant aus devil, gerade, wo ich dieses Semester C++ habe. ABER: Das sieht so Windowsig aus. Hast Du das auch für Linux? smile

__________________
LAUFT! Ich spiele KILLERSPIELE!
21.10.2004 19:54 Misel ist offline E-Mail an Misel senden Homepage von Misel Beiträge von Misel suchen
phlox81 phlox81 ist männlich
Bote des Lichts und Moderator


images/avatars/avatar-2264.jpg

Dabei seit: 19.10.2002
Beiträge: 3.028
Herkunft: Irgendwo im Nirgendwo

Themenstarter Thema begonnen von phlox81
      Zum Anfang der Seite springen

Zitat:
Original von Misel
sieht interessant aus devil, gerade, wo ich dieses Semester C++ habe. ABER: Das sieht so Windowsig aus. Hast Du das auch für Linux? smile


Äh, versuchs mal mit Wine Augenzwinkern
Leider hab ich es nicht für linux, fehlt mir die Zeit zu :/

Devil

__________________
Intelligenz ist eine Illusion des Menschen

phlox81.de | codenode.de
21.10.2004 20:02 phlox81 ist offline E-Mail an phlox81 senden Homepage von phlox81 Beiträge von phlox81 suchen
HeaD HeaD ist männlich
Hoffnungsloser Sozialfall in Behandlung bei Styx


images/avatars/avatar-2266.gif

Dabei seit: 31.08.2001
Beiträge: 4.142
Herkunft: Mama

      Zum Anfang der Seite springen

Ich hab mal reingeschaut und funktionieren tut alles, nur hab ich im Moment noch keine verwendung dafür, denn, grade in PHP, schreibt ich mir von Hand doch sehr viel schneller eine Funktion Augenzwinkern Mal abwarten wie sich das Tool noch entwickelt smile

__________________

21.10.2004 20:28 HeaD ist offline E-Mail an HeaD senden Homepage von HeaD Beiträge von HeaD suchen
phlox81 phlox81 ist männlich
Bote des Lichts und Moderator


images/avatars/avatar-2264.jpg

Dabei seit: 19.10.2002
Beiträge: 3.028
Herkunft: Irgendwo im Nirgendwo

Themenstarter Thema begonnen von phlox81
      Zum Anfang der Seite springen

So, weil Weihnachten ist gibts ein Update großes Grinsen Augenzwinkern

War viel arbeit, hab den ganzen Parser umschreiben müssen, und
das war, naja, net so schön, viel arbeit. Jetzt
unterstützt das Programm auch Java (C++ und PHP unterstützt es weiterhin).

Da das Programm aber ursprünglich für C++ gedacht war, ist da auch
die Unterstützung am besten...

mfg.

Devil

__________________
Intelligenz ist eine Illusion des Menschen

phlox81.de | codenode.de
25.12.2004 20:14 phlox81 ist offline E-Mail an phlox81 senden Homepage von phlox81 Beiträge von phlox81 suchen
phlox81 phlox81 ist männlich
Bote des Lichts und Moderator


images/avatars/avatar-2264.jpg

Dabei seit: 19.10.2002
Beiträge: 3.028
Herkunft: Irgendwo im Nirgendwo

Themenstarter Thema begonnen von phlox81
      Zum Anfang der Seite springen

So gibt ein neues Update.

Hab einige Bugs gefixt, und u.a.
es ermöglicht, das man die Kommentare
für Funktionen direkt editieren kann,
des weiteren kann man nun Operatoren
oder andere Vorgefertigte Funktionen
in eine Klasse einfügen.

Dies wird die Letzte Version dieses Tools
sein, ich werde danach an einem Nachfolger
arbeiten, der dann als Fernziel hat, UML
zu unterstützen...

Devil

__________________
Intelligenz ist eine Illusion des Menschen

phlox81.de | codenode.de
21.07.2005 19:57 phlox81 ist offline E-Mail an phlox81 senden Homepage von phlox81 Beiträge von phlox81 suchen
Misel Misel ist männlich
Hüter des Kitkat


images/avatars/avatar-2084.png

Dabei seit: 02.11.2002
Beiträge: 1.203
Herkunft: live://home.berlin.d e

      Zum Anfang der Seite springen

kleiner Vorschlag zur Güte (dann kommt auch nicht noch so ein Kommentar von mir wie oben Augenzwinkern ) :

QT 4. Gibt es jetzt auch für Windows in der GPL. Wenn Dein Projekt jedoch nicht unter der GPL stehen soll, kannst Du es nicht verwenden. Aber dafür vielleicht GTK oder wxWidgets?

__________________
LAUFT! Ich spiele KILLERSPIELE!
02.08.2005 13:18 Misel ist offline E-Mail an Misel senden Homepage von Misel Beiträge von Misel suchen
phlox81 phlox81 ist männlich
Bote des Lichts und Moderator


images/avatars/avatar-2264.jpg

Dabei seit: 19.10.2002
Beiträge: 3.028
Herkunft: Irgendwo im Nirgendwo

Themenstarter Thema begonnen von phlox81
      Zum Anfang der Seite springen

Zitat:
Original von Misel
kleiner Vorschlag zur Güte (dann kommt auch nicht noch so ein Kommentar von mir wie oben Augenzwinkern ) :

QT 4. Gibt es jetzt auch für Windows in der GPL. Wenn Dein Projekt jedoch nicht unter der GPL stehen soll, kannst Du es nicht verwenden. Aber dafür vielleicht GTK oder wxWidgets?


Hm, ja.
Also, es ist so, ich plane gerade den Nachfolger, der wird wohl wxWidgets
als GUI nehmen. Wird allerdings noch was dauern, da ich mal wieder
etwas mehr will. Und erstmal das Backend völlig neu erstelle.
Features die dann neu sein werden:
Man wird Variablen Start Values zu weisen können.
Es wird ein Konstruktor generiert, der die Variablen enthält (optional).
Setter und Getter Methoden werden nicht mehr generiert,
sondern im Programm erzeugt, und man kann sie so zur Laufzeit
schon bearbeiten. Des weiteren wird wohl ein UML Klassendiagramm
noch dazu kommen, aber das ist alles noch weit weg...
Schätze in einem Jahr gibts den ersten Prototypen.

phlox

__________________
Intelligenz ist eine Illusion des Menschen

phlox81.de | codenode.de
02.08.2005 17:26 phlox81 ist offline E-Mail an phlox81 senden Homepage von phlox81 Beiträge von phlox81 suchen
phlox81 phlox81 ist männlich
Bote des Lichts und Moderator


images/avatars/avatar-2264.jpg

Dabei seit: 19.10.2002
Beiträge: 3.028
Herkunft: Irgendwo im Nirgendwo

Themenstarter Thema begonnen von phlox81
      Zum Anfang der Seite springen

So, mit den Arbeiten am Nachfolger wurde begonnen,
und damit ergeben sich auch wieder Verbesserungen
des Alten Tools, kurz. Bugfix 1.0 ist da Augenzwinkern

Ich schreib einfach mal was ich so jetzt noch hinzugefügt bzw.
Korrigiert habe:
Der Templatebereich unterstützt nun friend Funktionen, d.h.
diese werden nun korrekt ausgegeben, mit forward Dekleration.

Einige nicht nennenswerte Fehler wurden behoben, und ein Paar
Hacks eingefügt:
Die Klassen-kommentare stehen jetzt _vor_ der Klasse im Header.
Ermöglicht diesen netten Hack:[cpp]*/ class myclass; /*[/cpp]
Schon kann man Forward Deklerationen einfügen ...

C++ bietet ja auch die Möglichkeit in der *.cpp bei Konstruktoren
Initialisierungslisten anzulegen, welches mein Tool erst in der
Nächsten Generation (die gerade entsteht) generieren können, aber
es gibt da einen kleinen Hack:
Beim letzten Konstruktorargument im namen )Zunge raus ARENTNAME(copy z.b.
im Copykonstruktor angeben, schon passt dies.
Im Header wird danach gefiltert, so das es nur in die CPP wandert.
Wie gesagt ist ein dirty Hack Augenzwinkern

Auch kann man nun im namen mit myname=myvalue stanard werte für
Variablen in Funktionsköpfen geben, diese wandern dann nur in den header.

Der Projektname hat nun auch einen Sinn bekommen:
Wenn er nicht "project1" (Standardwert) ist, wird er als Namespace name
erkannt, und jede Klasse wandert dann in den entsprechenden Namespace.

Hier noch mal der Link:
Codemaker

phlox

__________________
Intelligenz ist eine Illusion des Menschen

phlox81.de | codenode.de
26.08.2005 19:05 phlox81 ist offline E-Mail an phlox81 senden Homepage von phlox81 Beiträge von phlox81 suchen
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
BlackBoard » Design, Programmierung & Entwicklung » Projekte » Code Maker

Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH