Éste artículo me pareció muy interesante y sobretodo muy educativo, ya que habla principalmente sobre un Framework llamado S-Expression Interpreter Framework que es un DSL que involucra el uso de lenguajes Ruby y permite construir S-Expressions como lenguajes funcionales (que para este punto de la carrera ya lleve una materia en el que ya puedo comprender más el propósito, la sintaxis y sobre todo un poco el ambiente en el que se se desarrollan estos lenguajes) como Lisp, Clojure etc mediante la implementación del patrón de intérprete
A decir verdad Ruby es un lenguaje completamente nuevo para mí, ya que nunca había programado en este lenguaje, de hecho si había escuchado hablar de lenguaje que se está tornando popular y es por eso que en este artículo se menciona que se usa como parte educativa, pero jamás he programado en él y no conocía muchas de las características que tenía este lenguaje por lo que resulta muy interesante la implementación del patrón de intérprete en este lenguaje relativamente nuevo para mi.
El autor, Ariel Ortiz, es muy claro en su artículo sobre los diferentes bloques que proporciona S-expression Interpreter Framework (SIF) y cómo estos bloques facilitan la construcción de un intérprete escalable.
El Framework comienza a hacer su trabajo al leer un programa fuente que se representará como una cadena. La API de expresiones regulares se usa para escanear la entrada y un analizador recursivo escrito a mano realiza el análisis sintáctico que transforma las S-expression en los valores equivalentes en Ruby, luego se construye el árbol. Ruby ayuda con varias características como el recolector de basura, clases abiertas y expresiones regulares que son muy útiles al realizar análisis léxico.
Y hablando un poco más allá de la declaración anterior donde dije que se menciona en la escalabilidad una de las cosas más intrigantes e importantes es que el SIF se puede extender de diferentes maneras que abren muchas posibilidades de diferentes paradigmas como la programación funcional y la programación imperativa, que a decir verdad fue la primera vez que escuché este tipo de programación cuando leí el artículo y me pareció interesante conocer un nuevo paradigma que no sea el de orientado objetos o el funcional a los cuales yo estoy muy familiarizado.
Por otro lado, me parece muy interesante que, complementando el carácter técnico del artículo y la explicación del SIF, el autor establece un objetivo muy claro de utilizar este Framework como una herramienta educativa que permita al estudiante aplicar diferentes conceptos de programación.
Esta lectura es muy interesante y útil para construir nuestro compilador para el curso. Agrego el link del articulo que es muy interesante y muy descriptivo
Language Design and Implementation using Ruby and the Interpreter Pattern
Comentarios
Publicar un comentario