Lua || Selber bauen || Andere Vorschläge

Algorithmen, Sprachunabhängige Diskussionen zu Konzepten, Programmiersprachen-Design
Benutzeravatar
Bebu
Beiträge: 562
Registriert: Mi Okt 21, 2009 6:19 pm
Wohnort: In der Nähe von Salzburg - Bin aber kein Österreicher!

Lua || Selber bauen || Andere Vorschläge

Beitrag von Bebu » Di Apr 02, 2013 6:12 pm

Ich bastle zur Zeit an einem kleinen Projekt um Pfade nach bestimmten Mustern zu erzeugen. In der Firma, in der ich arbeite legen wir Projekte mit einer bestimmten Ordnerstruktur auf einem Netzlaufwerk an und legen dort CAD Dateien, Bilder und sonstigen Kram zum Projekt ab. Diese Ordnerstruktur erstellen wir bisher von Hand, was ziemlich lästig ist. Mittels Boost und wxWidgets habe ich mittlerweile einen funktionierenden Prototypen, der jetzt aber noch verfeinert und für produktiven Einsatz fit gemacht werden muss. Jetzt zum Problem: Die Pfade müssen je nach Projekttyp unterschiedlich aufgebaut werden und auch bestimmten Konventionen entsprechen. Manchmal ist auch nicht jeder Punkt der Eingabemaske zwingend auszufüllen, oder wird gar nicht benötigt. Außerdem gibt es Spezialfälle, die sich nur über eine Kontrollstruktur abbilden lassen. Das alles soll sich über eine Konfigurationsdatei steuern lassen; ich brauche also mindestens if-Abfragen und die Möglichkeit Variablen an mein C++ Programm zu schicken und zu empfangen.

Die letzten Tage habe ich mich in Boost::Spirit eingelesen, aber mal eben einen Lexer, Parser und Interpreter schreiben, erscheint mir ein bisschen viel Aufwand um eine GUI zu konfigurieren, das Zeit/Nutzen Verhältnis passt nicht. Heute bin ich noch auf Lua gestoßen, was mir viel Arbeit abnehmen würde.

Wie würdet ihr die Sache anpacken? Habt ihr noch ganz andere Ideen?
Wer immer nach dem Unerreichbaren jagt, der wird irgendwann auf die Schnauze fallen!

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Lua || Selber bauen || Andere Vorschläge

Beitrag von cloidnerux » Di Apr 02, 2013 6:38 pm

Wenn ich dich richtig verstehe, willst du dir Arbeit abnehmen, indem du bestimmte, sich wiederholende Vorgänge Automatisieren möchtest.
Dann stellt sich doch die Frage, wie viel einfacher wird es, wenn man statt Ordnerstrukturen von Hand anlegen, erstmal ein Lua-Script schreiben muss?

Dann natürlich die Überlegung, was ändert sich, kann man das irgendwie auch zusammenfassen?
Vlt auch die Überlegung, einfach Modulweise deine Struktur anzugehen und dann einfach schnell Module zu nem Baum verknüpfen, Das du also ein projekt anlegst, das Modul CAD anheftest, das Modul Elektrik, das Modul Fotos, und dadurch dann die Software die ordnerstruktur anlegt?
Redundanz macht wiederholen unnötig.
quod erat expectandum

Benutzeravatar
Bebu
Beiträge: 562
Registriert: Mi Okt 21, 2009 6:19 pm
Wohnort: In der Nähe von Salzburg - Bin aber kein Österreicher!

Re: Lua || Selber bauen || Andere Vorschläge

Beitrag von Bebu » Di Apr 02, 2013 8:21 pm

Du hast Recht, ich möchte wiederholende Vorgänge automatisieren. Ich will nicht jedesmal ein Lua Script schreiben, ich habe eine Eingabemaske erstellt, in die man die notwendigen Projektdaten eingeben muss. Dann werden aus diesen Angaben die Pfade zusammengesetzt. Jetzt gibt es aber unterschiedliche Projektarten, d. h. die Pfade werden anders zusammengesetzt. Das Script soll nur steuern, wie der Pfad zusammengesetzt wird und Teile der GUI aktivieren und deaktivieren.
Wer immer nach dem Unerreichbaren jagt, der wird irgendwann auf die Schnauze fallen!

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Lua || Selber bauen || Andere Vorschläge

Beitrag von Xin » Mi Apr 03, 2013 10:17 am

Wieviele Projektarten gibt es denn? Bzw. ändern die sich laufend?
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
Bebu
Beiträge: 562
Registriert: Mi Okt 21, 2009 6:19 pm
Wohnort: In der Nähe von Salzburg - Bin aber kein Österreicher!

Re: Lua || Selber bauen || Andere Vorschläge

Beitrag von Bebu » Mi Apr 03, 2013 7:03 pm

Im Moment gibt es zwei und es kommen nicht regelmäßig welche dazu. Ich möchte die Sache aber trotzdem flexibel halten. Ich habe in der Firma keine Infrastruktur um mal eben neu zu kompilieren. Flexibilität in der Richtung ist eine Designentscheidung.
Wer immer nach dem Unerreichbaren jagt, der wird irgendwann auf die Schnauze fallen!

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Lua || Selber bauen || Andere Vorschläge

Beitrag von Xin » Mi Apr 03, 2013 9:04 pm

Bebu hat geschrieben:Im Moment gibt es zwei und es kommen nicht regelmäßig welche dazu. Ich möchte die Sache aber trotzdem flexibel halten. Ich habe in der Firma keine Infrastruktur um mal eben neu zu kompilieren. Flexibilität in der Richtung ist eine Designentscheidung.
Ich habe mit Lua noch nie gearbeitet. Es soll wohl recht einfach sein, eine Pythonanbindung zu machen.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
Bebu
Beiträge: 562
Registriert: Mi Okt 21, 2009 6:19 pm
Wohnort: In der Nähe von Salzburg - Bin aber kein Österreicher!

Re: Lua || Selber bauen || Andere Vorschläge

Beitrag von Bebu » Do Apr 04, 2013 6:20 pm

Python hatte ich noch nie im Einsatz. Ich habe allerdings das Gefühl, das Python weit mächtiger ist, also schon fast wieder Overkill :-) Ich kucke mir mal Lua genauer an, kann ja dann Bericht erstatten
Wer immer nach dem Unerreichbaren jagt, der wird irgendwann auf die Schnauze fallen!

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Lua || Selber bauen || Andere Vorschläge

Beitrag von Xin » Do Apr 04, 2013 7:16 pm

Bebu hat geschrieben:Python hatte ich noch nie im Einsatz. Ich habe allerdings das Gefühl, das Python weit mächtiger ist, also schon fast wieder Overkill :-) Ich kucke mir mal Lua genauer an, kann ja dann Bericht erstatten
Ich bitte darum. :-)
Wenn Du es einbindest, wäre ein kleine Artikel dazu schön, damit man das nachmachen kann.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

jeanluc
Beiträge: 33
Registriert: Mo Apr 22, 2013 10:18 pm

Re: Lua || Selber bauen || Andere Vorschläge

Beitrag von jeanluc » Mi Apr 24, 2013 6:01 pm

Schon fertig ? :)

Python kannst du auch sehr einfach einbetten:

Code: Alles auswählen

Py_Initialize();
PyRun_SimpleString(programmcode);
Py_Finalize();
Die include Pfade und die libs aus der Python Installation in den Compiler-Settings deiner IDE angeben, kompilieren, fertig.

programmcode ist ein String. Wenn du nur die Eingaben deiner GUI verarbeiten willst gehe vor wie folgt:
- Platzhalter in programmcode schreiben
- Eingaben zu String konvertieren
- String-Ersetzung durchführen, d.h. Platzhalter durch deine Eingabe-Strings ersetzen.

Alternativ gibt es eine ausführliche Doku wenn du einzelne (selbstdefinierte) Python-Funktionen aufrufen und Rückgaben auswerten willst.

Siehe auch http://docs.python.org/2/extending/embedding.html

Benutzeravatar
Bebu
Beiträge: 562
Registriert: Mi Okt 21, 2009 6:19 pm
Wohnort: In der Nähe von Salzburg - Bin aber kein Österreicher!

Re: Lua || Selber bauen || Andere Vorschläge

Beitrag von Bebu » Mi Apr 24, 2013 8:23 pm

Ja, danke ich bin schon bei Python gelandet. Aber so einfach ist das einbetten auch wieder nicht, zumindest, wenn man bidirektional arbeiten will. Ich spiele mit Boost Python, das erleichtert vieles, aber noch habe ich es nicht so hin bekommen, wie ich es mir wünsche. Lua liegt auf Eis, die Entwicklung meines favorisierten C++ Bindings stockt ziemlich. Aber zur Zeit läuft nicht so viel, schönes Wetter :-)
Wer immer nach dem Unerreichbaren jagt, der wird irgendwann auf die Schnauze fallen!

Antworten