nwcc er en lille C compiler til Unix-systemer, som jeg skrev i min fritid, for sjov og for at bevise for mig selv, at jeg kunne. Jeg startede projektet i august 2003, men fordi jeg havde et job og et liv og et par andre hobby kode projekter, det tog mig indtil efteråret 2005 for at gøre det arbejde med forskellige konstruktioner af C-sprog.
Så hvad nyt er nwcc bringe til bordet? Vigtigst er det, ny kode: Jeg skrev alt fra bunden - herunder Lexer, parser og backend.
Koden for nwcc er skrevet i C.
Denne udgivelse er ikke beregnet til seriøs brug, men i det mindste nwcc er stærk nok til at kompilere selv (hvis resultat kan kompilere nwcc samt) og bør derfor være i stand til at håndtere mindst nogle små programmer. Der er stadig nogle ting mangler / brudt, men tingene bliver bedre næsten hver dag (jeg uploade mine ændringer til SF, når jeg tilføje / fix noget af interesse.)
Det tager en masse arbejde at få endnu en delmængde af C-sprog til at kompilere, så det faktum, at der mangler noget eller gjort forkert i nwcc betyder ikke, at jeg er ligeglad med det pågældende område af C sprog eller compiler design ; Det betyder blot, at jeg ikke har fået rundt for at gøre det rigtigt, eller endog på alle, men
Funktioner :.
- Der er nogle C sproglige funktioner mangler; Mest bemærkelsesværdigt støtte til floating point, bitfields og et par andre ting. Mange andre ting brudt (der er sandsynligvis fejl i stort set alle sprog funktion gennemført af nwcc)
- Der er ingen har en effekt udvikler bruges til etablerede mainstream compilere ville overveje interessant, endnu (bortset fra, måske, funktionen stak beskyttelse.) Beklager. Der er intet ud over almindeligt dum kompilering; Ingen støtte til oprettelse delte biblioteker, ingen støtte til debugging eller profilering, ingen ingenting
- Der er i øjeblikket kun en backend til 80x86 processorer (som genererer kode for NASM Netwide Assembler og virker på Linux, FreeBSD og OpenBSD)
- Der er absolut ingen optimering, hvilket betyder den genererede kode er meget langsom sammenlignet med produktionen af etablerede compilere. Jeg vil arbejde på dette snart, men du skal forstå, at mine primære bekymringer lige nu er koden korrekthed og bærbarhed i stedet hastighed (det er svært nok til at gøre langsom kode arbejde!)
Hvad er nyt i denne udgivelse:
- Denne version løser et par (virkelig ikke for mange!) generelle og PIC-specifikke fejl, der blev stødt, mens kompilering Tcl og mksh.
Hvad er nyt i version 0.7.8:
- Denne version tilføjer understøttelse til Mac OS X på x86 og AMD64, og NetBSD på x86-systemer. Forskellige platform-uafhængige bugs er også blevet rettet.
Hvad er nyt i version 0.7.7:
- Denne version tilføjer understøttelse til Linux / PPC64 og rettelser mange PPC-specifikke fejl.
Kommentarer ikke fundet