nwcc este un mic compilator C pentru sistemele Unix care am scris în timpul liber mea, pentru a te distra și de a dovedi să mă că aș putea. Am început proiectul în august 2003, dar pentru că am avut un loc de muncă și o viață și alte câteva proiecte de cod hobby, mi-a luat până în toamna anului 2005 pentru a face să funcționeze cu diferite constructe ale limbajului C.
Deci, ce noi nu nwcc aduce la masa? Cel mai important, nou cod: Am scris totul de la zero - inclusiv lexer, parser și backend.
Codul de nwcc este scris în C.
Acest comunicat nu este destinat utilizării serioase, dar cel puțin nwcc este suficient de puternic pentru a se (rezultatul care poate compila nwcc, de asemenea) și ar trebui să fie, prin urmare, capabile de a face cu cel puțin unele programe mici compila. Există încă unele lucruri care lipsesc / rupte, dar lucrurile se imbunatatesc aproape în fiecare zi (am încărca modificările mele SF ori de câte ori am adăuga / fix ceva de interes.)
Este nevoie de o mulțime de lucru pentru a obține chiar și un subset al limbajului C pentru a compila, astfel faptul că ceva lipsește sau greșit în nwcc nu înseamnă că nu-mi pasă de acea zonă a limbajului C sau proiectarea compilator ; Aceasta înseamnă doar că nu am ajuns în jurul valorii de a face dreapta pe ea, sau chiar deloc, dar
Caracteristici :.
- Există unele caracteristici lingvistice C lipsesc; Mai ales sprijinul pentru virgulă mobilă, bitfields și alte câteva lucruri. Multe alte lucruri sunt rupte (există, probabil, bug-uri in aproape fiecare caracteristică limbă implementat de nwcc)
- Nu există oferă un dezvoltator de putere folosit pentru a compilatoare consacrate existente ar considera interesant, dar (cu excepția, poate, caracteristica de protecție stack.) Ne pare rău. Nu este nimic dincolo de compilare simplu prost; Lipsa suportului pentru crearea de biblioteci partajate, nici un sprijin pentru depanare sau profilare, nimic
- În prezent, există doar un backend pentru procesoare 80x86 (care generează codul pentru NASM Netwide Assembler și funcționează pe Linux, FreeBSD și OpenBSD)
- Nu există absolut nici o optimizare, ceea ce înseamnă codul generat este foarte lent în comparație cu producția de compilatoare stabilite. Voi lucra la acest curând, dar ar trebui să înțeleagă că preocupările mele principale acum sunt codul corectitudinea și portabilitate, mai degrabă decât de viteză (e destul de greu pentru a face locul de muncă cod lent!)
Ce este nou în această versiune:
- Această versiune repară câteva (într-adevăr nu prea multe!) bug-uri generale și PIC specifice, care au fost întâmpinate în timpul compilării Tcl și mksh.
Ce este nou în versiunea 0.7.8:
- Această versiune adaugă suport pentru Mac OS X pe x86 și AMD64, și NetBSD pe sisteme x86. Diverse bug-platforma independent au fost, de asemenea, stabilit.
Ce este nou în versiunea 0.7.7:
- Această versiune adaugă suport pentru Linux / PPC64 și stabilește multe bug-uri-PPC specifice.
Comentariile nu a fost găsit