Malý-C - Small-C
Vývojáři | Ron Cain, James E. Hendrix |
---|---|
První vydání | 1980 |
Napsáno | Programovací jazyk C. |
Typ | Překladač |
Licence | Autorská práva, ale lze je sdílet |
Small-C je podmnožina programovacího jazyka C , vhodná pro mikropočítače a vestavěné systémy s omezeným zdrojem , a implementace této podmnožiny. Implementace, která byla původně cenná jako časný překladač pro mikropočítačové systémy dostupné na konci 70. a začátku 80. let, byla také užitečná jako jednoduchý příklad pro výukové účely.
Původní kompilátor, napsaný v Small-C pro Intel 8080 Ronem Cainem, se objevil v květnu 1980 v časopise Dr. Dobb's Journal of Computer Calisthenics & Orthodontia . James E. Hendrix vylepšil a rozšířil původní kompilátor a napsal příručku Small-C Handbook . Ron bootstrapped Small-C na SRI International PDP 11 /45 Unix systému s účtem poskytnutých John Bass pro vývoj malé C. Poskytnutý zdrojový kód byl uvolněn se svolením správy do veřejné domény . Small-C byl důležitý pro malé počítače způsobem, který byl poněkud analogický významu GCC pro větší počítače. Stejně jako jeho Unix protějšky, kompilátor generuje assembler , který pak musí být přeložen do strojového kódu pomocí dostupného assembler .
Small-C je retargetable kompilátor . Portování Small-C vyžaduje pouze přepsání generátoru kódu back-end a volání rozhraní knihovny do operačního systému pro cílový procesor.
Podmnožina jazyků
„V květnu 1980 publikoval Dr. Dobb's Journal článek s názvem„ Malý C kompilátor pro 80. léta “, ve kterém Ron Cain představil malý kompilátor pro podmnožinu jazyka C. Nejzajímavější vlastností kompilátoru kromě jeho malé velikosti byl jazyk, ve kterém byl napsán - ten, který kompiloval. Byl to kompilátor sám! (I když je to dnes běžné, v té době to byl docela nový nápad.) S jednoduchým jednoprůchodovým algoritmem vygeneroval jeho kompilátor montážní jazyk pro procesor 8080. Protože byl malý, měl však svá omezení. Rozpoznával pouze znaky, celá čísla a pole jedné dimenze obou typů. Jediným zařízením pro ovládání smyčky bylo prohlášení while. Nebyly tam žádné logické operátory, takže Místo toho byly použity bitové logické operátory & (AND) a | (OR). Ale i s těmito omezeními to byl velmi schopný jazyk a radost z používání, zejména ve srovnání s jazykem assembleru.
Ron si uvědomil potřebu zlepšení a povzbudil mě, abych vytvořil druhou verzi, a v prosinci 1982 se také objevila v časopise Dr. Dobba. Nový kompilátor rozšířil Small C o (1) optimalizaci kódu, (2) inicializaci dat, (3) podmíněné kompilace, (4) třídu externího úložiště, (5) příkazy for, do / while, switch a goto, ( 6) kombinované operátory přiřazení, (7) logické operátory, (8) operátor doplňku, (9) blokování lokálních proměnných a (10) různé další funkce. V roce 1984 jsme s Ernestem Paynem vyvinuli a vydali pro kompilátor běhovou knihovnu kompatibilní s CP / M. Skládalo se z více než 80 funkcí a zahrnovalo většinu funkcí ve standardní I / O knihovně UNIX C - ty, které se týkaly prostředí CP / M. Stala se verzí 2.1 a předmětem Malé příručky C. "
Viz také
- BDS C (1979) - C kompilátor pro systémy Z80 a 8080
- MISOSYS C (1985) - C kompilátor pro TRS-80 (CPU Z80)
- Tiny C (2002) - C kompilátor pro pomalé počítače x86 a ARM, které mají málo místa na disku
Varianty Small-C
- Z88DK - Cross Small-C implementace pro mikropočítače založené na Z80
- cc65 - Křížová implementace Small-C pro 6502 počítačů
- Deep Blue C - Nativní Small-C pro 8bitovou rodinu Atari
- AJTravis - Nativní Small-C pro BBC Micro
Reference
Poznámky
- Ron Cain, „Malý kompilátor jazyka C pro 80. léta“, Časopis Dr. Dobba , duben – květen 1980, s. 5–19
- James E. Hendrix, The Small-C Handbook , Reston 1984, ISBN 0-8359-7012-4
- James E. Hendrix, Malý C kompilátor: Jazyk, použití, teorie a design , M & T Books 1988, ISBN 0-934375-88-7
- James E. Hendrix, Small C Compiler , M & T Books 1990, ISBN 1-55851-124-5
externí odkazy
- Komentáře Rona Caina k vytvoření Small-C
- Několik implementací Small-C
- Nativní překladač pro počítač BBC
- Stažení iso-obrazu CDROM Dr. Dobba ze zdroje Small-C Resource