Maison > Article > développement back-end > Comment reconvertir Go AST en code source ?
Cette question aborde le défi de la conversion des fichiers source Go en une représentation d'arborescence syntaxique appropriée à l'aide du package go/parser. Cependant, la génération du code source Go à partir de l'arbre syntaxique restait un problème non résolu.
Le package go/printer offre une solution à ce problème. Il permet la reconversion des arbres de syntaxe abstraite (AST) en code source.
Considérez l'exemple de code suivant :
<code class="go">package main import ( "go/parser" "go/printer" "go/token" "os" ) func main() { // Input source code src := ` package main func main() { println("Hello, World!") } ` // Parse the source code into an AST fset := token.NewFileSet() f, err := parser.ParseFile(fset, "", src, 0) if err != nil { panic(err) } // Print the AST as source code printer.Fprint(os.Stdout, fset, f) }</code>
Une fois exécuté, cet extrait de code lit une chaîne source, l'analyse dans un AST, puis imprime l'AST en tant que code source Go. Le résultat est le code source d'entrée d'origine.
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!