2010-10-29 3 views
3

Je dois créer un langage de script très simple, comme une évolution d'un langage macro (où des espaces réservés étaient présents et échangés pour les realdata) qui repose essentiellement sur des instructions qui doivent être exécutées en ordre. Je dois soutenir l'imbrication des déclarations et peut-être éventuellement si les conditions.Création d'un langage de script simple en C#

Je pense que je besoin d'un analyseur pour détecter correctement les déclarations

Par exemple, une déclaration pourrait être:

entrée ("Message" = Presse-papiers #())

Dans ce cas, je aurait besoin d'exécuter l'instruction #Clipboard() d'abord, puis le #Input.

Une suggestion de quelle est l'approche pour cela? Je suppose que je dois construire un arbre et l'exécuter. Merci.

+0

Je suggère de lire http://msdn.microsoft.com/en-us/magazine/cc136756.aspx. – Inisheer

+0

Qui est l'utilisateur final de la macro Langue? – WeNeedAnswers

+0

Qu'en est-il de l'incorporation d'une autre langue dans le C#. Est-ce que l'accent est mis sur le fait de ne permettre à aucune personne avertie de codage d'exécuter des scripts simples ou exécute-t-elle du code à la volée? – WeNeedAnswers

Répondre

2

Voir ma réponse à une question similaire here:

Fondamentalement, vous analysez votre chaîne à l'aide Postfix Notation.

De même, si vous envisagez d'utiliser quelque chose de plus complexe, envisagez de créer un analyseur de descente récursif. Eric White's blog a une grande série d'articles sur le sujet.

Questions connexes