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

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

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

11 ответов

15 просмотров

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

Так же как 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. Просто нужно понять, что языки пишут не под процессоры, а под виртуальные машины, а реализована эта ВМ программно или аппаратно - это другой вопрос

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта