Size: a a a

2019 December 25

AP

Anton Petrusevich in Modern::Perl
Vasily Terkin
Это трансляция с одного диалекта жс в другой
220 входит, 12 выходит
источник

VG

Vadim Goncharov in Modern::Perl
на остальное гудит (с)
источник

AP

Anton Petrusevich in Modern::Perl
Vasily Terkin
Это трансляция с одного диалекта жс в другой
transcompiler or transpiler is a type of compiler
источник

VG

Vadim Goncharov in Modern::Perl
Vasily Terkin
А транспиляция? :)
эпилция транссексуалов?
источник

VT

Vasily Terkin in Modern::Perl
Почти
источник

AP

Anton Petrusevich in Modern::Perl
эпиляция трансформаторов
источник

AP

Anton Petrusevich in Modern::Perl
Vadim Goncharov
руби до второй версии был чистым интерпретатором, тормозным очень
если речь о том, что не было компиляции в байткод для внутренней виртуальной машины, то, по сути, это просто замедление процесса интерпретации.
источник

AP

Anton Petrusevich in Modern::Perl
т.е. сорц -> байткод -> интерпретация байткода  вм -> интерпретация маш. кодов вм процессором. если убрать байткод и вм, то получится си. если их не просто убрать, а заменить на тормозную интерпретацию, то руби до версии два.
источник

AP

Anton Petrusevich in Modern::Perl
а транспайлеры ещё сверху на сорец накидывают слой
источник

AP

Anton Petrusevich in Modern::Perl
Andrey Konovalov
Был даже трснспайлер из перла в Си. Тем не менее, я под компиляторами подразумеваю то, что производит машинный код под аппаратные архитектуры, что было понятно из контекста.
Всё, что исходит из концепции "пока ещё нет аппаратной реализации машины, исполняющей байт-код, "скомпилированный" из программы на языке X, но мы запустим поверх настоящего процессора "виртуальный" " - в общем, я это не могу считать полноценными компиляторами.
Плюс не очень понятна в контексте компилируемости концепция произвольного eval'а во время рантайма. Ну т.е. для этого нечто должно компилировать во время исполнения.
Относительно компилируемого LISP'а, не скажу, надо изучить этот вопрос. Но там ведь тоже концепция LISP-машины вроде
на счёт рантайм-евала. ещё в школьные годы один знакомый давал людям в текстовом окошке вводить мат. формулы, а затем формировал программу на си для них, компилировал и запускал в фоне. вполне рантайм-евал.
источник

VG

Vadim Goncharov in Modern::Perl
ну не рантайм
источник

AP

Anton Petrusevich in Modern::Perl
как не рантайм? он же это из основной программы делал
источник

AP

Anton Petrusevich in Modern::Perl
по результатам расчётов графики рисовал
источник

AP

Anton Petrusevich in Modern::Perl
просто системный компилятор си выступал евалом
источник

AP

Anton Petrusevich in Modern::Perl
в бсд юниксах тогда си был обязательным
источник

AP

Anton Petrusevich in Modern::Perl
а вот ещё прикольная относительно современная фишка про евал: https://docs.oracle.com/javase/9/docs/api/jdk/jshell/package-summary.html
источник

VG

Vadim Goncharov in Modern::Perl
Anton Petrusevich
как не рантайм? он же это из основной программы делал
ну он же не ей это делал
источник

VG

Vadim Goncharov in Modern::Perl
давай еще отправку исходника REST-запросом на сервис, возвращающий резальт, рантайм-эвалом назовём
источник

OP

Oleg Pronin in Modern::Perl
В перле нет компиляции ни до 5.12 ни после. То что вы называете компиляцией лишь стадия лексического разбора и формирования ast дерева в памяти а затем его линеаризация и оптимизация. Рантайм его интерпретирует.
«Компайл тайм» блоков begin, к компиляции никакого отношения не имеет. Это лишь одна из двух фаз исполнения линейного кода (одновременно с парсингом). В перле можно в рантайме менять любые коды (вплоть до произвольной части любого экспрешена любой функции (из самого языка этого интерфейса нет)). Ровно потому что коды никуда не компилируются) они лишь представляются в виде линеризованного списка неких структур.
источник

AS

Alexey Stavrov in Modern::Perl
Anton Petrusevich
кто говорит, что компиляция во внутренний байткод — не компиляция, что вы думаете про jvm?
Хорошо, тогда железо интерпретирует машинный код, на котором сделан интерпретатор перла, поторый в свою очередь интерпретирует код байтокода.
Как-то сложновато, чем просто интерпретировать машинный код.

Формально это всё компиляцией может называться, но как правило люди под компиляцией имеют ввиду преобразование в машинный код.
Поэтому считаю правильным либо избегать слова копиляция, либо явно писать, что под компиляцией вы имеете ввиду, к примеру, транспиляцию или компиляцию в машинный код или в байт-код.

Поэтому для меня всё, что не компилирует в машинный код, называется трансляцией, транспиляцией, интерпретацией (может быть есть ещё какие-то слова).
источник