nwcc é um pequeno compilador C para sistemas Unix que eu escrevi em meu tempo livre, para se divertir e para provar a mim mesmo que eu poderia. Eu comecei o projeto em agosto de 2003, mas porque eu tinha um emprego e uma vida e alguns outros projetos de código passatempo, ele me levou até ao Outono de 2005 para fazê-lo funcionar com várias construções da linguagem C.
Então, o novo diz nwcc trazer para a mesa? Mais importante ainda, o novo código: Eu escrevi tudo a partir do zero - incluindo o lexer, parser e backend.
O código de nwcc é escrito em C.
Esta versão não se destina ao uso sério, mas, pelo menos, nwcc é suficientemente forte para compilar a si mesmo (o resultado de que pode compilar nwcc bem) e, portanto, deve ser capaz de lidar com pelo menos alguns pequenos programas. Há ainda algumas coisas que faltam / quebrado, mas as coisas estão a melhorar quase todos os dias (eu carregar as minhas alterações para SF sempre que eu adicionar / fix algo de interesse.)
É preciso muito trabalho para chegar até mesmo um subconjunto da linguagem C para compilar, então o fato de que algo está faltando ou feito de errado em nwcc não significa que eu não me importo com essa área específica da linguagem C ou projeto de compiladores ; Significa apenas que eu não tenha chegado a cerca de fazê-lo direito, ou mesmo em todos, ainda
Recursos :.
- Existem algumas características da linguagem C desaparecidas; Mais notavelmente suporte para ponto flutuante, bitfields e algumas outras coisas. Muitas outras coisas estão quebrados (provavelmente há erros em praticamente todos os recurso de linguagem implementada pelo nwcc)
- Não há dispõe de um desenvolvedor de energia usada para compiladores tradicionais estabelecidos consideraria interessante, ainda (além de, talvez, o recurso de proteção de pilha.) Sorry. Não há nada além compilação mudo planície; Não há suporte para a criação de bibliotecas compartilhadas, não há suporte para depuração ou perfil, sem nada
- Há atualmente apenas um backend para processadores 80x86 (que gera código para o NASM Netwide Assembler e funciona em Linux, FreeBSD e OpenBSD)
- Não há absolutamente nenhuma otimização, ou seja, o código gerado é muito lenta comparada com a saída de compiladores estabelecidos. Vou trabalhar sobre isso em breve, mas você deve entender que minhas principais preocupações agora são correção de código e portabilidade ao invés de velocidade (é duro o suficiente para fazer o trabalho de código lento!)
O que é novo nesta versão:
- Esta versão corrige alguns (realmente não muitos!) erros gerais e específicos do PIC que foram encontrados durante a compilação Tcl e mksh.
O que é novo na versão 0.7.8:
- Esta versão adiciona suporte para Mac OS X em x86 e AMD64, e NetBSD em sistemas x86. Vários bugs independentes de plataforma, também foram corrigidos.
O que é novo na versão 0.7.7:
- Esta versão adiciona suporte para Linux / PPC64 e correções muitos bugs específicos do PPC.
Comentários não encontrado