Maison >développement back-end >Golang >Le compilateur Go 1 utilise-t-il les packages « go/ast », « go/token » et « go/parser » ?
L'introduction récente de la commande go dans Go1 a éveillé la curiosité concernant sa fonctionnalité sous-jacente. Plus précisément, la présence de packages tels que go/ast, go/token et go/parser a soulevé des questions sur leur rôle au sein du nouveau compilateur.
Contrairement aux attentes, le compilateur Go1 reste majoritairement écrit en C. Son lexer réside dans src/cmd/gc/lex.c, tandis que sa grammaire Bison est défini dans src/cmd/gc/go.y. Par conséquent, les packages mentionnés ci-dessus ne sont pas utilisés dans le processus de compilation proprement dit.
Au lieu de cela, les packages go/ remplissent un objectif essentiel dans une multitude d'outils au sein du Allez l'écosystème. Ces outils incluent godoc pour la génération de documentation, gofmt pour le formatage du code et diverses sous-commandes de l'outil go.
Malgré cette implémentation actuelle, la perspective d'un compilateur Go écrit en Golang reste une possibilité intrigante. Cependant, des progrès substantiels doivent encore être réalisés dans cette direction.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!