Amsterdam Compiler Kit - Amsterdam Compiler Kit
Desenvolvedor (s) | Andrew Tanenbaum , Ceriel Jacobs |
---|---|
lançamento inicial | início dos anos 1980 |
Versão estável | 6.0pre5 / 2 de junho de 2016
|
Repositório | |
Escrito em | C |
Sistema operacional | Minix , tipo Unix |
Modelo | Compilador retargetável |
Licença | Licenças BSD |
Local na rede Internet | tack |
O Amsterdam Compiler Kit (ACK) é um compilador redirecionável suite e toolchain escrito por Andrew Tanenbaum e Ceriel Jacobs , e foi MINIX toolchain nativa 's até que o MINIX userland foi em grande parte substituído pelo de NetBSD (MINIX 3.2.0) e Clang foi adotado como o compilador do sistema. O ACK era originalmente um software de código fechado (que permitia a distribuição de binários para o MINIX como um caso especial), mas em abril de 2003 foi lançado sob uma licença BSD de código aberto . Possui frontends para as seguintes linguagens de programação : C , Pascal , Modula-2 , Occam e BASIC .
A notabilidade do ACK vem do fato de que, no início dos anos 1980, foi um dos primeiros sistemas de compilação portáteis projetados para oferecer suporte a vários idiomas de origem e plataformas de destino.
O ACK alcança portabilidade máxima usando uma linguagem intermediária usando bytecode , chamado EM . Cada front-end de linguagem produz arquivos de objeto EM , que são processados por meio de vários otimizadores genéricos antes de serem traduzidos por um back-end em código de máquina nativo .
ACK vem com um vinculador genérico e bibliotecário capaz de manipular arquivos no próprio formato baseado em a.out do ACK ; ele funcionará em arquivos contendo código EM, bem como código de máquina nativo. No entanto, o código EM não pode ser vinculado ao código de máquina nativo sem traduzir o binário EM primeiro.
Processadores alvo
- 6502
- 6800 (apenas montador)
- 6805 (apenas montador)
- 6809 (apenas montador)
- BRAÇO
- 8080 *
- Z80
- Z8000
- Intel 8086 *
- i386
- 68000
- 68020
- 68040
- NS32016
- S2650 (apenas montador)
- SPARC
- VAX4
- PDP-11
- Broadcom VideoCore IV (BCM2708) *
* Versão 6.0
Veja também
Referências
links externos
Este artigo de software gratuito e de código aberto é um esboço . Você pode ajudar a Wikipedia expandindo-a . |