O compilador TruePascal
O tpc escreve cada byte do seu programa - sem linker, sem toolchain, nada a instalar.
Um compilador, dezenove alvos
O mesmo código e o mesmo front end. Só a última etapa muda.
Alvo
Opção
Saída
Windows
-Twin64
PE32+ .exe
Linux
-Tlinux
ELF64 estático
FreeBSD
-Tfreebsd
ELF64 estático
FreeBSD em ARM64
-Tfreebsd-aarch64
ELF (ARMv8-A)
O navegador
-Twasm
módulo .wasm
ARM64 / Android
-Taarch64
ARMv8-A 64 bits
Raspberry Pi Pico
-Tpico
.uf2 (RP2040)
Raspberry Pi Pico 2
-Tpico2, -Tpico2-riscv
.uf2 (RP2350, Arm ou RISC-V)
ESP32-C3 / ESP32-C6
-Tesp32c3, -Tesp32c6
imagem de flash Espressif (.bin)
ESP32-P4
-Tesp32p4
imagem de flash Espressif (.bin)
ESP32-S3 / ESP32 (Xtensa)
-Tesp32s3, -Tesp32
imagem de flash Espressif (.bin)
Arduino Due
-Tdue
imagem de flash (.bin, Cortex-M3)
Raspberry Pi Zero W
-Tpizero
kernel .img (ARM1176)
PC sem SO
-Tefi-x64
aplicativo UEFI (PE32+)
Aplicativos do SO bare-metal (ARM64)
-Tefi-a64
programa UEFI (ARM64)
Raspberry Pi 3B+ / 4B, inicialização própria
-Tpi-a64
kernel8.img no cartão
O Linux também gera uma imagem static-PIE (-Tlinux-pie) para sistemas endurecidos que randomizam os endereços de carga; no ARM64 todo binário já é independente de posição.
Os binários de Linux e FreeBSD são estáticos e falam direto com o kernel - sem libc e sem interpretador, então não há nada a instalar na máquina que os executa.
O que há dentro do tpc
É um único programa, e tudo de que precisa ele carrega consigo.
Sem linker
O tpc gera código de máquina e depois escreve o contêiner em volta - uma imagem PE, um ELF, um módulo .wasm, um .uf2. Cada byte do arquivo de saída é colocado pelo tpc.
Uma única chamada
Um arquivo-fonte. O tpc segue as cláusulas uses sozinho. Sem caminhos de units para configurar, sem arquivo de projeto, sem etapa de compilação separada.
Runtime próprio
O runtime, a biblioteca padrão e um motor SQLite viajam dentro do compilador em vez de bibliotecas para vincular, então nada vai junto do seu programa.
Os dois dialetos
Object Pascal nas grafias {$MODE DELPHI} e {$MODE OBJFPC}, strings longas por padrão e as verificações {$Q+}, {$R+} e {$I+}.
Depuração de verdade
Compilado com -gl, um erro em tempo de execução informa o arquivo e a linha, não apenas um endereço. O tpc escreve o próprio DWARF e vem com um depurador.
Auto-hospedado
O tpc compila seu próprio código-fonte - cerca de 420.000 linhas de Pascal em 243 arquivos. Esse é o teste principal: o compilador é seu próprio programa mais difícil.
Como sabemos que funciona
Medido, não afirmado.
354
gates, executados em toda versão
490
programas do corpus, comparados byte a byte
12%
mais rápido que o dcc64 no mesmo trabalho
Uma série de otimização de noventa e sete versões levou a auto-compilação de 14.521 ms para 1.393 ms - 10,4 vezes mais rápido - com todos os gates verdes.
Feito com o TruePascal IDE
(c) 2026 TruePascal IDE - truepascal.com