Delphi-PRAXiS
Seite 1 von 11  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   RUTIS Engine (Scripting) [WinCE spinnt] (https://www.delphipraxis.net/135613-rutis-engine-scripting-%5Bwince-spinnt%5D.html)

olee 14. Jun 2009 20:02


RUTIS Engine (Scripting) [WinCE spinnt]
 
DIES IST DIE ALTE VERSION VON RUTIS
Die neue Version gibts hier: RUTIS v2
----------------------------------------------

Hi,
Hier möchte ich euch eines meiner größten Projekte vorstellen.

RUTIS

Die "RunTime Script Engine" (RUTIS Engine) dient dazu, Scripte zur Laufzeit zu compilieren und auszuführen, um z.B. Die Funktionen von Programmen zu verändern, ohne diese neu zu compilieren.
Durch eine sehr hohe Geschwindigkeit lassen sich sogar ganze Programme allein mit einem solchen Script erstellen.
Die RUTIS Engine kann mehrere Compiler unterstützen wobei der Standardcompiler mit einem Delphi/Pascal Syntax arbeitet.

- - - HINWEIS: INFOS ETWAS VERALTET - WERDEN BEI GELEGENHEIT KORRIGIERT - - -
RUTIS bietet eine große Funktionsvielfalt:
  • Globale sowie lokale Variablen
  • Verschachtelbare Funktionen und Methoden, die auch rekursive Algorithmen lösen können.
  • Beliebige Deklaration von Records
  • Unterstützung von Pointern und Arrays
  • Einfache Verknüpfung von Hostprogramm und Script mittels speziellen, beliebig erstellbaren Verbindungsfunktionen.
  • NEU: Methode-Variablen (bisher jedoch nur parameterlose Prozeduren)
  • NEU: Formular Interface, wodurch sich ganze Anwendungen mit GUI erstellen lassen! :mrgreen:
  • NEU: Aufruf von DLL-Funktionen über die deklaration im Script als 'external' ! (Hier ein DANKE an 'Astat')
  • uvm.
Das sollte vorerst an Informationen reichen.

RUTIS PROJEKTSEITE (Downloads, Infos usw.)
SVN-Portal: http://www.xp-dev.com/sc/77518


INFO : RUTIS unterliegt einer Creative Commons BY-NC-SA (DE) Lizenz
INFO 2: Die nachfolgenden Links könnten des öfteren nicht funktionieren, da sie nach jedem neuen Upload ungültig werden. Auf der Projektseite dagegen sollten
die Downloadlinks immer funktionieren. Ich entschuldige mich hier auch für eine solche Faulheit, die Links nur selten zu aktualisieren ^^
RUTIS Setup 1,04 MB RUTIS (zip) 1,28 MB RUTIS (Source) 2,08 MB


MFG

omata 14. Jun 2009 20:17

Re: RUTIS Engine (Scripting)
 
Es fehlt: File_Manager.pas und myUtils.pas

olee 15. Jun 2009 08:34

Re: RUTIS Engine (Scripting)
 
Liste der Anhänge anzeigen (Anzahl: 3)
Danke für den Hinweis ich habe die Dateien mit angehängt.

ANBEI: RESTLICHE DOWNLOADS, DIE NICHT MEHR IN DEN ERSTEN POST GEPASST HABEN

MFG

EugenB 16. Jun 2009 21:54

Re: RUTIS Engine (Scripting)
 
Was ist an deiner Script-Engine besser als an Sysygy Script Engine oder PascalScript?

Wie ich das bisher sehe sind se alle fast gleich.

Was ich schon lange suche ist eine ScriptEngine die OOP unterstützt und leichtes kommunizieren zwischen Script<>Programm und unter Lazarus läuft ^^, hab schon langsam alle ScriptEngines durch (Python, Lua, PascalScript, Sysygy ScriptEngine) ^^

mschaefer 16. Jun 2009 22:15

Re: RUTIS Engine (Scripting)
 
Muß Sie dass denn sein? Für ein Schulprojekt ist das doch eine Prima Sache? // Grüße / Martin

EugenB 16. Jun 2009 22:18

Re: RUTIS Engine (Scripting)
 
Stimmt auch wieder.

I'm sry.^^

Es ist schon wahnsinnig das das ein Schul-Projekt ist. Kommt mir bekannt vor^^, ich nahm auch immer extreme Projekte an und schaffte diese sogar.

Einerseits Lob an dich.

Anderseits wenn es OOP kann, bin ich begeistert und werde sehr schnell der erste Tester ^-^.

MfG,
Eugen

alzaimar 17. Jun 2009 03:35

Re: RUTIS Engine (Scripting)
 
Versuch mal DWS "Delphi Web Script" (gibts bei Sourceforge)... Geht aber nicht mit Lazarus, dafür OOP und 99.9% kompatibel zu Delphi (ältere Versionen).

Ich muss auch sagen: Eine Leistung, vor der ich den Hut ziehe.

olee 18. Jun 2009 09:09

Re: RUTIS Engine (Scripting)
 
Erstmal Danke für eure Antworten.

Aber @EugenB:
Ich finde das etwas verletzend, in so einer Art darauf hinzuweisen, was denn
jetzt bei meiner Engine besser wär, als bei der eines anderen.
Wenn es so ginge wieso sollte man dann überhaupt noch sowas programmieren...
Ich nehms dir aber nicht übel :wink:

Aber als Antword darauf:
Die Geschwindigkeit!
Ich habe mir mal die Sysygy angekuckt und gesehen, dass die mit Variant arbeitet, was nicht gerade
schnell ist.
Ich habe es zuerst auch der einfachheit wegen mit Variant gemacht, danach aber einen eigenen Datentyp
geschrieben, der wie Variant arbeitet.
Dieser ist aber SEHR viel schneller, da er auf die Aufgaben in der Engine optimiert ist.
Delphi-Quellcode:
  TRutisStackItem = record
    case VTyp : TRutisVarType of
      vArray,
      vPointer : (VPointer : PRutisStackItem);
      vInteger : (VInteger : Integer);
      vSingle  : (VSingle : Single);
      vBoolean : (VBoolean : Boolean);
      vString  : (VString : PAnsiString);
  end;
Die Geschwindigkeit ist dadurch um einiges gestiegen.
Insgesamt ist die Engine stark auf Geschwindigkeit ausgelegt.

Doch am wichtigsten: Die Engine ist NOCH NICHT FERTIG !!

Das habe ich ja schon erwähnt und deswegen ist es nicht verwunderlich, dass es noch kein OOP gibt :wink:

Wer sich mal für die Geschwindigkeit interessiert, kann ja mal das Script "TEST Speed.rutis"
ausführen.
Da ist auch nochmal ein Vergleich von den zwei Typen von Externen Funktionen, die die
Engine unterstützt
(Die Eine macht einen Umweg über Variant, die Andere schreibt direkt auf den Stack)

MFG

EugenB 18. Jun 2009 09:32

Re: RUTIS Engine (Scripting)
 
Hallo olee,

Ich entschuldige mich, das es so verletzend rüber kam. :( Wird nicht mehr vorkommen.^^

Zitat:

Zitat von olee
Aber als Antword darauf:
Die Geschwindigkeit!

Ich werd mir mal die Tests durchgucken, hört sich doch jetzt gut das es sogar Schneller als die Sysygy Engine ist =)


Zitat:

Zitat von olee
Doch am wichtigsten: Die Engine ist NOCH NICHT FERTIG !!

So etwas darf nie fertig werden, wirst du dieses Projekt, auch nach dem die Schulzeit vorbei ist, auch weiter "pflegen" updates posten etc? Denn dann würde es große Konkurrenz zu PascalScript machen :)

Zitat:

Zitat von olee
Das habe ich ja schon erwähnt und deswegen ist es nicht verwunderlich, dass es noch kein OOP gibt :wink:

Ui, also ist OOP geplant? =) :wink:

MfG,
Eugen

EugenB 18. Jun 2009 10:48

Re: RUTIS Engine (Scripting)
 
Ich hab mich etwas mehr mit RUTIS auseinander gesetzt, vorallem mit dem Quellcode.

Nach 300 $IFDEFs konnte ich es auch unter Lazarus Compilieren, musste dabei leider OpenGL aus kommentieren, deswegen gehen auch einige Tests nicht mehr

Aber der Speedtest funktioniert, immerhin^^.

Wie wäre es wenn du für das Projekt, da es ja OpenSource ist, bei code.google.com oder bei xp-dev.com einen kostenlosen svn server dir dort erstellst, dann könnten man leichter die ganzen änderungen zuschicken^^

PS:
Funktioniert dieser FPC Code auch unter Delphi? (hab keins zum Testen):
Delphi-Quellcode:
//Delphi Code
fCode := @ScriptData.Code;

//FPC Code
fCode := @ScriptData^.Code;
Wenn dies auch Funktioniert, dann würde man sich 200 solcher IFDEFs Sparen
Delphi-Quellcode:
fCode := @ScriptData{$IFDEF FPC}^{$ENDIF}.Code;
Es gibt ja auch einen $MODE DELPHI, aber ich habe gelesen das es dann irgendwo zu größeren Problemen führt oder sowas.

PPS:
Bei überfliegen des Codes, kam mir die Frage, könnte man mit dieser ScriptEngine dann wohl auch andere Sprachen nutzen? also zb
Script im C-Style, PHP-Style o.ä?

Ich mein jetzt nicht das es auch andere Scritpsprachen sein sollen (Pascal reicht völlig aus ^^), ich will es nur wissen ob es möglich wäre^^

MfG,
Eugen


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:46 Uhr.
Seite 1 von 11  1 23     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz