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