Linguagens e compiladores
De um arquivo de texto até código rodando na CPU: tokens, AST, interpretadores, bytecode, VMs, GC e JIT.
O que você vai aprender
Toda linguagem de programação passa por um pipeline de tradução: o código fonte é lido como texto, quebrado em tokens pelo lexer, organizado numa Árvore Sintática Abstrata (AST) pelo parser, e então executado — seja diretamente por um interpretador, compilado para bytecode de uma VM, ou transformado em código de máquina por um compilador JIT.
Esta trilha desmonta esse pipeline peça por peça, com simulações interativas de cada etapa — do lexer que tokeniza seu código ao GC que libera memória automaticamente.
O léxico: tokens e lexers
Como texto vira tokens — a primeira etapa de todo compilador.
Disponível 02A Árvore Sintática (AST)
Como tokens viram estrutura: parsing, gramáticas e a árvore de nodos.
Disponível 03Interpretadores
Executar a AST diretamente: um interpretador passo a passo.
Disponível 04Bytecode e Máquinas Virtuais
Compilar para instruções de uma VM de pilha e executar passo a passo.
Disponível 05Coleta de lixo (GC)
Mark & Sweep, referências, ciclos e por que GC pause existe.
Disponível 06JIT: compilação em tempo de execução
Por que Python é lento e V8 rápido — hot paths e compilação nativa.
DisponívelProjetos desta trilha
Mini lexer
Implemente um lexer completo em JavaScript que tokeniza um subconjunto de Python ou JavaScript — com keywords, operadores, strings e comentários.
Calculator language
Construa uma linguagem de calculadora completa: lexer + parser + interpretador que avalia expressões aritméticas com variáveis e funções simples.
VM de pilha
Implemente uma VM de pilha com 12 instruções (PUSH, POP, ADD, SUB, MUL, LOAD, STORE, JUMP, CJUMP, CALL, RET, HALT) e escreva um compilador de expressões para ela.