L'amorçage nécessite encore de l'appui de l'extérieur

J'ai entendu parler de l'idée de "bootstrapping" une langue, c'est l'écriture d'un compilateur/interpréteur pour le langage en lui-même. Je me demandais comment cela pourrait être accompli et regarda un peu autour de lui, et vu quelqu'un dire qu'il ne pourrait être fait soit en

  • écrit un premier compilateur dans une langue différente.
  • main-codage initial compilateur dans l'Assemblée, ce qui semble être un cas particulier de la première

Pour moi, aucune de ces semblent effectivement être amorçage une langue dans le sens où ils ont tous deux besoin d'un appui externe. Est-il un moyen d'écrire un compilateur dans sa propre langue?

Je ne suis pas très expérimenté avec de telles choses, mais je suppose que le initiale compilateur devra être écrit dans une autre langue. Je suis assez certain que de "bootstrapping", en référence à des compilateurs, se réfère simplement à l'écriture de un compilateur pour un langage dans le langage, c'est censé compiler, ne pas écrire compilateur pour le langage dans la langue qu'il est destiné à compiler.
Merci pour l'info, tout le monde. Quand a expliqué à l'idée de d'abord l'écriture d'un limitées compilateur, puis monte sur le dessus de cela, alors l'idée de "bootstrapping" a plus de sens. Je vais prendre une Compilateurs de classe au cours de ce semestre, une décision largement influencée par la Steve Yegge post sur l'importance d'une classe dans les Compilateurs est, et je viens d'acheter une copie du Dragon livre à partir du lien Amazon qui a donc downmodded sur plus tôt.
Voir également la même question: la mise en Œuvre d'un compilateur en lui-même

OriginalL'auteur pbh101 | 2008-08-17