OVH Cloud OVH Cloud

Compilateur et implémentation

55 réponses
Avatar
azoulayi
Bonjour tout le monde,

Je suis à la recherche de code source d'un compilateur écrit en lex
et bison.
je voudrai avoir de la documentation sur la partie d'adressage
mémoire, sur la maniere d'implémenter l'allocation de mémoire (stack,
heap) et les structures de blocs dépendament de la machine

vous auriez des adresses de site concernant cela?

merci bien

5 réponses

2 3 4 5 6
Avatar
Gabriel Dos Reis
Vincent Lefevre <vincent+ writes:

| > Et si tu avais fait ton devoir de maison -- par exemple en demandant à
| > Google -- tu aurais eu des réponses.
| > Le premier lien que j'ai me donne
| >
| > http://www.accu.org/bookreviews/public/reviews/c/c000314.htm
| >
| > De manière assez surprenante, je m'aperçois que la documentation de la
| > glibc (avec laquelle je suis souvent en désaccord, pour d'autres
| > raisons) a la même position que moi -- elle décrit alloca comme
| > faisant de « automatic storage with variable size ».
|
| Cela ne contredit en rien ma position, qui est que "dynamic"
| regroupe les termes "automatic" et "allocated" du C (la norme
| C n'utilisant pas le terme "dynamic" pour le stockage).

Parce que

Dynamic allocation is not supported by C variables; there is no
storage class "dynamic", and there can never be a C variable whose
value is stored in dynamically allocated space.

n'est pas une contradiction flagrante de ta position ?

-- Gaby
Avatar
Antoine Leca
Emmanuel Delahaye écrivit:
In 'fr.comp.lang.c', Marc Boyer wrote:

Suite à de longues discussions entre OS, noyau, modules
sur fcol (de mémoire), on avait finit par converger vers le
fait que la libc faisait partie de ce que l'on nomme
communément OS (d'ou l'appellation "GNU/Linux" pour l'OS
et non juste "Linux").


Quelle hérésie! La partie standard de la libc fait partie de
l'implémentation du langage C qui est installée sur la machine.


Désolé mais non (dans le cas présent).
Et c'est bien tout le problème de Linux et autres Unix (qui
depuis vingt ans n'arrivent pas à sortir de C). Quoi que
dise le comité C.


Antoine


Avatar
Antoine Leca
Richard Delorme écrivit:
Suite à de longues discussions entre OS, noyau, modules
sur fcol (de mémoire), on avait finit par converger vers le
fait que la libc faisait partie de ce que l'on nomme
communément OS (d'ou l'appellation "GNU/Linux" pour l'OS
et non juste "Linux").


Comme Susv3 (la norme Unix) impose l'existence d'un compilateur C
^^^^^^

Sûr ?
Relis donc...

] On systems providing POSIX Conformance (see the Base Definitions
] volume of IEEE Std 1003.1-2001, Chapter 2, Conformance), c99 is
] required only with the C-Language Development option; XSI-conformant
] systems always provide c99.

« option » <=> pas imposé !


Antoine


Avatar
Antoine Leca
Marc Boyer écrivit:
Je me souviens d'un prof qui nous avais dit que le langage C avait
été développé pour pouvoir écrire Unix, sans avoir à tout recoder
à chaque changement d'assembleur.
Il sous-entendait assez fort qu'utiliser C pour faire autre chose
était une erreur historique qu'on se trainait depuis.


C'est vrai qu'utiliser C pour autre chose, au hasard (?) un système
de gestion ou une comptabilité, c'est pas top...

Maintenant, quand il s'agit d'écrire Windows NT ou Linux, ça se défend, non?

Antoine

Avatar
Gabriel Dos Reis
"Antoine Leca" writes:

| Maintenant, quand il s'agit d'écrire Windows NT ou Linux, ça se défend, non?

T'as pas droit de faire ça -- t'as une pénalité -5.

-- Gaby
2 3 4 5 6