Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Сб фев 24, 2018 1:19 am

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




Начать новую тему  Ответить на тему  [ 18 сообщений ]  На страницу Пред. 1 2
Автор Сообщение
 Заголовок сообщения: Re: BASIC
СообщениеДобавлено: Ср мар 22, 2017 6:31 pm 
Не в сети

Зарегистрирован: Вт мар 08, 2016 11:00 pm
Сообщения: 284
В архиве есть бинарник без расширения. Исполняемые файлы начинаются с заголовка MENUET или упакованные KPCK


Вернуться к началу
 Заголовок сообщения: Re: BASIC
СообщениеДобавлено: Сб янв 27, 2018 1:43 am 
Не в сети

Зарегистрирован: Вт мар 08, 2016 11:00 pm
Сообщения: 284
Поправил баг с BackSpace, заодно сделал тестовые описания ошибок и теперь TinyBasic можно компилировать gcc/newlib или tinyc

Бинарник и руководство приложены.

Этот бейсик совсем простой - учебный - поддерживает только однобуквенные целочисленные переменные.

Статус других вариантов бейсика:
- Freebasic. Тема тут
Продвинутый диалект, но только кросскомпиляция и нужно на встроенном ассемблере писать библиотеку системных вызовов для Колибри

- Basic for MenuetOS. Ссылку давал Wildwest
По сути это транслятор BASIC->ASM, и тоже без библиотеки.
Только кросскомпиляция, но легко при желании портировать.
Диалект странный, документации по нему нет.


Вложения:
tinybasic.zip [51.94 КБ]
2 скачивания
Вернуться к началу
 Заголовок сообщения: Re: BASIC
СообщениеДобавлено: Чт фев 01, 2018 12:55 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1106
Siemargl писал(а):
- Freebasic. Тема тут
Продвинутый диалект, но только кросскомпиляция
При отсутствии нормального редактора внутри KolibriOS это пока что остаётся единственным разумным вариантом и не только для FreeBasic.
Siemargl писал(а):
нужно на встроенном ассемблере писать библиотеку системных вызовов для Колибри
Теоретически, может и не нужно, так как существует KolibriOS.Lib (можно взять из темы Delphi7 examples viewtopic.php?f=33&t=3469), нужны лишь объявления системных функций, подобно тому как это сделано для UASM\JWasm(viewtopic.php?f=32&t=3583), GoAsm(viewtopic.php?f=32&t=3579), TASM32(viewtopic.php?f=32&t=3565&p=69113#p69113), C--(viewtopic.php?f=33&t=495&start=180#p69064).

Сам я не пробовал FreeBasic+KolibriOS.Lib, но на практике могут возникнуть проблемы с манглингом
Цитата:
FB follows the GCC (GNU Compiler Collection) standards when mangling symbols, and because both statically and dynamically libraries must be supported (what neither PB or VB allows), every standard-call name is mangled with the @n suffix.

MS' choice was to mangle only the import library (the *.dll.a files in [fb-dir]/lib/win32) but leaving the DLL symbols unmangled, but LD (the GNU linker) doesn't follow that.

So, in short, if a DLL has no import library to be used by a C compiler, you have create one using pexports + dlltool. Now, if it follows the MS standard, then you will have to edit the .def file and add the mangling by hand like "foo = foo@12\nbar = bar@4", not a fun task..

In 0.17 you can create DLL's that are compatible with the MS mangling to be used in VB or PB, by passing a command to LD through FB when building the dll: "fbc mydll.bas -dll -Wl --kill-at".
Хотя, возможно, в более новых версиях FreeBasic что-то могло измениться в лучшую сторону.


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

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


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

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


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

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