Curso de Creación de Lenguajes de Programación: Intérpretes

Curso de Creación de Lenguajes de Programación: Intérpretes

Instruido por:
David Aroesti
David Aroesti
Avanzado
12 horas de contenido
Ver la ruta de aprendizaje
LPP o Lenguaje de Programación Platzi
Proyecto del curso
LPP o Lenguaje de Programación Platzi

Desarrolla 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.

Curso de Creación de Lenguajes de Programación: Intérpretes

Curso de Creación de Lenguajes de Programación: Intérpretes

Progreso del curso:0/58contenidos(0%)

Contenido del Curso
Tutoriales de estudiantes
Preguntas de estudiantes

Progreso del curso:0/58contenidos(0%)

Introducción al desarrollo de intérpretes y lenguajes de programación

Material Thumbnail

Aprende a desarrollar lenguajes de programación con intérpretes

07:36 min

Material Thumbnail

Desarrolla LPP o Lenguaje de Programación Platzi

04:59 min

Construcción del lexer o tokenizador

Material Thumbnail

¿Qué es análisis léxico? Funcionamiento del lexer y tokens

05:36 min

Material Thumbnail

Estructura y definición de tokens en Python

11:53 min

Material Thumbnail

Lectura de caracteres y tokens

15:43 min

Material Thumbnail

Tokens ilegales, operadores de un solo carácter y delimitadores

10:01 min

Material Thumbnail

Reconocimiento y diferenciación entre letras y números

18:57 min

Material Thumbnail

Declaración y ejecución de funciones

07:46 min

Material Thumbnail

Extensión del lexer: condicionales, operaciones y booleanos

12:38 min

Material Thumbnail

Operadores de dos caracteres

12:08 min

Material Thumbnail

Primera versión del REPL con tokens

12:35 min

Construcción del parser o analizador sintáctico

Material Thumbnail

¿Qué es un parser y AST?

05:22 min

Material Thumbnail

Estructura y definición de nodos del AST en Python

09:14 min

Material Thumbnail

Parseo del programa o nodo principal

12:49 min

Material Thumbnail

Parseo de assignment statements

20:21 min

Material Thumbnail

Parseo de let statements

08:26 min

Material Thumbnail

Parseo de errores

11:06 min

Material Thumbnail

Parseo del return statement

12:42 min

Técnicas de parsing y pratt parsing

01:46 min

Material Thumbnail

Implementación del pratt parser

11:47 min

Material Thumbnail

Parseo de Identifiers: testing

13:29 min

Material Thumbnail

Parseo de Identifiers: implementación

16:34 min

Material Thumbnail

Parseo de enteros

14:03 min

Material Thumbnail

Prefix operators: negación y negativos

16:43 min

Material Thumbnail

Infix operators y orden de las operaciones: testing

10:40 min

Material Thumbnail

Infix operators y orden de las operaciones: implementación

20:20 min

Material Thumbnail

Parseo de booleanos

13:00 min

Material Thumbnail

Desafío: testing de infix operators y booleanos

08:39 min

Material Thumbnail

Parseo de expresiones agrupadas

10:16 min

Material Thumbnail

Parseo de condicionales: testing y AST

13:50 min

Material Thumbnail

Parseo de condicionales: implementación

12:05 min

Material Thumbnail

Parseo de declaración de funciones: testing

15:51 min

Material Thumbnail

Parseo de declaración de funciones: AST e implementación

15:43 min

Material Thumbnail

Parseo de llamadas a funciones: testing y AST

13:05 min

Material Thumbnail

Parseo de llamadas a funciones: implementación

12:21 min

Completando los TODOs o pendientes del lexer

Material Thumbnail

Segunda versión del REPL con AST

08:59 min

Evaluación o análisis semántico

Material Thumbnail

Significado de símbolos

03:42 min

Material Thumbnail

Estrategias de evaluación para intérpretes de software

09:18 min

Material Thumbnail

Representación de objetos

14:17 min

Material Thumbnail

Evaluación de expresiones: enteros

19:39 min

Material Thumbnail

Evaluación de expresiones: booleanos y nulos

11:52 min

Material Thumbnail

Evaluación de expresiones: prefix

14:41 min

Material Thumbnail

Evaluación de expresiones: infix

18:07 min

Material Thumbnail

Evaluación de condicionales

13:50 min

Material Thumbnail

Evaluación del return statement

14:42 min

Material Thumbnail

Manejo de errores

21:05 min

Material Thumbnail

Evaluación de funciones

12:26 min

Material Thumbnail

Llamadas a funciones

23:55 min

Mejora del intérprete

Material Thumbnail

Implementación de strings

22:20 min

Material Thumbnail

Operaciones con strings

16:00 min

Material Thumbnail

Built-in functions: objeto y tests

11:54 min

Material Thumbnail

Built-in functions: evaluación

15:27 min

Siguientes pasos

Material Thumbnail

Retos para expandir tu intérprete

05:12 min

Material Thumbnail

Continúa con el Curso de Creación de Compiladores de Software

05:26 min

nuevosmás votadossin responder
Oscar Andrango
Oscar Andrango
Estudiante

esta malo el video

1
Jherom Chacon
Jherom Chacon
Estudiante

Alguien sabe Porqué será que necesito la carpeta de las clases (lpp) en los import para correr los tests pero para correr el main py desde python me da error si mantengo la carpeta dónde viven las clases en los import?

0
Omar Jalil Fierro López
Omar Jalil Fierro López
Platzi Team

¿Como funciona un token en lenguajes como PHP?
donde el signo de $ va pegado completamente a la variable, cuenta como un único token?, o el $ es un token y lo que sigue es otro?

0
Fabián Vega Alcota
Fabián Vega Alcota
Estudiante

Probé esto para forzar un error, pero no sucede, no importa el int que coloque los tests pasan, ¿a alguien más le pasa?

1
Andres Camilo Campuzano Osorio
Andres Camilo Campuzano Osorio
Estudiante

Hola, tengo un problema con la versión de Python. Mi sistema (Linux Manjaro) tiene Python 3.9, y por alguna razón no puedo cambiar a 3.8. Sucede que al intentar extender NamedTuple, me marca error. Lo investigué en Github Issues, pero aún no hay solución. Busqué como intercambiar las versiones de Python, pero no da resultado. ¿Hay alguna sugerencia con la que me puedan ayudar? Gracias!

2
Miguel Angel Velazquez Romero
Miguel Angel Velazquez Romero
Estudiante

ya terminé mi lexer, pero antes de pasar al paser quiero implementar el reconocimiento de un ciclo for, pero me está resultando muy confuso tan solo hacer la función del lexer_test y no encuentro info en San Google.

Podrían apoyarme?

0
Fabián Vega Alcota
Fabián Vega Alcota
Estudiante

Tengo pensado que mi lenguaje no necesite de los SEMICOLON, ¿Cómo podría implementar aquello?

0
Fabián Vega Alcota
Fabián Vega Alcota
Estudiante

¿Qué pasaría con mayor o igual que ‘>=’, o menor o igual que ‘<=’, también deberías implementarlo como uno solo?

0
Miguel Angel Velazquez Romero
Miguel Angel Velazquez Romero
Estudiante

¿Cuando saldrá el curso de introducción a la teoría de autómatas y leguajes formales?

3
Miguel Angel Velazquez Romero
Miguel Angel Velazquez Romero
Estudiante

¿En que parte del curso se implementa un analizador el reconocimiento de un ciclo for?

1