Hace tiempo que no escribo de este proyecto:
https://github.com/ajlopez/PythonSharp
un intérprete en C# de un lenguaje tipo Python, con acceso a la librería de .NET.
Veamos hoy la estructura del proyecto principal de la solución:
Hay muchas cosas para agregar, pero lo que está contiene:
– Commands: Comandos a ejecutar ya compilados, como pass, for, if, …
– Expressions: También resultado de la compilación, a diferencia de los comandos producen un valor resultado. Hay expresiones para evaluar constantes, variables con nombre, éxpresiones aritméticas, llamadas a funciones/métodos, ..
– Compiler: Con un Lexer y un Parser que consumen un TextStream
– Language: Clases de implementación de algunos conceptos del lenguaje, como objeto dinámico, clase, módulo, …
– Functions: Implementación de funciones primitivas como dir, eval, exit, exec, …
Además de este proyecto hay:
– Proyecto de test: el proyecto principal fue desarrollando usando TDD paso a paso
– Proyecto de consola: que sirve para ejecutar scripts desde archivos o ingresar código desde una consola de comandos
Próximos temas: implementación del Lexer y Parser, Comandos, Expresiones
Nos leemos!
Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez