nwcc je malý C kompilátor pro unixové systémy, které jsem napsal v mém volném čase, pro zábavu a dokázat si, že jsem mohl. Začal jsem projekt v srpnu 2003, ale proto, že jsem měla práci a život a několik dalších projektů, hobby kódu, to mi trvalo až do podzimu 2005, aby to fungovalo s různými konstrukty jazyka C.
Takže to, co nového se nwcc přinést ke stolu? A co je nejdůležitější, nový kód: Napsal jsem všechno od začátku - včetně lexer, parser a backend.
Kód nwcc je napsán v C.
Tato verze není určena pro vážné použití, ale alespoň nwcc je dostatečně silný, aby sestavit sám (výsledek, který může sestavit nwcc také), a měly by tedy být schopné vypořádat s alespoň některých malých programů. Tam jsou ještě některé věci chybí / rozbité, ale věci se zlepšují téměř každý den (I nahrát své změny SF, když jsem přidat / opravit něco zajímavého.)
To vyžaduje hodně práce, aby si i podmnožinu jazyka C sestavit, takže skutečnost, že něco chybí nebo udělal špatně v nwcc, neznamená, že je mi jedno, o této konkrétní oblasti jazyka C nebo překladačů ; To znamená jen to, že jsem se nedostal k dělat to správně, nebo dokonce vůbec, přesto
Vlastnosti :.
- Existují některé jazykové C funkce chybí; Nejvíce pozoruhodně podporu s plovoucí desetinnou čárkou, Bitová pole a pár dalších věcí. Mnoho dalších věcí jsou rozbité (pravděpodobně existují chyby v skoro všechny funkce jazyka realizuje nwcc)
- Neexistují žádné vybaven napájecí developer používá k zavedených tradičních překladačů by uvažovat o zajímavý, ale (na rozdíl od, možná, funkce ochrany zásobníku). Omlouváme se. Na tom není nic než obyčejný hloupý sestavování; Žádná podpora pro vytváření sdílených knihoven, žádná podpora pro ladění a profilování, prostě nic
- V současné době je jen backend pro 80x86 procesory (který generuje kód pro NASM Netwide Assembler a pracuje na Linuxu, FreeBSD a OpenBSD)
- Neexistuje žádný optimalizace, což znamená, vygenerovaného kódu je velmi pomalá ve srovnání s výstupem zavedených překladačů. Budu pracovat na tom brzy, ale měli byste pochopit, že moje hlavní starostí teď je kód správnost a přenosnost, spíše než rychlost (je to dost těžké, aby se pomalu kód fungovat!)
Co je nového v této verzi:
- Tato verze opravuje několik (opravdu není příliš mnoho!) všeobecné a PIC specifické chyby, které nastaly při kompilaci Tcl a mksh.
Co je nového ve verzi 0.7.8:
- Tato verze přidává podporu pro Mac OS X na x86 a AMD64, a NetBSD na systémech x86. Různé nezávislé na platformě chyby byly také opraveny.
Co je nového ve verzi 0.7.7:
- Tato verze přidává podporu pro Linux / PPC64 a opravy mnoho PPC-specifické chyby.
Komentáře nebyl nalezen