Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Ast.py

1 réponse
Avatar
Méta-MCI
Bonjour !

J'ai lu que certains déclarent utiliser le module "ast.py", pour analyser
les dépendances inter-modules.

Mais, bien que ce module soit intégré à Python, en standard, je n'ai rien
trouvé sur la façon de l'utiliser. Ni doc, ni commentaires, ni exemples.

Si quelqu'un a des infos...

@+

Michel Claveau

1 réponse

Avatar
Amaury Forgeot d'Arc
Bonjour,

Bonjour !

J'ai lu que certains déclarent utiliser le module "ast.py", pour
analyser les dépendances inter-modules.

Mais, bien que ce module soit intégré à Python, en standard, je n'ai
rien trouvé sur la façon de l'utiliser. Ni doc, ni commentaires, ni
exemples.

Si quelqu'un a des infos...


Je pense qu'il s'agit du module compiler.ast :
http://docs.python.org/lib/node885.html
Il y a même quelques exemples.

C'est un moyen d'avoir une représentation pratique du code python.
Pratique, et exploitable: c'est assez facile d'explorer tous les recoins
du code pour détecter certains schémas, et en faire une analyse fine sur
tel ou tel aspect précis.
"ast" = arbre syntaxique abstrait, chaque élément du code est un noeud
dans un arbre. Par exemple, un noeud "While" a un attribut nommé 'test'
(l'expression du while), un attribut nommé 'body' (le corps de la
boucle), et un autre nommé 'else_' (et qui vaut souvent None)

<publicité remarque="les tags XML peuvent contenir des accents">

Un bel exemple d'utilisation des ast: pylint, par logilab (c'est un
outil français !) qui détecte les erreurs les plus courantes dans le
code, par une analyse purement statique des modules.
Il utilise un ast "amélioré" (astng), et c'est impressionnant.

</publicité>

--
Amaury Forgeot d'Arc