|
Sepi, moteur de script orienté objetDate de publication : 05/12/2004 , Date de mise à jour : 08/09/2010
Par
Sébastien Doeraene (sjrd.developpez.com)
Moteur de script orienté objet développé pour Delphi
Présentation Gestionnaire du projet Le forum Licence Informations techniques Versions de Delphi supportées Dépendances Modules SourceForge.net Sources de Sepi Documentation Présentation
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.
Gestionnaire du projet
Le projet est géré au travers de
la plateforme projets de Developpez.com. Vous y
trouverez les bug trackings, annonces, etc.
Le forum
Si vous avez la moindre question sur Sepi, son but, son utilisation ou son fonctionnement interne, n'hésitez pas consulter le
forum de Sepi, sur Developpez.com.
Vos contributions quant aux idées, développement ou quoi que ce soit d'autre sont les bienvenues sur ce forum.
Licence
Sepi est distribué sous licence
GNU
General Public License (GPL) version 3. Vous pouvez trouver le texte complet de cette licence à l'adresse
http://www.gnu.org/licenses/gpl.html.
L'exception Classpath à la GPL, telle que rappelée ci-dessous, s'applique à tous les fichiers de Sepi.
Linking this library statically or dynamically with other modules is
making a combined work based on this library. Thus, the terms and conditions
of the GNU General Public License cover the whole combination.
As a special exception, the copyright holders of this library give you
permission to link this library with independent modules to produce an
executable, regardless of the license terms of these independent modules, and
to copy and distribute the resulting executable under terms of your choice,
provided that you also meet, for each linked independent module, the terms and
conditions of the license of that module. An independent module is a module
which is not derived from or based on this library. If you modify this
library, you may extend this exception to your version of the library, but you
are not obligated to do so. If you do not wish to do so, delete this exception
statement from your version.
Concrètement, cela signifie qu'il est possible d'utiliser Sepi dans un projet non open source, voire commercial.
Finalement, les programmes d'exemple (SepiDelphiCompiler, SepiRun et SepiExplorer) sont dans le domaine public. Vous
pouvez donc en faire tout ce que vous voulez.
Informations techniquesVersions de Delphi supportées
Le projet Sepi est développé en parallèle avec Delphi 2007 et Delphi 2009. Toutes les éditions, y compris l'édition
personnelle, doivent être en mesure de compiler et d'utiliser Sepi. Les versions 2005, 2006 et 2010 ne poseront pas de
problème, a priori, et sont testées de temps en temps.
Pour ce qui est des versions 4 à 7 et antérieures, des modifications concernant les .bdsproj etc. seront peut-être à prévoir, mais
le projet devrait être utilisable.
En revanche, il n'y a aucun espoir pour les versions 3 et antérieures, car celles-ci ne proposent pas de RTTI suffisamment
avancées, or Sepi repose sur les RTTI.
Dépendances
Sepi en lui-même ne dépend d'aucune autre bibliothèque tierce. En revanche, le programme d'exemple SepiExlorer
utilise le composant
TVirtualTreeview.
Modules
Sepi est décomposé en un certain nombre de modules, sous forme de packages Delphi. Chaque module est susceptible d'être
dépendant des précédents, mais pas des suivants :
SourceForge.net
Vous pouvez retrouver Sepi sur SourceForge.net à l'adresse
https://www.sourceforge.net/projects/sepi/.
C'est SourceForge qui héberge actuellement le repository Subversion de Sepi. Merci à eux.
Sources de Sepi
Pour obtenir les sources de Sepi dans une version (presque) stable, téléchargez
Sepi.zip.
Si vous voulez récupérer les sources de développement de Sepi, vous devez installer un client Subversion - comme
TortoiseSVN - puis extraire une copie locale du tronc commun.
Le repository se situe à l'adresse suivante. Son accès est en lecture seule pour les authentifications anonymes. https://sepi.svn.sourceforge.net/svnroot/sepi/trunk
Ensuite, il ne vous restera plus qu'à mettre à jour votre copie de travail lorsque cela sera nécessaire.
Dans ces sources, les conventions de nommage des paquets sont celles d'Indy, à savoir que la version du compilateur est
ajoutée à la fin du nom du paquet, et que les paquets de design commencent par le préfixe "Dcl".
Le groupe de projet contient les projets suivants :
Documentation
Le projet Sepi est documenté au moyen du logiciel
DelphiCodeToDoc, une adaptation pour
Delphi de JavaDoc.
Une fois que vous avez téléchargé les sources et installé DelphiCodeToDoc, il vous suffit d'ouvrir le fichier
doc\Sepi.xml avec ce logiciel, puis de construire la documentation. Vous trouverez alors un fichier
Sepi.chm dans ce même répertoire doc.
Vous pouvez aussi télécharger le fichier
Sepi.chm
(miroir HTTP), qui est actuellement à jour
avec la révision 511 du repository SVN (5 septembre 2010).
Vous pourrez aussi trouver la documentation complète de Sepi sur ce site.
Mais sachez que cette documentation n'est pas très régulièrement mise à jour, en raison du temps cela prend. Merci de
votre compréhension. Elle est actuellement à jour avec la révision 511 du repository SVN (5 septembre 2010).
Warning: include(): http:// wrapper is disabled in the server configuration by allow_url_include=0 in /home/developpez/www/developpez-com/upload/sjrd/sepi/index.php on line 336 Warning: include(http://sjrd.developpez.com/references.inc): failed to open stream: no suitable wrapper could be found in /home/developpez/www/developpez-com/upload/sjrd/sepi/index.php on line 336 Warning: include(): Failed opening 'http://sjrd.developpez.com/references.inc' for inclusion (include_path='.:/opt/php56/lib/php') in /home/developpez/www/developpez-com/upload/sjrd/sepi/index.php on line 336 |
Copyright © 2005-2010 Sébastien Doeraene. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.