Alteraciones en la función neuromotora / Alterations in neuromotor function
Haciendo código que analiza código ... - PyCon España...
Transcript of Haciendo código que analiza código ... - PyCon España...
![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,](https://reader036.fdocuments.es/reader036/viewer/2022063017/5fd8e4292a223700d65add82/html5/thumbnails/1.jpg)
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,](https://reader036.fdocuments.es/reader036/viewer/2022063017/5fd8e4292a223700d65add82/html5/thumbnails/2.jpg)
¿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,](https://reader036.fdocuments.es/reader036/viewer/2022063017/5fd8e4292a223700d65add82/html5/thumbnails/3.jpg)
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,](https://reader036.fdocuments.es/reader036/viewer/2022063017/5fd8e4292a223700d65add82/html5/thumbnails/4.jpg)
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,](https://reader036.fdocuments.es/reader036/viewer/2022063017/5fd8e4292a223700d65add82/html5/thumbnails/5.jpg)
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,](https://reader036.fdocuments.es/reader036/viewer/2022063017/5fd8e4292a223700d65add82/html5/thumbnails/6.jpg)
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,](https://reader036.fdocuments.es/reader036/viewer/2022063017/5fd8e4292a223700d65add82/html5/thumbnails/7.jpg)
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,](https://reader036.fdocuments.es/reader036/viewer/2022063017/5fd8e4292a223700d65add82/html5/thumbnails/8.jpg)
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,](https://reader036.fdocuments.es/reader036/viewer/2022063017/5fd8e4292a223700d65add82/html5/thumbnails/9.jpg)
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,](https://reader036.fdocuments.es/reader036/viewer/2022063017/5fd8e4292a223700d65add82/html5/thumbnails/10.jpg)
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,](https://reader036.fdocuments.es/reader036/viewer/2022063017/5fd8e4292a223700d65add82/html5/thumbnails/11.jpg)
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,](https://reader036.fdocuments.es/reader036/viewer/2022063017/5fd8e4292a223700d65add82/html5/thumbnails/12.jpg)
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,](https://reader036.fdocuments.es/reader036/viewer/2022063017/5fd8e4292a223700d65add82/html5/thumbnails/13.jpg)
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,](https://reader036.fdocuments.es/reader036/viewer/2022063017/5fd8e4292a223700d65add82/html5/thumbnails/14.jpg)
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,](https://reader036.fdocuments.es/reader036/viewer/2022063017/5fd8e4292a223700d65add82/html5/thumbnails/15.jpg)
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,](https://reader036.fdocuments.es/reader036/viewer/2022063017/5fd8e4292a223700d65add82/html5/thumbnails/16.jpg)
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,](https://reader036.fdocuments.es/reader036/viewer/2022063017/5fd8e4292a223700d65add82/html5/thumbnails/17.jpg)
GRACIAS!!GRACIAS!!
Diego Sarmentero@diegosarmentero
http://diegosarmentero.org