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é.
Google “arbre d’parsing”. On peut être écrit dans n’importe quelle langue complète de Turing.