Article de reference

Petit-C

Small-C est à la fois un sous-ensemble du langage de programmation C , adapté aux micro-ordinateurs et aux systèmes embarqués aux ressources limitées , et une implémentation de ...

langage de programmation C , adapté aux micro-ordinateurs et aux systèmes embarqués aux ressources limitées , et une implémentation de ce sous-ensemble. Initialement précieux en tant que compilateur pour les premiers systèmes micro-informatiques disponibles à la fin des années 1970 et au début des années 1980, cet implémentation s'est également révélé utile comme exemple suffisamment simple à des fins pédagogiques.

Le compilateur original, écrit en Small-C pour l' Intel 8080 par Ron Cain, a été publié dans le numéro de mai 1980 du Dr. Dobb's Journal . James E. Hendrix a amélioré et étendu ce compilateur, et a écrit le manuel Small-C . Ron a installé Small-C sur le système Unix PDP 11/45 de SRI International grâce à un compte fourni par John Bass pour le développement de Small-C. Le code source fourni a été placé dans le domaine public avec l'autorisation de la direction . Small-C était important pour les ordinateurs de petite taille, d'une manière comparable à l'importance de GCC pour les ordinateurs plus puissants. Tout comme ses homologues Unix , le compilateur génère du code assembleur , qui doit ensuite être traduit en code machine par un assembleur disponible .

Small-C est un compilateur adaptable . Pour porter Small-C sur le processeur cible, il suffit de réécrire le générateur de code back-end et les appels d'interface entre la bibliothèque et le système d'exploitation.

les tableaux de ces types étaient restreints aux tableaux unidimensionnels. La seule boucle disponible était la boucle `while` . Les opérateurs booléens n'étaient pas inclus ; les instructions logiques devaient donc être réalisées avec les opérateurs binaires équivalents , parmi lesquels seuls `AND` et `OR` étaient fournis. La compilation s'effectuait en une seule passe sans optimisation, bien qu'il fût possible de fournir un optimiseur au compilateur.

Une seconde version du compilateur Small-C, désormais appelée version 2.1, a été développée ultérieurement par James E. Hendix. Cette version étendait Small-C avec de nombreuses fonctionnalités couramment utilisées en C. Le nouveau compilateur optimisait le code par défaut et autorisait les directives de préprocesseur pour la compilation conditionnelle . Parmi les fonctionnalités ajoutées figuraient les opérateurs booléens , les boucles `for` , les boucles `do while` , les instructions `switch` et les instructions `goto` . Cela permettait de programmer beaucoup plus près du C standard.

Rick Grehan a porté Small-C sur MS-DOS et Macintosh en 1988 pour une nouvelle version des benchmarks BYTE .