169 похожих чатов

Как интерпретируемый язык может быть написан на самом себе (может,

но как он будет запустится)?
Ему же нужен будет интерпретатор.

11 ответов

4 просмотра

Смотри. Я беру такой и на луа пишу парсер луа кода, который делает байткод и начинает его выполнять )) Программа "сишного интерпретатора" будет запускать луа интерпретатор, который запустит программу на луа которая будет интерпретировать код на луа.

Так же как Golang написан на Golang.

Ну так интерпретировать грубо говоря можно любой язык на любом языке. Очевидно, что где-то в конце пути там всё равно сишка, но она отрабатывает по отношению к интерпретатору pypy как ВМ. Хотя и верно, что в конце концов ВМки раскрываются до сишной ВМ, которая в свою очередь исполняется на ВМ в виде тандема ОС/ЦПУ

Hello, World!- Автор вопроса
Snusmumriken
Смотри. Я беру такой и на луа пишу парсер луа кода...

Это понятно, я про то, что Python на Python ему для запуска нужен Python, смылс от этого.

Hello, World!- Автор вопроса
Hello, World!
Это понятно, я про то, что Python на Python ему дл...

Забавно , но реализация Pypy в N раз быстрее оригинала. Как то так.

Hello, World!- Автор вопроса
Re
Забавно , но реализация Pypy в N раз быстрее ориги...

Ну только если он компилирует программу

Re
Забавно , но реализация Pypy в N раз быстрее ориги...

Текущая реализация, потому что СЕЙЧАС pypy транслирует таки код на питоне в сишку и компилит. Считай что это самокомпилируемая реализация.

Hello, World!- Автор вопроса
Re
Так же как Golang написан на Golang.

Он тоже вроде компилируемый.

Hello, World!- Автор вопроса
Snusmumriken
Текущая реализация, потому что СЕЙЧАС pypy трансли...

Получается меня запутали. Написали блин, что интерпретатор Python на Python написали, я вот и думал зачем. А тут оказывается PyPy реализация Python транслирующаяся в си и компилирующаяся в машинный код.

Hello, World!
Получается меня запутали. Написали блин, что интер...

Ну так иерархия исполнения. Нет ничего удивительного в том, что Код луа/си транслировался в код ВМ1, тот в код ВМ2,...., а тот в автокод или выполнялся существующими порциями машкода, т.е. скомпилированной сишной ВМ. Более того так джава уже лет 20 живёт - Java -> байткод JVM -> собранная к машине JVM. Просто нужно понять, что языки пишут не под процессоры, а под виртуальные машины, а реализована эта ВМ программно или аппаратно - это другой вопрос

Похожие вопросы

Обсуждают сегодня

Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
55
Вопрос. Теоретический. Есть список команд. Команды отправляю в обработку некой функции, по очереди. Разные команды могут давать разные результаты после обработки. В зависимос...
Serjone
7
Привет, нужен совет старших товарищей. Есть глобальная переменная var DefaultDataFolder:string; инициализируем DefaultDataFolder:='a:\_OUT\'; есть примитивная процедур...
Max Otto
9
Всем вечера. Подскажите как лучше сделать. делаю на Д10 Например будет база данных на SQLite. в ней будет много таблиц. более 50шт Типа справочник. Содержать ID Name Id p...
Андрей Т 🐎
10
это группа токсиков или тех кто помогает?
Ибрагим
9
Я короче решил скомпилировать Nim в js, я думал он сработает как обычный транслятор. По итогу он мне создал файл с расширением js, и туда поместил кучу кода Вопрос, что это з...
𝕾𝖍𝖆𝖉𝖊 <suspense>
8
мы пытаемся подменить функцию, которая имеет меньше инструкций относительно функции, которой подменяем. https://www.reddit.com/r/jailbreakdevelopers/comments/w06ujy/mshookfun...
Óðinn
6
подскажите пожалуйста, как мне освободить результат записанный в переменную result? в чем проблема подскажите если МОЖЕТЕ?
Михаил Helper
28
Добрый день! Хочу спросить совета. Хочется в скрипт добавить некую конструкцию, что скрипт создал файл, который нужно потом скопировать в определенное место. Нашел такой сп...
Mikhail
4
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Карта сайта