Search found 217 matches
- Mon Oct 07, 2019 3:01 pm
- Forum: HLL
- Topic: Компилятор Oberon-07
- Replies: 125
- Views: 121648
Re: Компилятор Oberon-07
Компилировать просто, так же как и для Windows или Linux, только параметр командной строки отличается: Если компилировать из самой KolibriOS, то надо взять последнюю ночную сборку, запустить приложение RUN (главное меню -> запуск программы) и набрать: путь к компилятору, путь к главному модулю, пара...
- 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-битный. Качество кодогенерации примерно со...
- 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...
- Fri Dec 07, 2018 3:08 pm
- Forum: HLL
- Topic: Компилятор Oberon-07
- Replies: 125
- Views: 121648
Re: Компилятор Oberon-07
Ещё один вопросец. Вот у тебя в документации "Глобальные и локальные переменные инициализируются нулями" А как быть с теми переменными которые должны инициализироваться определёнными значениями, а не нулём? Планируется ли как-то решать эту проблему? Это конечно если я всё правильно понима...
- Fri Dec 07, 2018 11:44 am
- Forum: HLL
- Topic: Компилятор Oberon-07
- Replies: 125
- Views: 121648
Re: Компилятор Oberon-07
Когда я впервые прочитал описание O7, я удивился отсутствию операторов прерывания циклов и возврата из процедуры. Я даже перечитал описание, думая, что может быть я это пропустил или не так понял. Мне казалось, что на таком языке совершенно невозможно программировать. И потребовалось написать десятк...
- 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%), потому что компилятор пока генерирует длинные команды переходов там, ...
- 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. Это вполне хороший вариант. Я просто думал, как бы так сделать, чтобы поменьше вызывать лишнего. Пока сделал так. Теперь можно не вызыв...
- 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...
- 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...
- 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...
- Thu Oct 18, 2018 12:40 pm
- Forum: HLL
- Topic: Компилятор Oberon-07
- Replies: 125
- Views: 121648
Re: Компилятор Oberon-07
Я пока плохо представляю, как работает статическая линковка. Если будет время и желание, то может быть сделаю раздельную компиляцию с последующей линковкой. Но видимо нескоро. Сейчас мне это кажется довольно сложным. Теперь подсветка в HippoEDIT "поехала". Если есть какие-либо идеи, то мож...
- Thu Oct 18, 2018 7:55 am
- Forum: HLL
- Topic: Компилятор Oberon-07
- Replies: 125
- Views: 121648
Re: Компилятор Oberon-07
Кроссплатформенные примеры скоро будут.
А чем ".obj" не устраивает? MS COFF, вроде бы... Чтобы было понятно о чём речь и как это сделать, нужен пример такого файла на FASM.
А чем ".obj" не устраивает? MS COFF, вроде бы... Чтобы было понятно о чём речь и как это сделать, нужен пример такого файла на FASM.
- Wed Oct 17, 2018 2:12 pm
- Forum: HLL
- Topic: Компилятор Oberon-07
- Replies: 125
- Views: 121648
Re: Компилятор Oberon-07
Еще небольшое обновление: - Сделан автозапуск FASM (путь указывается в Compiler.ini). - В параметрах требуется указывать имя результирующего файла. - Регистр в имени файла главного модуля больше не имеет значения. - "Строки" можно заключать также в одиночные кавычки: 'строка'. Репозиторий ...
- 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) Компилировать прямо из файлового менеджера в...
- Sat Oct 13, 2018 7:28 am
- Forum: HLL
- Topic: Компилятор Oberon-07
- Replies: 125
- Views: 121648
Re: Компилятор Oberon-07
Делаю промежуточное обновление. Что нового: - Ложная реакция антивирусов значительно уменьшена, хотя и сохраняется, особенно для графических приложений (для консольных меньше). Исполняемый файл компилятора проходит тест на VirusTotal с результатом 0/67 (было 18/67 ). Для этого понадобилось сделать о...