Eigene ScriptEngine?

RalleYTN

Bekanntes Mitglied
Hey Loits!
Ich wollte nur mal fragen ob jemand ein paar Links zu Tutorials hat, wo beschrieben wird, wie man seine eigene javax.script.ScriptEngine schreiben kann. Ich suche jetzt schon seit einiger Zeit, bekomme aber nur Tutorials, wie man bereits vorhandene ScriptEngines nutzt.
 
Willst du den Kompletten Javascript Parser+Interpreter schreiben oder willst du nur einen bestehenden an das ScriptEngine Interface anpassen?
 
Willst du den Kompletten Javascript Parser+Interpreter schreiben oder willst du nur einen bestehenden an das ScriptEngine Interface anpassen?
Leider wird auf der gesamten Seite nicht ein einziges Mal JSR-223 erwähnt.
Ich möchte nämlich dass das ganze über die ScriptEngineManager und ScriptEngine Klassen funktioniert, die bereits im javax.script Package liegen.
 
Weil ich gerne volle Kontrolle darüber haben möchte, was meine Endnutzer dürfen und was nicht
Geht auch mit bestehenden ScriptEngines^^

Weil ich ein nettes kleines Konzept für eine eigene Sprache habe und einfach so aus Interresse heraus. 🙂
Nur so vorweg, eine eigene (Script)Sprache entwickeln ist nicht unbedingt das einfachste Thema. Vor einiger Zeit gab es dazu auch schon einen Beitrag dazu, allerdings bezog der sich darauf eine eigene Sprache zu Java Bytecode zu kompilieren, was natürlich noch aufwändiger ist als "nur" ne Scriptsprache.

Ansonsten aus Interesse heraus kann man natürlich gerne alles machen^^
 
Eigentlich ist es auch ziemlich selbsterklärend. Du musst die Interfaces ScriptEngine und ScriptEngineFactory implementieren. Die ScriptEngineFactory muss dann mittels service provider mechanism registriert werden.
Für die Engine kannst du dabei auf die AbstractScriptEngine aufbauen. Für alle weiteren benötigten Implementierungen wie Bindings oder ScriptContext existieren Default Implementierungen wie SimpleBindings bzw. SimpleScriptContext
 
Eigentlich ist es auch ziemlich selbsterklärend. Du musst die Interfaces ScriptEngine und ScriptEngineFactory implementieren. Die ScriptEngineFactory muss dann mittels service provider mechanism registriert werden.
Für die Engine kannst du dabei auf die AbstractScriptEngine aufbauen. Für alle weiteren benötigten Implementierungen wie Bindings oder ScriptContext existieren Default Implementierungen wie SimpleBindings bzw. SimpleScriptContext
klingt interresant. haste du quellen die ich nachlesen kann? 🙂
 
Geht auch mit bestehenden ScriptEngines^^


Nur so vorweg, eine eigene (Script)Sprache entwickeln ist nicht unbedingt das einfachste Thema. Vor einiger Zeit gab es dazu auch schon einen Beitrag dazu, allerdings bezog der sich darauf eine eigene Sprache zu Java Bytecode zu kompilieren, was natürlich noch aufwändiger ist als "nur" ne Scriptsprache.

Ansonsten aus Interesse heraus kann man natürlich gerne alles machen^^
das sprachkonzept ist schon fertig. wird ne nette kleine funktionale sprache mit gerade mal den nötigsten sprachelementen.
 
Die JSR-223 ist ja nur als einheitliche Schnittstelle für alle Scriptsprachen, die man in der JVM verwenden kann, gedacht. Schreib doch deinen Interpreter und dann binde es via ScriptEngine, etc. an.
 
Das ist auch nur die absolute Grundvoraussetzung. Den Interpreter zu schreiben ist nochmal was ganz anderes... habe mich daran auch ein paar mal versucht
Bloß ein bisschen Stringverarbeitung mithilfe von Stacks. ist nicht so schwer.

Die JSR-223 ist ja nur als einheitliche Schnittstelle für alle Scriptsprachen, die man in der JVM verwenden kann, gedacht. Schreib doch deinen Interpreter und dann binde es via ScriptEngine, etc. an.
Genau das hatte ich eigentlich vor. Ich möchte halt nur, dass es JSR-223 Konform ist.

Steht doch alles im Javadoc...
Konnte ich nichts zu finden. :/
 

Zurück
Oben