Ш̴̴̜̥͍͕̼̙̱͙͎͍̘̀̐̔́̾̃͒̈̔̎́́͜р̧̛̺͖͖̯̖ͧͤ͋̅̽ͧ̈̐̽̆̐͋ͤͦͬ͛̃̑͞͞и̒ͥͤͯ͂ͣ̐̉̑ͫ̉̑҉̛͏̸̻͕͇͚̤͕̯̱̳͉ͅф̴̴̡̟̞͙̙̻͍̦͔̤̞̔̓́̍͗̚͢͞ͅт̨̐ͫ̂͊̄̃ͥͪ͏̫̺͍̞̼͈̩̥̜͔͜͜ы̸̴̱̺̼̠̦͍͍͍̱̖͔̖̱͉̅͑͌͒ͫ͒̀ͥ͐ͤ̅͘̕.̵̴̡̭̼̮͖͈̙͖͖̲̮̬͍͙̼̯̦̮̮ͦ̆̀̑̌ͮͧͣͯ̔̂́͟г͌ͮ̏̈͂ͯ̚҉̛̙̬̘̲̗͇͕̠̙͙̼̩͚̀͘͞ͅо̷̥̯̘̓ͤ̽͒̋̉̀̂̄̒̓̊ͨ͛́̌ͤ̂̀͠в̶̒͒̓̏̓̚҉̛̙̘̺̰̮̼̟̼̥̟̘̠̜͜н̸̷̸̲̝͈͙̰̟̻̟̰̜̟̗͎̻̻͍̿̔̃ͨ͑о̔̀̋ͫ̇̿̐ͫ͌͗ͩ҉̨̜̙̙͈͍̮̮̼̙̘̞̕͜͡ Войти !bnw Сегодня Клубы

http://www.teamten.com/lawrence/projects/turbo_pascal_compiler/
Реализация подмножества Turbo Pascal на JavaScript.
JavaScript, как известно, не экранирует от разработчика необходимость периодического возврата управления, и при этом никаких продолжений для простого решения этой проблемы в языке не предусмотрено, так что любой подобный проект в том числе подразумевает обход этих ограничений. В этой реализации сначала Pascal компилируется в p-code (причём, вроде бы аналогичный виртовскому), затем выполняется на виртуальной машине (Machine.js), которая после изчерпания лимита инструкций делает setTimeout и тем самым преодолевает ограничение JavaScript. Delay реализован корректно, выполнение виртуальной машины останавливается и продолжается через указанный интервал, а не через 0, как обычно, при изчерпании лимита инструкций. А вот ReadKey -- нет, его блокирующим ещё не сделали.

#3QHQ17 / @octagram / 3720 дней назад

че
#3QHQ17/OY4 / @krkm / 3720 дней назад
#3QHQ17/OHB / @krkm --> #3QHQ17/U4W / 3720 дней назад
@polecat управление куда? зачем что-то возвращать, если ассинхронность везде?
#3QHQ17/HX8 / @krkm --> #3QHQ17/HY7 / 3720 дней назад
@polecat ну юзай треды хули https://developer.mozilla.org/ru/docs/DOM/Using_web_workers где-то натыкался на либу для асинхронной математики, но мне такое ненужно и не запомнил >"страница хуйпизда повесила бовзер, прибить сраный жс? да/немедленно" в первый раз слышу про такое
#3QHQ17/5PJ / @krkm --> #3QHQ17/UTW / 3720 дней назад
@polecat >воркеры это не про то. тебе треды нужны или что? >лпп лисосос закукарекал
#3QHQ17/LBZ / @krkm --> #3QHQ17/X2M / 3720 дней назад
@polecat все с тобой ясно
#3QHQ17/QTT / @krkm --> #3QHQ17/UN3 / 3720 дней назад
@kurkuma В этих Workers, насколько я понимаю, даже sleep() нету. Не для того они были сделаны. Проблема изчерпания лимита инструкций -- частная, не самая важная. Генераторы сделаны на уровне функции, а не на уровне потока, и желательно не применять то, что ещё не везде работает, тем более, если это полумера.
#3QHQ17/K0J / @octagram --> #3QHQ17/5PJ / 3719 дней назад
@octagram в жс вообще нет слипа
#3QHQ17/GE1 / @krkm --> #3QHQ17/K0J / 3719 дней назад
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

Цоперайт © 2010-2016 @stiletto.