Informations sur l’arborescence de syntaxe abstraite
L’arborescence de syntaxe abstraite (AST) d’un programme représente la structure syntaxique du programme. Les nœuds sur l’AST représentent des éléments tels que des instructions et des expressions. Une base de données CodeQL encode ces éléments de programme et les relations entre eux via un schéma de base de données. Pour plus d’informations sur les schémas de la base de données, consultez le glossaire CodeQL dans la documentation CodeQL.
CodeQL pour Visual Studio Code contient une visionneuse AST. La visionneuse se compose d’une vue de visualisation de graphique qui vous permet d’explorer l’AST d’un fichier dans une base de données CodeQL. Cela vous permet de voir quelles classes CodeQL correspondent aux parties de vos fichiers sources.
Affichage de l’arborescence de syntaxe abstraite d’un fichier source
Remarque : Si vous ne disposez pas d’une requête appropriée (généralement printAST.ql
) dans votre espace de travail, la commande CodeQL : afficher l’AST dans les étapes suivantes ne fonctionneront pas. Pour résoudre ce problème, vous pouvez mettre à jour votre copie du github/codeql
référentiel à partir de la main
branche. Si vous effectuez cette opération, les caches de requêtes peuvent être ignorés, de telle sorte que vos prochaines exécutions de requête peuvent être plus lentes.
-
Ouvrez la vue « Bases de données » dans l’extension, puis cliquez avec le bouton droit sur la base de données que vous souhaitez explorer. Cliquez sur Ajouter une source de base de données à l’espace de travail.
-
Naviguez vers le fichier source de la base de données CodeQL dans l’explorateur de fichiers.
-
Exécutez CodeQL : afficher AST à partir de VS Code Command Palette. Cette opération exécute une requête CodeQL (généralement appelée
printAST.ql
) sur le fichier actif, ce qui peut prendre quelques secondes. Une fois la requête terminée, la visionneuse AST affiche la structure du fichier source. -
Pour afficher la structure imbriquée du fichier source, cliquez sur les flèches et développez les nœuds.
Vous pouvez cliquer sur un nœud dans la visionneuse AST pour y accéder dans le code source. À l’inverse, si vous cliquez sur une section du code source, la visionneuse AST affiche le nœud correspondant.