10 Stimmen

Einbettung einer Programmiersprache in ein Programm

Ich würde gerne ein gewisses Maß an "Skriptfähigkeit" zu einer Anwendung hinzufügen, die ich schreibe. Grob gesagt, möchte ich eine Möglichkeit, eine Programmiersprache API in mein Programm einbetten. Ich habe mir TinyPy angeschaut, aber ich befürchte, dass es - angesichts seiner geringen Größe - trügerisch einschränkend sein könnte (d.h. es sieht aus wie Python und fühlt sich auch so an, aber es fehlen viele der Funktionen von vollwertigem Python).

Ich möchte nicht meine eigene Programmiersprache schreiben, sondern einfach eine relativ bekannte Sprache nehmen, in der Benutzer Funktionen schreiben können, und dann in der Lage sein, diese Funktionen aufzurufen bzw. die Parameter dieser Funktionen von meiner Anwendung aus zu übergeben, die in C geschrieben sein wird.

Ich möchte auch auf alle Datentypen zugreifen können, die diese Funktionen an mich zurückgeben, auch von C aus.

Hat jemand irgendwelche Vorschläge für eine API/Bibliothek zu verwenden, die sowohl leichtgewichtig, relativ voll funktionsfähig, und mit einer relativ einfach zu verwenden oder leicht zu verstehen C-Bibliothek wäre?

Gracias.

2voto

John R. Strohm Punkte 7404

GUILE ist die allgegenwärtige intelligente Sprache von GNU für Erweiterungen. Sie ist ein Scheme-Dialekt (LISP-Dialekt). Bevor Sie über LISP schreien, bedenken Sie, daß AutoCAD LISP als Erweiterungssprache verwendet hat, und daß mindestens ein großes Textverarbeitungssystem für Sekretärinnen es verwendet hat, und daß die Sekretärinnen keinerlei Probleme hatten, Erweiterungen für ihre speziellen Aufgaben zu schreiben. (Es scheint, dass die Leute nicht erkennen, dass Programmieren schwierig sein soll, wenn man ihnen nicht sagt, dass sie programmieren).

1voto

Lothar Punkte 11643

Die gebräuchlichste und bekannteste Sprache ist javascript. Es gibt ein paar gute und einfache (naja, nicht wirklich so einfach wie möglich, wenn man es z.B. mit Lua vergleicht) Javascript-Interpreter zum Einbinden da draußen.

Sie haben nichts über externe Bibliotheken gesagt. Wie Lua sind diese Javascript-Systeme nackt. Es ist nicht viel für die Kommunikation mit der Außenwelt vorgesehen. Das steht im Gegensatz zu Ruby und Python, wo man ein mit Batterien ausgestattetes System mit Zillionen von Funktionen aus der Laufzeitbibliothek erhält.

Beginnen Sie mit dieser Lektüre:

Warum JavaScript einbetten?

Wie wird die JavaScript-Engine eingebunden?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X