Compêndio de CC · Parte IV — Linguagens de Programação & Sua Implementação
Como linguagens são projetadas (sintaxe, semântica, sistemas de tipos) e como são feitas para executar (lexing, parsing, compilação, e o runtime que gerencia execução e memória). É a parte de gravidade mais direta pra Koder Stack, porque a Stack é uma implementadora de linguagem: a Koda é uma linguagem self-hosting com front-end
kparse, backend e runtime próprios.
Por que esta parte é o seed
Toda outra parte de CC toca esta (algoritmos são expressos em linguagens; sistemas são construídos nelas), mas a decisão da Stack de autorar a própria linguagem torna a implementação de linguagem uma preocupação de trabalho, não acadêmica. Os capítulos abaixo partem da fronteira de runtime que a Stack está ativamente decidindo — gerência de memória — e crescem a partir dela.
O mapa desta parte
| Doc | Conteúdo | Status |
|---|---|---|
01-overview |
Pipeline design → implementação; onde a gerência de memória se encaixa | semeado |
02-memory-management |
Gerência automática de memória: tracing GC, reference counting & seu renascimento, mark-region, e as abordagens além-do-GC (ownership, regiões, generational references) | semeado (conteúdo real) |
03-type-systems |
Estáticodinâmico, inferência, linearafim, dependente | planejado |
04-compilers-and-parsing |
Lexing, parsing, IR, codegen, self-hosting | planejado |
05-runtime-and-execution |
Interpretadores, JIT, convenções de chamada, FFI | planejado |