Board.KolibriOS.org

Official KolibriOS board
It is currently Mon Sep 23, 2019 9:11 pm

All times are UTC+03:00


Search found 141 matches
Search these results:

Author Message

 Forum: HLL   Topic: Компилятор Oberon-07

Posted: Mon Mar 11, 2019 12:28 pm 

Replies: 109
Views: 26976


Ну что ж, проект KolibriOS, ожидаемо, завершился, но я всё же заменил старый компилятор в дистрибутиве на новый. Компилятор переехал на x86_64, но поддержка x86_32 сохраняется: 64-битная версия производит как 64-, так и 32-битный код; 32-битная -- только 32-битный. Качество кодогенерации примерно со...

 Forum: HLL   Topic: Компилятор Oberon-07

Posted: Sat Dec 08, 2018 9:20 am 

Replies: 109
Views: 26976


Однако, трап при отсутствии нужного варианта не предусмотрен в лангрепорте по О7. Это так, но многие реализации считают иначе. В принципе, можно сделать трап отключаемым. А прервать цикл можно присвоением итератору цикла, ибо The for statement FOR v := beg TO end BY inc DO S END is, if inc > 0, equ...

 Forum: HLL   Topic: Компилятор Oberon-07

Posted: Fri Dec 07, 2018 3:08 pm 

Replies: 109
Views: 26976


Ещё один вопросец. Вот у тебя в документации "Глобальные и локальные переменные инициализируются нулями" А как быть с теми переменными которые должны инициализироваться определёнными значениями, а не нулём? Планируется ли как-то решать эту проблему? Это конечно если я всё правильно понима...

 Forum: HLL   Topic: Компилятор Oberon-07

Posted: Fri Dec 07, 2018 11:44 am 

Replies: 109
Views: 26976


Когда я впервые прочитал описание O7, я удивился отсутствию операторов прерывания циклов и возврата из процедуры. Я даже перечитал описание, думая, что может быть я это пропустил или не так понял. Мне казалось, что на таком языке совершенно невозможно программировать. И потребовалось написать десятк...

 Forum: HLL   Topic: Компилятор Oberon-07

Posted: Thu Nov 08, 2018 1:35 pm 

Replies: 109
Views: 26976


Я перестроил компилятор на генерацию машинного кода с формированием исполняемых файлов (PE и MENUET01). FASM больше не нужен. Генерация obj-библиотек пока не поддерживается. Размер машинного кода стал на 15% больше (сжатый на 5%), потому что компилятор пока генерирует длинные команды переходов там, ...

 Forum: HLL   Topic: Компилятор Oberon-07

Posted: Wed Oct 24, 2018 11:59 am 

Replies: 109
Views: 26976


Тогда "кроссплатформенный" код главного модуля будет выглядеть так: MODULE program; IMPORT C := Console, In, Out; BEGIN C.open; C.exit(TRUE) END program. Это вполне хороший вариант. Я просто думал, как бы так сделать, чтобы поменьше вызывать лишнего. Пока сделал так. Теперь можно не вызыв...

 Forum: HLL   Topic: Компилятор Oberon-07

Posted: Tue Oct 23, 2018 7:02 pm 

Replies: 109
Views: 26976


Ну а финализацию куда всунуть? Я так думаю, что инициализация и финализация консоли должны быть в одном модуле. Я выбрал модуль Console . Другое дело, что Console.open фактически не нужно вызывать в Windows , а In.Open и Out.Open не нужны в KolibriOS ( In.Open , правда, инициализирует переменную Don...

 Forum: HLL   Topic: Компилятор Oberon-07

Posted: Fri Oct 19, 2018 3:33 pm 

Replies: 109
Views: 26976


END , конечно, не очень красиво. Хотя, можно сделать (опционально): PROCEDURE [winapi, "kernel32.dll", "CloseHandle"] CloseHandle* (hObject: INTEGER): INTEGER; END CloseHandle; Сделано. Будет ли возможность собрать те примеры(Projects.7z ) Да, я поставлю заглушки для Windows Con...

 Forum: HLL   Topic: Компилятор Oberon-07

Posted: Thu Oct 18, 2018 5:09 pm 

Replies: 109
Views: 26976


END , конечно, не очень красиво. Хотя, можно сделать (опционально): PROCEDURE [winapi, "kernel32.dll", "CloseHandle"] CloseHandle* (hObject: INTEGER): INTEGER; END CloseHandle; Будет ли возможность собрать те примеры(Projects.7z ) Да, я поставлю заглушки для Windows Console.open...

 Forum: HLL   Topic: Компилятор Oberon-07

Posted: Thu Oct 18, 2018 12:40 pm 

Replies: 109
Views: 26976


Я пока плохо представляю, как работает статическая линковка. Если будет время и желание, то может быть сделаю раздельную компиляцию с последующей линковкой. Но видимо нескоро. Сейчас мне это кажется довольно сложным. Теперь подсветка в HippoEDIT "поехала". Если есть какие-либо идеи, то мож...

 Forum: HLL   Topic: Компилятор Oberon-07

Posted: Thu Oct 18, 2018 7:55 am 

Replies: 109
Views: 26976


Кроссплатформенные примеры скоро будут.
А чем ".obj" не устраивает? MS COFF, вроде бы... Чтобы было понятно о чём речь и как это сделать, нужен пример такого файла на FASM.

 Forum: HLL   Topic: Компилятор Oberon-07

Posted: Wed Oct 17, 2018 2:12 pm 

Replies: 109
Views: 26976


Еще небольшое обновление: - Сделан автозапуск FASM (путь указывается в Compiler.ini). - В параметрах требуется указывать имя результирующего файла. - Регистр в имени файла главного модуля больше не имеет значения. - "Строки" можно заключать также в одиночные кавычки: 'строка'. Репозиторий ...

 Forum: HLL   Topic: Компилятор Oberon-07

Posted: Mon Oct 15, 2018 7:40 am 

Replies: 109
Views: 26976


Leency , 1) Там есть зависимость от регистра: если написано "MODULE Dialogs", то имя файла должно быть Dialogs.ob07 и при запуске из командной строки тоже ".../Dialogs.ob07 kos" (а не dialogs.ob07). Возможно, это следует пофиксить. 2) Компилировать прямо из файлового менеджера в...

 Forum: HLL   Topic: Компилятор Oberon-07

Posted: Sat Oct 13, 2018 7:28 am 

Replies: 109
Views: 26976


Делаю промежуточное обновление. Что нового: - Ложная реакция антивирусов значительно уменьшена, хотя и сохраняется, особенно для графических приложений (для консольных меньше). Исполняемый файл компилятора проходит тест на VirusTotal с результатом 0/67 (было 18/67 ). Для этого понадобилось сделать о...

 Forum: HLL   Topic: Общие вопросы по языку Си.

Posted: Wed Oct 03, 2018 5:30 pm 

Replies: 34
Views: 5090


Не всё так просто. В библиотеке libimg.obj есть функция lib_init, которая принимает 4 параметра в регистрах eax, ebx, ecx, edx (указатели на функции): eax = malloc ebx = free ecx = realloc edx = dll_load эту функцию надо вызвать до первого использования библиотеки. Причем, функция dll_load довольно ...
Sort by:  
Page 1 of 10 [ Search found 141 matches ]


All times are UTC+03:00


Jump to:  
Powered by phpBB® Forum Software © phpBB Limited