Ast.py

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Amaury Forgeot d'Arc
Le #615856
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

Publicité
Poster une réponse
Anonyme