Языки, подобные, например. Ruby (если выполняется MRI, я имею в виду, что не компилируется в байт-код), выполняется фактически анализируется каждый раз, когда требуется выполнение, например, метода или тела цикла? Я имею в виду, чтобы выполнить цикл, вам нужно проанализировать его тело N раз?Что означает, что язык «интерпретируется»?
Я просто думал, что все эти программы разобраны один раз в бутстрапе, преобразованные в «строго типизированное» дерево выражений и т. Д. Не правда ли?
«они используют некоторое промежуточное представление (вы можете видеть его красиво, когда хотите писать C-расширения для него)» - считая, что он хранится в памяти, что могло бы выглядеть так? – Bubba88
Для оригинальной реализации, написанной на C, это серия структур, называемая «VALUE». Вот немного проницательности: http://www.rubyinside.com/how-to-create-a-ruby-extension-in-c-in-under-5-minutes-100.html – LukeN
«Пока не используется байт-код в оригинальная реализация (или они уже мигрировали?) «Официальный интерпретатор Ruby использует байт-код с версии 1.9. – sepp2k