Best viewed with LeechCraft on Microsoft Linux. Войти !bnw Сегодня Клубы

Только поковыряв какой-нибудь транслятор Бейсика, до конца осознаёшь, насколько это очароватеьлно идиотский язык.

Рекомендовали: @stiletto
#2FTL2G / @dluciv / 3585 дней назад

(я на самом деле с нетерпением ожидаю продолжения истории и подробностей)
#2FTL2G/IB9 / @stiletto / 3585 дней назад
@stiletto Спасибо =). Как ни странно, это продолжение #9ESVPY. Есть несколько дурацких программ на бейсике, которые в детстве и в юности писали я и ещё несколько таких же старых пердунов, тогда моих одноклассников. Некоторые ещё на Спектруе, некоторые уже на PC. Есть не очень сильное желание их запустить в браузере, причём, поскольку тексты программ в каком-то смысле можно назвать реликвией (говно конечно, но выдержанное), то портануть их не покатит, если какие-то преобразования выполнять, то только полностью автоматически и над текстом целиком. Иначе результат нельзя считать подлинным. Изучая разные варианты, я, в том числе, потрахался и с имитацией блокирующего ввода и вывода. Сразу скажу, сто сопроцедуры в JavaScript 1.7 помогают, но всё равно они слишком слабые. В итоге более или менее красиво можно сделать на данный момент только при помощи виртуальной машины, которая переходит при ожидании ввода в неблокирующую паузу, как здесь: http://stevehanov.ca/blog/index.php?id=92 Но тут как-то всё слишком кустарно сделано. Запускать кустарщину при помощи кустарщины -- уже перебор. Тем не менее, вариант написать милипизерный конвертор старого синтаксиса бейсика к тому, который понимает эта фиговина -- один из рабочих. Можно конечно плюнуть на всё и жрать JSLinux, но это будет слишком толсто.
#2FTL2G/Q1O / @dluciv --> #2FTL2G/IB9 / 3585 дней назад
@dluciv Да, а Emscripten рассматривался потому, что FreeBasic умеет печатать LLVM.
#2FTL2G/49R / @dluciv --> #2FTL2G/Q1O / 3585 дней назад
@dluciv Ну вот видите, ничего интересного =D
#2FTL2G/IBW / @dluciv --> #2FTL2G/Q1O / 3585 дней назад
@dluciv На самом деле можно поковырять повнимательнее вот это: http://sharpc.livejournal.com/75856.html: /После завершения первой недели декомпиляции я вдруг сообразил, что у меня в руках почти 200 килобайт синхронного кода, в котором вызываются ReadKey, что не очень совместимо с асинхронной событийной моделью JavaScript. triampurum предложил переписать это с использованием Continuation-Passing Style, но 124 точки асинхронности и 150 функций меня от этого отговорили./ Не дурак же делал (и сама игрушка про и от не дураков, которые учились на год старше меня там же, где и я).
#2FTL2G/0WP / @dluciv --> #2FTL2G/Q1O / 3585 дней назад
@dluciv Ох. Он там делает вообще жесть: запускает программу, по ReadKey() выдаёт исключение и выходит в идл. А затем, получив кнопку, проигрывает программу с начала. Со всеми уже нажатыми кнопками и одной новой. С самого начала блядь! И, что самое ужасное, говорит, что мощности совреенных браузеров на это хватает.
#2FTL2G/ATR / @dluciv --> #2FTL2G/0WP / 3585 дней назад
Вообще конечно то, что Бейсик -- соверсшенно не структурный язык (он эволюционировал в сторону структурности, но по-прежнему поддерживает и провоцирует всякую херь типа GOTO в середину цикла), делает попытки транслировать его во что-то структурное довольно интересной задачей. Страшнее только КОБОЛ и ПЛ/I... Как ни странно, continuation passing style может, по идее, помочь и здесь...
#2FTL2G/QKM / @dluciv / 3583 дня назад
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

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