Search found 217 matches

by akron1
Mon Oct 07, 2019 3:01 pm
Forum: HLL
Topic: Компилятор Oberon-07
Replies: 125
Views: 121648

Re: Компилятор Oberon-07

Компилировать просто, так же как и для Windows или Linux, только параметр командной строки отличается: Если компилировать из самой KolibriOS, то надо взять последнюю ночную сборку, запустить приложение RUN (главное меню -> запуск программы) и набрать: путь к компилятору, путь к главному модулю, пара...
by akron1
Mon Mar 11, 2019 12:28 pm
Forum: HLL
Topic: Компилятор Oberon-07
Replies: 125
Views: 121648

Re: Компилятор Oberon-07

Ну что ж, проект KolibriOS, ожидаемо, завершился, но я всё же заменил старый компилятор в дистрибутиве на новый. Компилятор переехал на x86_64, но поддержка x86_32 сохраняется: 64-битная версия производит как 64-, так и 32-битный код; 32-битная -- только 32-битный. Качество кодогенерации примерно со...
by akron1
Sat Dec 08, 2018 9:20 am
Forum: HLL
Topic: Компилятор Oberon-07
Replies: 125
Views: 121648

Re: Компилятор Oberon-07

Однако, трап при отсутствии нужного варианта не предусмотрен в лангрепорте по О7. Это так, но многие реализации считают иначе. В принципе, можно сделать трап отключаемым. А прервать цикл можно присвоением итератору цикла, ибо The for statement FOR v := beg TO end BY inc DO S END is, if inc > 0, equ...
by akron1
Fri Dec 07, 2018 3:08 pm
Forum: HLL
Topic: Компилятор Oberon-07
Replies: 125
Views: 121648

Re: Компилятор Oberon-07

Ещё один вопросец. Вот у тебя в документации "Глобальные и локальные переменные инициализируются нулями" А как быть с теми переменными которые должны инициализироваться определёнными значениями, а не нулём? Планируется ли как-то решать эту проблему? Это конечно если я всё правильно понима...
by akron1
Fri Dec 07, 2018 11:44 am
Forum: HLL
Topic: Компилятор Oberon-07
Replies: 125
Views: 121648

Re: Компилятор Oberon-07

Когда я впервые прочитал описание O7, я удивился отсутствию операторов прерывания циклов и возврата из процедуры. Я даже перечитал описание, думая, что может быть я это пропустил или не так понял. Мне казалось, что на таком языке совершенно невозможно программировать. И потребовалось написать десятк...
by akron1
Thu Nov 08, 2018 1:35 pm
Forum: HLL
Topic: Компилятор Oberon-07
Replies: 125
Views: 121648

Re: Компилятор Oberon-07

Я перестроил компилятор на генерацию машинного кода с формированием исполняемых файлов (PE и MENUET01). FASM больше не нужен. Генерация obj-библиотек пока не поддерживается. Размер машинного кода стал на 15% больше (сжатый на 5%), потому что компилятор пока генерирует длинные команды переходов там, ...
by akron1
Wed Oct 24, 2018 11:59 am
Forum: HLL
Topic: Компилятор Oberon-07
Replies: 125
Views: 121648

Re: Компилятор Oberon-07

Тогда "кроссплатформенный" код главного модуля будет выглядеть так: MODULE program; IMPORT C := Console, In, Out; BEGIN C.open; C.exit(TRUE) END program. Это вполне хороший вариант. Я просто думал, как бы так сделать, чтобы поменьше вызывать лишнего. Пока сделал так. Теперь можно не вызыв...
by akron1
Tue Oct 23, 2018 7:02 pm
Forum: HLL
Topic: Компилятор Oberon-07
Replies: 125
Views: 121648

Re: Компилятор Oberon-07

Ну а финализацию куда всунуть? Я так думаю, что инициализация и финализация консоли должны быть в одном модуле. Я выбрал модуль Console . Другое дело, что Console.open фактически не нужно вызывать в Windows , а In.Open и Out.Open не нужны в KolibriOS ( In.Open , правда, инициализирует переменную Don...
by akron1
Fri Oct 19, 2018 3:33 pm
Forum: HLL
Topic: Компилятор Oberon-07
Replies: 125
Views: 121648

Re: Компилятор Oberon-07

END , конечно, не очень красиво. Хотя, можно сделать (опционально): PROCEDURE [winapi, "kernel32.dll", "CloseHandle"] CloseHandle* (hObject: INTEGER): INTEGER; END CloseHandle; Сделано. Будет ли возможность собрать те примеры(Projects.7z ) Да, я поставлю заглушки для Windows Con...
by akron1
Thu Oct 18, 2018 5:09 pm
Forum: HLL
Topic: Компилятор Oberon-07
Replies: 125
Views: 121648

Re: Компилятор Oberon-07

END , конечно, не очень красиво. Хотя, можно сделать (опционально): PROCEDURE [winapi, "kernel32.dll", "CloseHandle"] CloseHandle* (hObject: INTEGER): INTEGER; END CloseHandle; Будет ли возможность собрать те примеры(Projects.7z ) Да, я поставлю заглушки для Windows Console.open...
by akron1
Thu Oct 18, 2018 12:40 pm
Forum: HLL
Topic: Компилятор Oberon-07
Replies: 125
Views: 121648

Re: Компилятор Oberon-07

Я пока плохо представляю, как работает статическая линковка. Если будет время и желание, то может быть сделаю раздельную компиляцию с последующей линковкой. Но видимо нескоро. Сейчас мне это кажется довольно сложным. Теперь подсветка в HippoEDIT "поехала". Если есть какие-либо идеи, то мож...
by akron1
Thu Oct 18, 2018 7:55 am
Forum: HLL
Topic: Компилятор Oberon-07
Replies: 125
Views: 121648

Re: Компилятор Oberon-07

Кроссплатформенные примеры скоро будут.
А чем ".obj" не устраивает? MS COFF, вроде бы... Чтобы было понятно о чём речь и как это сделать, нужен пример такого файла на FASM.
by akron1
Wed Oct 17, 2018 2:12 pm
Forum: HLL
Topic: Компилятор Oberon-07
Replies: 125
Views: 121648

Re: Компилятор Oberon-07

Еще небольшое обновление: - Сделан автозапуск FASM (путь указывается в Compiler.ini). - В параметрах требуется указывать имя результирующего файла. - Регистр в имени файла главного модуля больше не имеет значения. - "Строки" можно заключать также в одиночные кавычки: 'строка'. Репозиторий ...
by akron1
Mon Oct 15, 2018 7:40 am
Forum: HLL
Topic: Компилятор Oberon-07
Replies: 125
Views: 121648

Re: Компилятор Oberon-07

Leency , 1) Там есть зависимость от регистра: если написано "MODULE Dialogs", то имя файла должно быть Dialogs.ob07 и при запуске из командной строки тоже ".../Dialogs.ob07 kos" (а не dialogs.ob07). Возможно, это следует пофиксить. 2) Компилировать прямо из файлового менеджера в...
by akron1
Sat Oct 13, 2018 7:28 am
Forum: HLL
Topic: Компилятор Oberon-07
Replies: 125
Views: 121648

Re: Компилятор Oberon-07

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