Это своего рода "ооооооооооооо, как это может работать ???" - но я думаю, что вы описываете явление, известное как «хостинг»:
Языки (или наборы инструментов / платформы) не начинаются как самостоятельные хосты - они начинают жизнь с того, что построены на существующей платформе: в определенный момент они становятся достаточно функциональными, чтобы позволить писать программы, которые понимают синтаксис в котором оно написано.
В классической книге AWK есть замечательный пример, который представляет программу AWK, которая может анализировать (сокращенную версию в том виде, в каком она происходит) другие программы AWK: см. Ссылку ниже.
В книге «Красивый код» есть еще один пример, в котором есть программа Javascript, которая может анализировать Javascript.
Я думаю, что следует помнить об этом - если у вас есть, скажем, JVM, написанная на Java, которая может выполнять Java-байт-код: JVM, которая запускает саму Java JVM, должна быть размещена изначально (возможно, эта JVM написана в 'C', а затем скомпилирован в машинный код): это верно в любом случае для программы, размещающей сам себя, в конце концов - где-то вдоль линии.
Так что загадка удалена - потому что в какой-то момент есть программа с машинным кодом, работающая ниже всего.
Это своего рода эквивалент способности описывать английский (и т. Д.) Язык, используя сам английский язык .... возможно ...
http://www.amazon.co.uk/AWK-Programming-Language-Alfred-Aho/dp/020107981X/ref=sr_1_fkmr0_3?ie=UTF8&qid=1266397076&sr=8-3-fkmr0
http://www.amazon.co.uk/gp/search/ref=a9_sc_1?rh=i%3Astripbooks%2Ck%3Abeautiful+code&keywords=beautiful+code&ie=UTF8&qid=1266397435
http://en.wikipedia.org/wiki/Self-hosting