Форум программистов, компьютерный форум, киберфорум
Наши страницы
Lua
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
DCNick3
4 / 4 / 6
Регистрация: 03.05.2014
Сообщений: 101
1

Портирование lulu на Lua 5.2

31.01.2016, 18:50. Просмотров 558. Ответов 4
Метки нет (Все метки)

Значит вытащил я из недр интернета проект lulu. Виртуальная машина Lua, написанная на Lua. Написана она под Lua 5.1.
А мне вот приспичило её запустить на Lua 5.2. Внешне изменений мало, а под капотом - завались. Ну что же, новый формат чанков я читать её научил, опкоды поправил. Единственное с чем проблема возникла - upvalues. Что это такое более-менее разобрался. Но дело в том что теперь в этих upvalues хранится и окружение (раньше это было поле прототипа). С этим я вообще увяз, намудрил и запутал. Если кто-то поможет буду очень рад.

Прикреплю lulu мой и оригинальный, и сырцы lua на всякий пожарный.
0
Вложения
Тип файла: zip lulu+lua.zip (678.3 Кб, 4 просмотров)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.01.2016, 18:50
Ответы с готовыми решениями:

LUA + C++
Привет всем :) я чото не понимаю чо у меня выевляется ошибки luaavg.obj...

*.lua in *.exe
Кто знает как скрипт на луа компилить в исполняемый файл, подскажите, хочу...

Плагин на Lua
Я не программист и всего чуток разбираюсь в Lua, поэтому все манипуляции с...

Lua script
Расшифруйте пожалуйста

Быстродействие Lua
Мне не раз приходилось видеть, что ядро програмы написано на С++, а...

4
ProgJ
87 / 85 / 10
Регистрация: 20.11.2008
Сообщений: 724
01.02.2016, 08:49 2
вряд ли это будет кому-то интересно. Разве только, чтоб разобраться в устройстве Lua
Зачем нужна виртуальная машина, которая на два порядка медленнее стандартной?
Проект не обновлялся 7 лет и если его переписывать, то почему не на последнюю версию Lua?
0
DCNick3
4 / 4 / 6
Регистрация: 03.05.2014
Сообщений: 101
07.02.2016, 23:23  [ТС] 3
Цитата Сообщение от ProgJ Посмотреть сообщение
почему не на последнюю версию Lua
Потому что гладиолус последняя версия Lua не поддерживается той конечной машине, для которой вся эта канитель затевалась.
А вот во внутреннем устройстве можно как раз разобраться. Я немного это дело покапал. И в итоге заступорился на TAILCALL да и CALL тоже. Мне кажется, что в lulu было много костылей реализация отличалась от реализации в оригинальной lua. Мне вот еще более крутыми костылями удалось её хоть как-то запустить. Но там не правильно работали UPVALUES и (как я сейчас понял) не всегда заведётся она. [плавный переход в оффтоп]

Не по теме:

Вот какой их чёрт побрал удалять свойство _ENV у функции и пихать всё это в upvalues?! И как (традиционное российское блюдо) оно работает?! Как вызываются эти чанки?!

...
Гениально, надо искать в сырцах. Придётся этим опять занятся....
[/КрикДуши]
0
ProgJ
87 / 85 / 10
Регистрация: 20.11.2008
Сообщений: 724
08.02.2016, 00:25 4
Если я правильно понял, у вас есть что-то, чему вы хотите скормить lulu, чтобы дальше кормить не на прямую, а через lulu. А зачем?
0
DCNick3
4 / 4 / 6
Регистрация: 03.05.2014
Сообщений: 101
10.02.2016, 10:22  [ТС] 5
Цитата Сообщение от ProgJ Посмотреть сообщение
Если я правильно понял, у вас есть что-то, чему вы хотите скормить lulu, чтобы дальше кормить не на прямую, а через lulu. А зачем?
Именно. А нужно это для получения относительно честной многозадачности.
0
10.02.2016, 10:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.02.2016, 10:22

Учебник по Lua
Добрый день! Подскажите пожалуйста хороший учебник по Lua на русском или...

Lua 5.3 и LuaJit
Возможно ли совместить subj в проекте одновременно? Требуется часть скриптов...

Кириллица из Lua в C#
Добрый день, друзья! Начинаю знакомство с Lua. Столкнулся с проблемой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru