Addyscript: un moteur de script pour .net

Description

Des fois, on aimerait donner à l'utilisateur final la possibilité de saisir des formules ou des macros dont l'application tiendrait compte pour la suite de son exécution. Beaucoup de progiciels utilisent d'ailleurs cette approche (Office, Crystal Reports, sans parler des navigateurs web). Plusieurs solutions ont déjà été imaginées pour apporter cette fonctionnalité aux applis .Net; la plus couramment utilisée étant l'API CodeDom. AddyScript est ma solution personnelle. Il s'agit d'un petit moteur de script qui reconnait et interprète un langage proche du Javascript. On peut aussi s'en servir comme outil didactique pour les tous petits (à la SmallBasic).
Avant toute chose, j'ai voulu qu'AddyScript soit facile à utiliser et à maintenir. Je n'ai pour ainsi dire utilisé aucun générateur de compilateur. Le lexer et le parser sont entièrement écrits à la main. Ce qui permet à quiconque connaissant le C# et ayant quelques rudiments de compilation (comme moi-même d'ailleurs) d'éditer la source et d'y apporter les améliorations qui lui viendraient à l'esprit.
La source a été écrite sous VS 2010 Beta1 mais elle cible le Framework .Net 2.0. Vous en saurez plus sur la syntaxe du langage en consultant les exemples fournis.

Conclusion :


J'ai également publié cette source sur CodePlex. Le mieux aurait peut-être été de créer uniquement un lien sur Codes-Sources, mais ce serait contraire à la charte de Codes-Sources. Donc vous aurez la source en double. Vous pouvez aussi consulter la page du projet à l'adresse http://addyscript.codeplex.com. D'ailleurs, vous êtes vivement invités à participer au projet. Allez, j'espère que cette source vous aidera.

Codes Sources

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.