Aprende a manejar los Compiladores

¿Sabes cómo funciona la compilación en los códigos de programación? ¿Quieres aprender a que un programa ejecute tu código?
¿A quién va dirigido?
El curso está pensado para quienes quieran aprender a manejar los compiladores. El objetivo de este es hacer que el alumno sea capaz de que, una vez escrito un código con un programa determinado, este se lleve al nivel que cualquier sistema pueda ejecutarlo.
¿Qué se estudiará en el curso?
Introduction
- 01-01: Introduction
- 01-02: Structure of a Compiler
- 01-03: The Economy of Programming Languages (19m51s)
The Cool Programming Language
- 02-01: Cool Overview
- 02-02: Cool Example II
- 02-03: Cool Example III
Lexical Analysis
- 03-01: Lexical Analysis
- 03-02: Lexical Analysis Examples
- 03-03: Regular Languages
- 03-04: Formal Languages
- 03-05: Lexical Specifications
- Deduce It Demo
Finite Automata
- 04-01: Lexical Specification
- 04-02: Finite Automata
- 04-03: Regular Expressions into NFAs
- 04-04: NFA to DFA
- 04-05: Implementing Finite Automata
Parsing
- 05-01: Introduction to Parsing
- 05-02: Context Free Grammars
- 05-03: Derivations
- 05-04: Ambiguity
Top-Down Parsing
- 06-01: Error Handling
- 06-02: Abstract Syntax Trees
- 06-03: Recursive Descent Parsing
- 06-04: Recursive Descent Algorithm
- 06-05: Left Recursion
Bottom-Up Parsing I
- 07-01: Predictive Parsing
- 07-02: First Sets
- 07-03: Follow Sets
- 07-04: LL1 Parsing Tables
- 07-05: Bottom-Up Parsing
- 07-06: Shift-Reduce Parsing
Bottom-Up Parsing II
- 08-01: Handles
- 08-02: Recognizing Handles
- 08-03: Recognizing Viable Prefixes
- 08-04: Valid Items
- 08-05: SLR Parsing
- 08-06: SLR Parsing Example
- 08-07: SLR Improvements
- 08-08: SLR Examples
Semantic Analysis and Type Checking
- 09-01: Introduction to Semantic Analysis
- 09-02: Scope
- 09-03: Symbol Tables
- 09-04: Types
- 09-05: Type Checking
- 09-06: Type Environments
- 09-07: Subtyping
- 09-08: Typing Methods
- 09-09: Implementing Type Checking
Cool Type Checking
- 10-01: Static vs. Dynamic Typing
- 10-02: Self Type
- 10-03: Self Type Operations
- 10-04: Self Type Usage
- 10-05: Self Type Checking
- 10-06: Error Recovery
Runtime Organization
- 11-01: Runtime Organization
- 11-02: Activations
- 11-03: Activation Records
- 11-04: Globals and Heap
- 11-05: Alignment
- 11-06: Stack Machines
Code Generation
- 12-01: Introduction to Code Generation
- 12-02: Code Generation I
- 12-03: Code Generation II
- 12-04: Code Generation Example
- 12-05: Temporaries
- 12-06: Object Layout
Operational Semantics
- 13-01: Semantics Overview
- 13-02: Operational Semantics
- 13-03: Cool Semantics I
- 13-04: Cool Semantics II
Local Optimization
- 14-01: Intermediate Code
- 14-02: Optimization Overview
- 14-03: Local Optimization
- 14-04: Peephole Optimization
Global Optimization
- 15-01: Dataflow Analysis
- 15-02: Constant Propagation
- 15-03: Analysis of Loops
- 15-04: Orderings
- 15-05: Liveness Analysis
Register Allocation
- 16-01: Register Allocation
- 16-02: Graph Coloring
- 16-03: Spilling
- 16-04: Managing Caches
Garbage Collection
- 17-01: Automatic Memory Managemen
La Universidad de Stanford es quien nos ofrece esta opción formativa.
En este enlace encontrarás toda la información que necesitas para la realización del curso.