Expresiones Booleanas en el Lenguaje de Programación Platzi

Clase 28 de 58Curso de Creación de Lenguajes de Programación: Intérpretes

Resumen

¿Cómo funcionan las expresiones booleanas en Platzi?

En el desarrollo de nuestro lenguaje de programación Platzi, podemos trabajar con expresiones booleanas que, como en otros lenguajes, tienen cuatro posibles evaluaciones: verdadero, falso, asignaciones y comparaciones. Al representar las expresiones booleanas en Platzi, utilizamos las palabras clave "verdadero" para true y "falso" para false. A continuación, exploraremos cómo se implementan estas expresiones booleanas en nuestro sistema, asegurando su correcta interpretación dentro del lenguaje.

¿Cómo se incorpora el soporte para expresiones booleanas en Platzi?

La estrategia para implementar expresiones booleanas en Platzi consiste en lo siguiente:

  1. Crear y configurar pruebas: Comenzamos desarrollando una prueba llamada Test Boolean Expressions dentro del archivo parsertest.py. La prueba evalúa expresiones booleanas con ejemplos como "verdadero" y "falso". Utiliza un lexer y un parser para verificar que la sintaxis sea correcta, interpretando estos keywords correctamente en el lenguaje de Platzi.

  2. Definir la clase Boolean en el AST: Importamos y definimos una nueva clase Booleana en el Árbol de Sintaxis Abstracta (AST). Esta clase extiende la clase Expresión e implementa una interfaz para aceptar un token y un valor booleano opcional.

  3. Agregar métodos de prueba: Incluimos una función testBoolean para validar las expresiones booleanas en las pruebas, asegurándonos de que sean instancias correctas y de que los valores evaluados coincidan con lo esperado.

  4. Modificar el parser: Importamos el nodo Boolean en el parser e indicamos cómo registrar y analizar booleanos a través de la función parseBoolean. Cuando un token coincide con tokenType.True o tokenType.False, se genera una instancia de Boolean y se establece su valor basado en una evaluación condicional.

¿Cómo se estructuran las pruebas para asegurar su funcionamiento?

Para validar que las expresiones booleanas funcionan correctamente en Platzi, se crean pruebas unitarias específicas:

  • Estructura de prueba inicial: Se configura el origen de la prueba con expresiones como "verdadero" y "falso", que luego se envían al lexer y al parser. Se revisa que los tokens sean interpretados correctamente y que las estructuras de AST reflejen los nodos correspondientes.

  • Validación de expresiones literales: Extendiéndonos más allá de strings e ints, nuestro método testLiteralExpression ahora soporta booleanos, permitiendo validar que los valores booleanos son procesados de forma exacta.

  • Confirmación del parser: Ajustamos el parser para manejar expresiones booleanas de manera fluida, probando que nuevas instancias sean creadas y verificando las propiedades internalizadas.

Con estas pruebas, cualquier error en la interpretación de booleanos se detectaría, garantizando que el sistema reconozca los booleanos correctamente en el contexto del lenguaje Platzi.

¿Cuáles son los siguientes pasos?

Una vez implementado el soporte para booleanos:

  1. Ejecutamos las pruebas unitarias para asegurar que todos los casos se manejen sin errores de sintaxis y con la evaluación esperada.
  2. Corregimos cualquier bug detectado, como la falta de definición del nodo boolean dentro de las pruebas iniciales.
  3. Continuamos mejorando el parser y agregando características adicionales que permitan una mayor robustez y complejidad del lenguaje, manteniendo el enfoque modular y escalable.

Ahora que comprendes mejor cómo funcionan las expresiones booleanas y su implementación en un lenguaje de programación, te invitamos a experimentar con tus propias ideas. Desarrollar bases sólidas en estos conceptos te convertirá en un ingeniero capaz, listo para enfrentar y diseñar nuevas soluciones en el fascinante mundo de la programación. ¡Sigue adelante!