17
Haciendo código que analiza Haciendo código que analiza código con AST código con AST Diego Sarmentero @diegosarmentero http://diegosarmentero.org

Haciendo código que analiza código ... - PyCon España 20132013.es.pycon.org/media/haciendo_codigo_ast.pdf · import. ast def function x, y return. x. + Y 5 result = function 4,

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Haciendo código que analiza código ... - PyCon España 20132013.es.pycon.org/media/haciendo_codigo_ast.pdf · import. ast def function x, y return. x. + Y 5 result = function 4,

Haciendo código que analiza Haciendo código que analiza código con ASTcódigo con AST

Diego Sarmentero@diegosarmentero

http://diegosarmentero.org

Page 2: Haciendo código que analiza código ... - PyCon España 20132013.es.pycon.org/media/haciendo_codigo_ast.pdf · import. ast def function x, y return. x. + Y 5 result = function 4,

¿Qué es AST?¿Qué es AST?

Page 3: Haciendo código que analiza código ... - PyCon España 20132013.es.pycon.org/media/haciendo_codigo_ast.pdf · import. ast def function x, y return. x. + Y 5 result = function 4,

Explorando el árbolExplorando el árbol

Page 4: Haciendo código que analiza código ... - PyCon España 20132013.es.pycon.org/media/haciendo_codigo_ast.pdf · import. ast def function x, y return. x. + Y 5 result = function 4,

Nodos de ASTNodos de AST

while b != 0: if a > b: a = a − b else: b = b − a return a

Page 5: Haciendo código que analiza código ... - PyCon España 20132013.es.pycon.org/media/haciendo_codigo_ast.pdf · import. ast def function x, y return. x. + Y 5 result = function 4,

Usando AST para leer códigoUsando AST para leer código

Page 6: Haciendo código que analiza código ... - PyCon España 20132013.es.pycon.org/media/haciendo_codigo_ast.pdf · import. ast def function x, y return. x. + Y 5 result = function 4,

Usando AST para escribir códigoUsando AST para escribir código

Page 7: Haciendo código que analiza código ... - PyCon España 20132013.es.pycon.org/media/haciendo_codigo_ast.pdf · import. ast def function x, y return. x. + Y 5 result = function 4,

Y qué podemos hacer con esto?Y qué podemos hacer con esto?

Page 8: Haciendo código que analiza código ... - PyCon España 20132013.es.pycon.org/media/haciendo_codigo_ast.pdf · import. ast def function x, y return. x. + Y 5 result = function 4,

Representación visual del CódigoRepresentación visual del Código

Page 9: Haciendo código que analiza código ... - PyCon España 20132013.es.pycon.org/media/haciendo_codigo_ast.pdf · import. ast def function x, y return. x. + Y 5 result = function 4,

Chequeadores de CódigoChequeadores de Código

Page 10: Haciendo código que analiza código ... - PyCon España 20132013.es.pycon.org/media/haciendo_codigo_ast.pdf · import. ast def function x, y return. x. + Y 5 result = function 4,

Generación automatica de TestsGeneración automatica de Tests

Page 11: Haciendo código que analiza código ... - PyCon España 20132013.es.pycon.org/media/haciendo_codigo_ast.pdf · import. ast def function x, y return. x. + Y 5 result = function 4,

Conversión de CódigoConversión de Código

Page 12: Haciendo código que analiza código ... - PyCon España 20132013.es.pycon.org/media/haciendo_codigo_ast.pdf · import. ast def function x, y return. x. + Y 5 result = function 4,

Herramientas de IntellisenseHerramientas de Intellisense

Page 13: Haciendo código que analiza código ... - PyCon España 20132013.es.pycon.org/media/haciendo_codigo_ast.pdf · import. ast def function x, y return. x. + Y 5 result = function 4,

Viendo Nodos de AST y sus Viendo Nodos de AST y sus PropiedadesPropiedades

Page 14: Haciendo código que analiza código ... - PyCon España 20132013.es.pycon.org/media/haciendo_codigo_ast.pdf · import. ast def function x, y return. x. + Y 5 result = function 4,

Las ventajas de analizar el código Las ventajas de analizar el código en tiempo de escrituraen tiempo de escritura

Page 15: Haciendo código que analiza código ... - PyCon España 20132013.es.pycon.org/media/haciendo_codigo_ast.pdf · import. ast def function x, y return. x. + Y 5 result = function 4,

AST: Hace esto por miAST: Hace esto por mi

Page 16: Haciendo código que analiza código ... - PyCon España 20132013.es.pycon.org/media/haciendo_codigo_ast.pdf · import. ast def function x, y return. x. + Y 5 result = function 4,

PREGUNTAS??PREGUNTAS??

Page 17: Haciendo código que analiza código ... - PyCon España 20132013.es.pycon.org/media/haciendo_codigo_ast.pdf · import. ast def function x, y return. x. + Y 5 result = function 4,

GRACIAS!!GRACIAS!!

Diego Sarmentero@diegosarmentero

http://diegosarmentero.org