Sepi est un moteur de script orienté objet pour applications Delphi.
La principale différence d'avec les autres moteurs de script existant, tels que Pascal Script de RemObjects Software ou Scripter Studio de TMS Software, est que Sepi permet non seulement aux scripts d'instancier et de manipuler des objets de classes Delphi natives, mais aussi et surtout de créer leurs propres classes.
Les classes ainsi créées par Sepi sont des classes Delphi natives, mais créées à l'exécution. Elles sont tellement natives que les appels de méthodes virtuelles, dynamiques, de messages ou l'utilisation d'opérateurs comme is fonctionnent de manière complètement transparente.
Pour réaliser cela, le module principal de Sepi est un module de réflexion. Donc un module qui permet d'obtenir des informations détaillées sur les types et classes pendant l'exécution du programme. Mais qui permet aussi - et c'est unique dans le monde des langages compilés ! - de créer des types et des classes entièrement compatibles avec les classes natives pendant l'exécution.
Les scripts sont compilés en un pseudo-code intermédiaire avant d'être exécutés. Ce pseudo-code est unique pour Sepi, mais les scripts peuvent être écrits en divers langages. Il suffit de développer un compilateur pour chaque langage de script, Sepi proposant de grandes facilités pour la construction de compilateurs pour son pseudo-code. Par exemple, la partie spécifique au langage Delphi ne fait actuellement que 2000 lignes - rien en comparaison de tout ce qui est offert par Sepi et partagé entre tous les compilateurs.
Il est ainsi possible aux applications de proposer du scripting personnalisé pour leurs besoins, afin de permettre à leurs utilisateurs finaux de les personnaliser. C'est là le but essentiel de Sepi.
Le projet est sur le point d'être terminé pour sa première version. Il est d'ailleurs tout à fait utilisable. Il faut juste encore le stabiliser un peu.
Partager