Aprende a manejar los Compiladores

Aprender Gratis | 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.

Comentar