Definición de Tokens en Lenguaje de Programación Platzi
Clase 4 de 58 • Curso de Creación de Lenguajes de Programación: Intérpretes
Resumen
¿Cómo definir los primeros tokens en un lenguaje de programación?
Definir tokens es un paso crucial para desarrollar cualquier lenguaje de programación. En el caso del lenguaje de programación Platzi (LPP), iniciaremos definiendo un subconjunto que incluye números, variables, identificadores (o identifiers en inglés), palabras clave (keywords) y varios caracteres especiales. Estos elementos constituyen la base sobre la cual crearemos nuestros primeros tokens. Aprenderemos a generar un archivo token.py, donde definiremos dos clases: tipo de token y token en sí mismo. Utilizaremos enumeraciones (enums) para diferenciar una lista de valores finitos, y aprovecharemos la clase namedtuple de typing para mejorar la definición de tokens.
¿Cuál es el proceso para empezar a definir tokens?
- 
Crear un archivo token.py: Este archivo será el núcleo de nuestras definiciones. Empezaremos por importar los módulos necesarios.from enum import Enum, auto, unique from typing import NamedTuple
- 
Definir la clase TokenType: Creamos una clase que contenga los diferentes tipos de tokens que usaremos.@unique class TokenType(Enum): ASSIGN = auto() COMMA = auto() EOF = auto() # End of file FUNCTION = auto() IDENT = auto() # Identifier ILLEGAL = auto() INT = auto() LEFT_BRACE = auto() LET = auto() LEFT_PAREN = auto() PLUS = auto() RIGHT_BRACE = auto() RIGHT_PAREN = auto() SEMICOLON = auto()
- 
Crear la clase Token: UtilizamosNamedTuplepara definir la estructura de nuestros tokens.class Token(NamedTuple): token_type: TokenType literal: str
- 
Agregar métodos adicionales: Integramos el método especial __str__para controlar cómo se imprime elToken.def __str__(self) -> str: return f"Type: {self.token_type}, Literal: {self.literal}"
¿Cómo preparar el entorno de desarrollo?
Antes de comenzar a programar, necesitamos preparar nuestro entorno con Python 3.8. Para ello, seguiremos estos pasos:
- 
Crear un ambiente virtual: Nos aseguramos de que todo el trabajo de desarrollo esté aislado. python3.8 -m venv bnb source bnb/bin/activate
- 
Instalar las dependencias necesarias: Lo haremos a través del archivo requirements.txtque contienenosepara tests ymypypara tipado.pip3 install -r requirements.txt
¿Cómo administrar el control de versiones con git?
Es esencial organizar nuestro proyecto usando git. Configuramos ramas dedicadas para dividir el trabajo y asegurar la estabilidad de nuestra base de código.
- 
Comprobar la rama actual: Utilizar la rama maincomo base.git branch
- 
Cambiar o crear una nueva rama: git checkout -b define-tokens
¿Dónde encontrar recursos adicionales y resúmenes de código?
Para facilitar el aprendizaje, el código fuente completo y otros recursos estarán disponibles en GitHub. Busca la información relacionada en los comentarios del curso o consulta el repositorio directamente.
Recuerda, definir tus propios tokens y comprenden su propósito es vital en el viaje de construir un lenguaje de programación. La simplicidad y claridad son aliados a lo largo de este proceso, así que no dudes en revisar y practicar. A medida que avancemos, el concepto de tokens y su implementación se aclararán. ¡Sigue adelante!