scriptparsing
-
Hallo
ich möchte ein programm durch ein script steuerbar machen, speziell ein objekt,
damit ich z.b. sowas machen kannSCRIPTCODE!
object obj = getobjekt(); var v = obj->machwas(10,"test");ich suche eine bibliothek, ein tutorial, ein programm etc. was den code nicht
nur auf gramatikalische richtigkeit überprüft, sondern auch dabei hilft, das
script auszuführen. also parsing von funktionen und ausdrücken.wäre es möglich LUA so anzupassen, das die syntax C befehle unterstützt?
-
Schon AngelScript angeschaut?
-
-
Ich bin ja Fan von Lua, auch in Kombination mit Objekten in C++. In einem Game Programming Gems Buch gibt es einige nette Grundlagen. Baut man diese weiter aus, so sind C++-Objekte kein Problem mehr.
wäre es möglich LUA so anzupassen, das die syntax C befehle unterstützt?
Warum sollte das noetig sein? Warum willst du in Lua wie in C schreiben? Schreib dein Script einfach in Lua und programmiere die entsprechenden Bindings. Habe zwar Luabind ausprobiert, es konnte mich aber nicht ueberzeugen, so dass ich die Objektbindings lieber selbst geschrieben haben.
-
knivil schrieb:
Ich bin ja Fan von Lua, auch in Kombination mit Objekten in C++. In einem Game Programming Gems Buch gibt es einige nette Grundlagen. Baut man diese weiter aus, so sind C++-Objekte kein Problem mehr.
wäre es möglich LUA so anzupassen, das die syntax C befehle unterstützt?
Warum sollte das noetig sein? Warum willst du in Lua wie in C schreiben? Schreib dein Script einfach in Lua und programmiere die entsprechenden Bindings. Habe zwar Luabind ausprobiert, es konnte mich aber nicht ueberzeugen, so dass ich die Objektbindings lieber selbst geschrieben haben.
Beim selbst schreiben lohnt es sich einen Blick auf diese Tipps zu werfen: http://lua-users.org/wiki/DoItYourselfCppBinding
Das macht die ganze Geschichte wirklich schön und einfach.
-
DerKuchen schrieb:
Beim selbst schreiben lohnt es sich einen Blick auf diese Tipps zu werfen: http://lua-users.org/wiki/DoItYourselfCppBinding
Das macht die ganze Geschichte wirklich schön und einfach.Naja ... Auch ist es manchmal nicht erwuenschenswert seine Objekte vom garbage collector in Lua verwalten lassen zu wollen. Da muss man dann schon mehr Aufwand betreiben.
-
Wenn Lua nicht mit C-Syntax dienen kann, muß man sich bei der Konkurrenz umschauen. Und dann stößt man auf AngelScript, es macht das, was der Fragesteller will!

-
Wenn man den Syntax mag: Python auch. Und da gibt es schon einige Bindings für cpp, siehe boost-python.
Gruß Kimmi
-
es muss keine komplette C syntax sein, nur so kleine sachen wie eine art objekt-
zeiger (durch das C++ objekt nur verwaltet) und die möglichkeit darüber eine
funktion aufrufen zu können. funktionen sollten aber genau wie in C arbeitenich werde mir das mal angucken. besonders angelscript sieht sehr gut aus

-
eine frage zu angelscript (ich finde das forum nicht)
class obj { public: void func(); }; obj *CreateClass();void main() // ES HEIßT HALT VOID IM SCRIPT... { obj *o = CreateClass(); o->func(); }wie muss ich die funktion und das objekt registieren, damit das funktioniert?
-
kimmi schrieb:
Wenn man den Syntax mag
Nein, sicher nicht.
Die Syntax http://de.wikipedia.org/wiki/Syntax