Anzeige:
Ergebnis 1 bis 8 von 8

Thema: Skriptsprachenintegration in ein Programm

  1. #1
    Registrierter Benutzer
    Registriert seit
    22.08.2002
    Ort
    Nürnberg
    Beiträge
    638

    Skriptsprachenintegration in ein Programm

    Hi,

    ich habe den Auftrag ein bestehendes Programm, um eine Skriptsprache zu erweitern und habe keine Ahnung.

    Konkret geht es darum, daß ein Programm existiert, mit dem man Produkttests für eine Zertifizierung durchführen kann. Dieses ist komplett in ANSI-C geschrieben. Jetzt habe ich die Anforderung bekommen, es um eine Skriptsprache zu erweitern. D. h. ein Anwender des Programms soll in der Lage sein, für sich selber zusätzliche Tests zu definieren und zu schreiben. Diese zusätzlichen Tests sollen in einer Skriptsprache definiert werden. Bisher gibt es keine Festlegung auf welche. Die Skriptsprache soll eigene Befehle/Funktionen unterstützen neben den üblichen Standardkonstrukten (ähnlich einfachem BASIC). Sie soll natürlich einfach in das bestehende Projekt integrierbar sein. Ich habe keine Ahnung.

    Was würdet ihr empfehlen. Ich habe was von TCL gehört (TK wird nicht benötigt, da es ja "nur" die Oberfläche abbildet.) oder von YACC/BISON und LEX/FLEX.

    Ich werde mich am Samstag auch mal in der Buchhandlung umsehen.

    Aber bis dahin. Habt ihr schon einmal Erfahrungen mit soetwas gesammelt? Wo findet man Informationen dazu?

    Danke.

    Pingu


    PS: Kleine Anekdote: Ich habe damals nach dem ABI ein paar Probevorlesungen Informatik an der Uni besucht. Dabei war eine der Vorlesungen Compilerbau. Diese war so theroretisch, daß ich mich entschieden habe, lieber E-Technik an der FH zu studieren. Jetzt holt es mich wieder ein.
    Homepage: www.pingu.info

  2. #2
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Ich hab das noch nie gemacht und deshalb auch keine Ahnung. Aber da ich TCL nicht mag hätte ich mich in Richtung Python orientiert - siehe auch die FAQ dazu.

    Aber eigentlich wäre dem nur so gewesen weil
    a) Alle die Python nutzen sagen Python sei gut - [ironie-sarkasmus]vielleicht ist das so ein Ding wie bei C++ - da sagen auch viele dies Nutzen es sei gut und dabei ists grottenschlecht - nur würden sie sich schämen zuzugeben dass sie was grottenschlechtes benutzen[/.*]

    b) Ich mal gehört habe Scribus nutze Python um so Scripting-Zeugs anzubieten.

    Aber wie gesagt - /me hat keine Ahnung oder zumindest nicht sehr viel davon

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  3. #3
    Registrierter Benutzer Avatar von panzi
    Registriert seit
    04.05.2001
    Ort
    Kottingbrunn
    Beiträge
    609
    Zitat Zitat von peschmae
    b) Ich mal gehört habe Scribus nutze Python um so Scripting-Zeugs anzubieten.
    Nicht nur scribus sondern auch noch viele andere Programme mehr nutzen python, z.B. auch blender. Auf der python homepage wird auch beschrieben wie man python in ein C/C++ Programm einbettet: http://python.org/doc/2.4.2/ext/ext.html

    Wenn es C++ währe, könntest auch boost's python bindings verwenden: http://boost.org/libs/python/doc/index.html
    Intel Core 2 Duo CPU 2.66GHz; Nvidia GeForce 8 8800 GTS; 4GB RAM; Fedora 12; KDE-testing

  4. #4
    Registrierter Benutzer
    Registriert seit
    22.08.2002
    Ort
    Nürnberg
    Beiträge
    638
    Hey, das mit dem Python sieht ja ziemlich gut aus. Es scheint nach der Doku relativ bis sehr einfach integrieren und auch erweitern auf Basis von ANSI-C.

    Danke. Aber ich bin auch immer noch offen für andere Vorschläge. Wobei Python langsam mein Interesse geweckt hat (bisher habe ich es immer verdrängt).

    Pingu
    Homepage: www.pingu.info

  5. #5
    Registrierter Benutzer Avatar von [0x[90]|
    Registriert seit
    10.05.2005
    Ort
    Filderstadt
    Beiträge
    79
    Falls du nichts dagegen hast eine Sprache zu verwenden deren Environment groesser ist als dein eigentliches Programm, koenntest du auch EmbededMono und somit C# nutzen. Oder auch Perl. Schau dir an was andere Anwendungen (beispielsweise X-Chat) so an Script-Plugins bieten und du kannst dir ein Bild davon machen, was du alles nutzen koenntest

    // ach ja:
    vielleicht ist das so ein Ding wie bei C++ - da sagen auch viele dies Nutzen es sei gut und dabei ists grottenschlecht - nur würden sie sich schämen zuzugeben dass sie was grottenschlechtes benutzen
    full ack

  6. #6
    Registrierter Benutzer
    Registriert seit
    25.10.2004
    Beiträge
    819
    Zitat Zitat von Pingu
    Hey, das mit dem Python sieht ja ziemlich gut aus. Es scheint nach der Doku relativ bis sehr einfach integrieren und auch erweitern auf Basis von ANSI-C.

    Danke. Aber ich bin auch immer noch offen für andere Vorschläge. Wobei Python langsam mein Interesse geweckt hat (bisher habe ich es immer verdrängt).
    Nutz dann am besten SWIG, das erstellt dir die Wrapperdateien zur Pythonintegration fast automatisch.

    Ansonsten gibt es noch Lua, eine Sprache, die extra als Skriptsprache (im Sinne von Makrosprache) entwickelt wurde.

    http://www.swig.org
    http://www.lua.org
    Geändert von Joghurt (29-09-2005 um 13:35 Uhr)

  7. #7
    Registrierter Benutzer
    Registriert seit
    05.09.2002
    Ort
    Neuhausen
    Beiträge
    320
    Ich habe erst kürzlich Python eine Applikation integriert, das ging super leicht, auch ohne Swig.

    Gruss, Andy

  8. #8
    Registrierter Benutzer
    Registriert seit
    22.08.2002
    Ort
    Nürnberg
    Beiträge
    638
    Danke für eure Hilfe.
    SWIG scheint eher die andere Richtung zu sein, als die ich benötige. Allerdings scheint sich SWIG auch gut für Unit Tests zu eignen.

    Ich habe nach Rücksprache mit anderen Firmen aus meinem Bereich festgestellt, daß es besser ist in Richtung TCL zu gehen. Denn es gibt bereits andere Firmen, die TCL/TK anbieten. Weshalb wohl teilweise schon TCL-Scripts existieren, die hier wieder verwendet werden könnten. Daher werde ich wohl eher Richtung TCL gehen.

    Ich persönlich hatte mich bisher mit TCL nicht auseinander gesetzt. Nachdem was ich bisher gesehen habe, scheint Python (für mich) einfacher zu sein als TCL. Aber es kann halt nicht immer nach den persönlichen Vorlieben gehen.

    Also vielen Dank nocheinmal für eure Vorschläge.

    Pingu
    Homepage: www.pingu.info

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •