Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Ср ноя 22, 2017 12:22 am

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 124 сообщения ]  На страницу 1 2 3 4 59 След.
Автор Сообщение
 Заголовок сообщения: Python для KolibriOS
СообщениеДобавлено: Пт янв 21, 2011 10:02 am 
Не в сети
Аватара пользователя

Зарегистрирован: Вт авг 25, 2009 4:45 pm
Сообщения: 788
Портировано.

См - svn://kolibrios.org/programs/develop/tinypy


Вложения:
tinypy-1.1.tar.gz [39.68 КБ]
284 скачивания


Последний раз редактировалось XVilka Сб апр 09, 2011 7:22 pm, всего редактировалось 1 раз.
Вернуться к началу
 Заголовок сообщения: Re: Python для KolibriOS
СообщениеДобавлено: Пт янв 21, 2011 3:38 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Чт мар 01, 2007 4:16 pm
Сообщения: 426
Не вижу больших сложностей в переносе оригинальной ветки, CPython. Но зачем?

..bw


Вернуться к началу
 Заголовок сообщения: Re: Python для KolibriOS
СообщениеДобавлено: Пт янв 21, 2011 10:37 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Вт авг 25, 2009 4:45 pm
Сообщения: 788
по-моему как раз с основной веткой будут большие сложности - там очень много кода. Здесь весь код на си можно даже переписать используя замену вызовов libc и вывод команды gcc -masm=intel -S


Вернуться к началу
 Заголовок сообщения: Re: Python для KolibriOS
СообщениеДобавлено: Вс мар 13, 2011 1:06 am 
Не в сети
Аватара пользователя

Зарегистрирован: Ср авг 18, 2010 5:38 pm
Сообщения: 102
Появились первые успехи в портировании TinyPy:
Из ввода-вывода пока только печать на консоль через console.obj (код подключения библиотеки скопирован из shell).

Пример программы:
Спойлер: Показать
def my_func(greeting):
print(greeting, ", KolibriOS!")

if __name__=="__main__":
my_func("Hello")


При запуске спрашивает имя .py-файла с программой. Из-за проблем с передачей параметров в libc напрямую передавать имя программы пока нельзя.
Всех интересующихся прошу потестировать.

Оффтопик: Нужно ли упаковывать 7zip-ом исполняемый файл, если он уже упакован kpack-ом, и 7zip делает его только больше?


Вложения:
tinypy.7z [38.39 КБ]
180 скачиваний
Вернуться к началу
 Заголовок сообщения: Re: Python для KolibriOS
СообщениеДобавлено: Вс мар 13, 2011 9:50 am 
Не в сети

Зарегистрирован: Пн сен 24, 2007 11:11 am
Сообщения: 2814
Хорошая работа! HelloKolibri запустился :) Желаю успехов в продолжении разработки!
7z действительно только увеличивает размер файла, но на форуме запрещено размещение файлов с некоторыми расширениями, а 1 кб разницы в размере - не так уж и важно, я считаю.


Вернуться к началу
 Заголовок сообщения: Re: Python для KolibriOS
СообщениеДобавлено: Вт мар 15, 2011 10:45 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Ср авг 18, 2010 5:38 pm
Сообщения: 102
Спасибо на добром слове :)

Насчёт продолжения разработки - надо определиться с направлением. Хочется реализовать хотя бы часть стандартной библиотеки, и тут есть 2 варианта:

а) сделать доступным из программы на TinyPy вызов системных функций Колибри, и всю обвязку делать на питоне.
Достоинства: сохраняется малый размер интерпретатора, легче добавлять новые библиотеки.
Недостатки: программы на питоне становятся небезопасными; "тяжёлые" приложения будут тормозить.

б) всю стандартную библиотеку писать на C (или даже FASM).
Достоинства: меньший объём на диске (скомпилированные TinyPy-модули много занимают); скорость работы приложений.
Недостатки: всё это будет компилиться внутрь интерпретатора, и он будет расти в размере, что не согласуется с названием tiny.


Вернуться к началу
 Заголовок сообщения: Re: Python для KolibriOS
СообщениеДобавлено: Сб мар 19, 2011 12:09 am 
Не в сети
Аватара пользователя

Зарегистрирован: Вт авг 25, 2009 4:45 pm
Сообщения: 788
Я думаю золотая середина - самое то - "тяжелые" функции для оптимизации писать на си - а "легкие" на питоне


Вернуться к началу
 Заголовок сообщения: Re: Python для KolibriOS
СообщениеДобавлено: Чт мар 31, 2011 1:14 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Ср авг 18, 2010 5:38 pm
Сообщения: 102
Залил исходники на svn://kolibrios.org/programs/develop/tinypy.
Пример модуля расширения на C в комплекте, на FASM будет чуть позже.


Вернуться к началу
 Заголовок сообщения: Re: Python для KolibriOS
СообщениеДобавлено: Чт мар 31, 2011 8:29 pm 
Не в сети

Зарегистрирован: Пн сен 24, 2007 11:11 am
Сообщения: 2814
А как с модулями дела обстоят? Возможно ли собрать sys, zipfile и xml.dom.minidom? Тогда можно будет смотреть odt из Колибри с помощью odt2txt.py (можно затем перегонять markdown txt в html).


Вернуться к началу
 Заголовок сообщения: Re: Python для KolibriOS
СообщениеДобавлено: Чт мар 31, 2011 9:39 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Ср авг 18, 2010 5:38 pm
Сообщения: 102
С модулями дела обстоят, можно сказать, никак. :( Для sys нужна системно-зависимая подложка, которую нужно писать отдельно на C или FASM. TinyPy не поддерживает многие возможности языка, так что даже модули, написанные только на Python, сходу не заработают.
В первоочередных планах - поддержка работы с файлами и модуль ctypes для использования имеющихся dll.


Вернуться к началу
 Заголовок сообщения: Re: Python для KolibriOS
СообщениеДобавлено: Чт мар 31, 2011 11:18 pm 
Не в сети

Зарегистрирован: Пн сен 24, 2007 11:11 am
Сообщения: 2814
Понимаю. Похожая история с lua (может быть, немного получше) - текущая сборка не поддерживает библиотеки, кроме стандартных. Все сторонние библиотеки, которые хочется использовать, нужно линковать статически с базовой.
И всё же, удачи ;)


Вернуться к началу
 Заголовок сообщения: Re: Python для KolibriOS
СообщениеДобавлено: Сб апр 09, 2011 2:10 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Вт авг 25, 2009 4:45 pm
Сообщения: 788
Для добавления работы с XML - см. сюда viewtopic.php?f=24&t=1701

Для добавления работы с регулярными выражениями - см. сюда viewtopic.php?f=24&t=1700


Вернуться к началу
 Заголовок сообщения: Re: Python для KolibriOS
СообщениеДобавлено: Вс апр 10, 2011 10:51 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Ср авг 18, 2010 5:38 pm
Сообщения: 102
Почти разобрался, как писать к TinyPy модули на FASM. Уже есть пустой модуль, который только регистрируется, теперь учусь экспортировать функции. Процесс небыстрый, бо уж очень много хитростей в генераторе кода GCC.
Эх, вот бы ещё хоть одного питониста в проект...

XVilka, спасибо! Модуль re понадобится одним из первых, xml тоже будет нужен. Только их лучше бы сделать в виде dll-ек, чтоб использовать не только в питоне.


Вернуться к началу
 Заголовок сообщения: Re: Python для KolibriOS
СообщениеДобавлено: Вс апр 17, 2011 1:09 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Вт авг 25, 2009 4:45 pm
Сообщения: 788
Что-то не сообразил как собирать из сырцов, выложенных на свн. Кстати там файл mymain.c лишний


Вернуться к началу
 Заголовок сообщения: Re: Python для KolibriOS
СообщениеДобавлено: Вс апр 17, 2011 10:10 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Ср авг 18, 2010 5:38 pm
Сообщения: 102
Нужно собрать menuetlibc и в Makefile в MENUETDEV записать путь к ней. После этого сказать "make", получится бинарник tpmain. В общем, всё как в руководстве diamond'а. Единственно - нужно использовать libc из svn-а, а не из архива, в архиве нет функции vsnprintf().
Файл mymain.c действительно лишний.


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 124 сообщения ]  На страницу 1 2 3 4 59 След.

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB