Форум программистов, компьютерный форум, киберфорум
Lua
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
4 / 4 / 6
Регистрация: 03.05.2014
Сообщений: 101
1

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

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

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

Прикреплю lulu мой и оригинальный, и сырцы lua на всякий пожарный.
Вложения
Тип файла: zip lulu+lua.zip (678.3 Кб, 4 просмотров)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.01.2016, 18:50
Ответы с готовыми решениями:

Lua наследование, lua ооп
Подскажите пожалуйста, как наследовать класс? Не получается выдаёт ошибку local car = {} --...

С++ портирование
Преобразовать строчные буквы (как латинские, так и русские) в прописные. uses crt; var ...

Портирование из Qt в С++
Перевести из Qt в VS C++: QFile base_data("./program_inf/base_data.txt");...

портирование
на сколько сложно портировать программу на c++ на разные платформы(windows, Linux, Mac OS) и...

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

Не по теме:

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

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

Портирование
Доброго времени суток :) Помогите пожалуйста с портирование задаси на яп си. Код мой на паскале:...

Портирование С++ -> С#
Доброго времени суток, помогите портировать выложенный ниже код: #define OFFSET 0x012705C4...

Портирование кода с С# на С++
Доброго времени суток! Помогите, пожалуйста, перевести на с++ такой код(желательно очень близко к...

Портирование кода
Добрый день, часто вижу, что при портировании кода с ПК версии до мобильной версии, вставляют...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru