Comment voulez-vous créer un parsingur d’expression en c #?

Je suis juste curieux. Comme dans les langages interprétés ou même les calculasortingces d’instructions, comment les gens convertissent-ils les chaînes données par les entrées ou les fichiers en expressions réelles? Par exemple, “Enter Calculation:” et vous écrivez “2 * 7/4” qui est une chaîne. Comment le programme convertit-il la chaîne en une expression réelle? Il est facile de convertir une chaîne en un entier, mais comment convertir des opérateurs tels que + , , / , etc.? Je comprends que ce genre de choses est généralement implémenté en C / C ++, mais est-il possible de faire une telle chose dans un langage de haut niveau comme C # ? Et si oui alors comment?

Voici un article que vous pourriez consulter. Il existe également des outils comme Flee . Ou encore une autre technique qui vous permet d’évaluer les expressions C # à l’aide d’un fournisseur CodeDom.

Je pense que cela peut être réalisé en utilisant des arbres d’expression, ce qui explique comment LINQ est implémenté.

http://msdn.microsoft.com/en-us/library/bb397951.aspx

Google “arbre d’parsing”. On peut être écrit dans n’importe quelle langue complète de Turing.