2010-08-11 16 views
1

Désolé, si le titre du sujet ne traduit pas le problème. Dans le cadre d'un projet, nous voulons exposer un langage expressif à l'utilisateur, principalement pour définir des expressions simples, mais peut-être la possibilité d'écrire des procédures ainsi que les calculs complexes qu'ils pourraient vouloir faire avec les données. Naturellement, le choix naturel serait d'exposer un langage entier comme Python (peut-être avec des fonctions spécifiques au projet pour faciliter la programmation par l'utilisateur) et d'invoquer ensuite un interpréteur Python à partir du code de l'application. C'est bien ..Intégrer un interpréteur de langage mais une résolution de variable de hook/contrôle?

Cependant, l'exigence est que dans ce langage, toute résolution variable (par exemple $ data etc) doit être faite par notre code, car il doit être récupéré spécifiquement à partir de diverses sources. Bien sûr, une fois que les données sont récupérées, la langue incorporée (disons Python) a la propriété complète de la modifier de quelque façon que ce soit. Alors, quel pourrait être le moyen le plus élégant de le faire? Incorporer une langue mais la capacité à accrocher la résolution variable. Nous pourrions écrire un pré-processeur qui vérifie les variables et les remplace par les données brutes, puis les donne à l'interpréteur de langage incorporé. Mais, nous préférerions avoir un mécanisme à crochet pour que nous soyons appelés à la résolution d'une variable ...

Espérons que le Q est clair et merci d'avance.

Répondre

2
+0

+1, léger, facile à mettre en œuvre et facile à déployer selon vos objectifs. –