Temario y recursos del Curso de Creación Lenguajes de Programación: Intérpretes
Temario del Curso de Creación Lenguajes de Programación: Intérpretes
Introducción al desarrollo de intérpretes y lenguajes de programación
- Aprende a desarrollar lenguajes de programación con intérpretes
- Desarrolla LPP o Lenguaje de Programación Platzi
Construcción del lexer o tokenizador
- ¿Qué es análisis léxico? Funcionamiento del lexer y tokens
- Estructura y definición de tokens en Python
- Lectura de caracteres y tokens
- Tokens ilegales, operadores de un solo carácter y delimitadores
- Reconocimiento y diferenciación entre letras y números
- Declaración y ejecución de funciones
- Extensión del lexer: condicionales, operaciones y booleanos
- Operadores de dos caracteres
- Primera versión del REPL con tokens
Construcción del parser o analizador sintáctico
- ¿Qué es un parser y AST?
- Estructura y definición de nodos del AST en Python
- Parseo del programa o nodo principal
- Parseo de assignment statements
- Parseo de let statements
- Parseo de errores
- Parseo del return statement
- Técnicas de parsing y pratt parsing
- Pruebas del AST
- Implementación del pratt parser
- Parseo de Identifiers: testing
- Parseo de Identifiers: implementación
- Parseo de enteros
- Prefix operators: negación y negativos
- Infix operators y orden de las operaciones: testing
- Infix operators y orden de las operaciones: implementación
- Parseo de booleanos
- Desafío: testing de infix operators y booleanos
- Parseo de expresiones agrupadas
- Parseo de condicionales: testing y AST
- Parseo de condicionales: implementación
- Parseo de declaración de funciones: testing
- Parseo de declaración de funciones: AST e implementación
- Parseo de llamadas a funciones: testing y AST
- Parseo de llamadas a funciones: implementación
- Completando los TODOs o pendientes del lexer
- Segunda versión del REPL con AST
Evaluación o análisis semántico
- Significado de símbolos
- Estrategias de evaluación para intérpretes de software
- Representación de objetos
- Evaluación de expresiones: enteros
- Evaluación de expresiones: booleanos y nulos
- Evaluación de expresiones: prefix
- Evaluación de expresiones: infix
- Evaluación de condicionales
- Evaluación del return statement
- Manejo de errores
- Ambiente
- Bindings
- Evaluación de funciones
- Llamadas a funciones
Para este curso vas a necesitar
12 Horas de contenido
12 Horas de práctica

Proyecto del curso
LPP o Lenguaje de Programación PlatziDesarrolla el intérprete de un lenguaje de programación completo con enfoque académico para que estudiantes de bachillerato aprendan cómo crear algoritmos y escribir código en español.
Para este curso vas a necesitar
12 Horas de contenido
12 Horas de práctica

Proyecto del curso
LPP o Lenguaje de Programación PlatziDesarrolla el intérprete de un lenguaje de programación completo con enfoque académico para que estudiantes de bachillerato aprendan cómo crear algoritmos y escribir código en español.
Introducción al desarrollo de intérpretes y lenguajes de programación
- Aprende a desarrollar lenguajes de programación con intérpretes
- Desarrolla LPP o Lenguaje de Programación Platzi
Construcción del lexer o tokenizador
- ¿Qué es análisis léxico? Funcionamiento del lexer y tokens
- Estructura y definición de tokens en Python
- Lectura de caracteres y tokens
- Tokens ilegales, operadores de un solo carácter y delimitadores
- Reconocimiento y diferenciación entre letras y números
- Declaración y ejecución de funciones
- Extensión del lexer: condicionales, operaciones y booleanos
- Operadores de dos caracteres
- Primera versión del REPL con tokens
Construcción del parser o analizador sintáctico
- ¿Qué es un parser y AST?
- Estructura y definición de nodos del AST en Python
- Parseo del programa o nodo principal
- Parseo de assignment statements
- Parseo de let statements
- Parseo de errores
- Parseo del return statement
- Técnicas de parsing y pratt parsing
- Pruebas del AST
- Implementación del pratt parser
- Parseo de Identifiers: testing
- Parseo de Identifiers: implementación
- Parseo de enteros
- Prefix operators: negación y negativos
- Infix operators y orden de las operaciones: testing
- Infix operators y orden de las operaciones: implementación
- Parseo de booleanos
- Desafío: testing de infix operators y booleanos
- Parseo de expresiones agrupadas
- Parseo de condicionales: testing y AST
- Parseo de condicionales: implementación
- Parseo de declaración de funciones: testing
- Parseo de declaración de funciones: AST e implementación
- Parseo de llamadas a funciones: testing y AST
- Parseo de llamadas a funciones: implementación
- Completando los TODOs o pendientes del lexer
- Segunda versión del REPL con AST
Evaluación o análisis semántico
- Significado de símbolos
- Estrategias de evaluación para intérpretes de software
- Representación de objetos
- Evaluación de expresiones: enteros
- Evaluación de expresiones: booleanos y nulos
- Evaluación de expresiones: prefix
- Evaluación de expresiones: infix
- Evaluación de condicionales
- Evaluación del return statement
- Manejo de errores
- Ambiente
- Bindings
- Evaluación de funciones
- Llamadas a funciones