OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Пятница, 10 Октябрь, 2025 16:48

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 36 ]  На страницу 1, 2  След.
Автор Сообщение
СообщениеДобавлено: Среда, 01 Октябрь, 2025 12:10 

Зарегистрирован: Вторник, 30 Сентябрь, 2025 21:13
Сообщения: 18
Ormcode - интегрированная среда разработки 64-х разрядного кроссплатформенного компилятора Oberon-2M ORM. Компилирует и собирает сама себя. Компилятор и интегрированная среда написаны на самом себе без сторонних зависимостей и включений.

Ormcode делает самодостаточные (без дополнительных зависимостей) консольные и GUI исполняемые файлы для Windows, Linux X11, Linux Wayland, Mac OS и WebAssembly. Поддерживает четыре архитектуры - AMD64, ARM64, RISC-V и WASM.

Ormcode IDE в минимальной конфигурации имеет размер чуть больше 2.5 Mb и обладает всеми необходимыми функциями: редактор с поддержкой undo/redo, динамическая загрузка модулей и даже кросс-компиляция. Дизайн в минималистическом стиле, как на картинке. Вся информация и архивы для скачивания на сайте: https://ormcode.ru

Изображение


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 01 Октябрь, 2025 14:11 
Администратор

Зарегистрирован: Вторник, 15 Ноябрь, 2005 01:14
Сообщения: 4737
Откуда: Россия, Орёл
Внезапно.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 01 Октябрь, 2025 14:36 

Зарегистрирован: Вторник, 30 Сентябрь, 2025 21:13
Сообщения: 18
Тоже не ожидал, само получилось


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 01 Октябрь, 2025 15:37 

Зарегистрирован: Четверг, 08 Май, 2008 19:13
Сообщения: 1475
Откуда: Киев
Зачем выравниваете скобки? Делаете это автоматически?
Код:
   PROCEDURE set_slps(             );
...
   END set_slps;

   PROCEDURE set_setf(sml : smlVIEW);
...
   END set_setf;

      PROCEDURE _move(sml : smlVIEW ;
                      par : INTEGER);


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 01 Октябрь, 2025 15:53 

Зарегистрирован: Вторник, 30 Сентябрь, 2025 21:13
Сообщения: 18
Ни в коем случае. Привычка, пока нажимаю пробелы иногда умные мысли приходят.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 01 Октябрь, 2025 16:01 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3835
Прекрасный проект!
А есть какие-то модули из Дубовых правил? Что-то для вывода в журнал и т.п. ?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 01 Октябрь, 2025 16:16 

Зарегистрирован: Четверг, 08 Май, 2008 19:13
Сообщения: 1475
Откуда: Киев
Михаил писал(а):
Ни в коем случае. Привычка, пока нажимаю пробелы иногда умные мысли приходят.
То есть автоматически, но в другом смысле? Даже длину имён переменных выравниваете. Например, урезанный enter и знаки подчёркивания у esc и tab только для того, чтобы вписаться в заданные 4 литеры:
Код:
   entr = 13;
   esc_ = 27;
   tab_ = 09;
   tabs = 19;


У меня была полушуточная мысль о том, что ключевые слова должны быть трёхбуквенными.

Код:
MOD Test;

IMP Out;
 
PRO Go*;
BEG
   Out.String("Hel, Wld!");
   Out.Ln
END Go;

END Test.


Последний раз редактировалось Comdiv Среда, 01 Октябрь, 2025 16:22, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 01 Октябрь, 2025 16:20 

Зарегистрирован: Вторник, 30 Сентябрь, 2025 21:13
Сообщения: 18
>>>> То есть автоматически, но в другом смысле?
Да, так и есть. Визуально тяжело воспринимается текст, если нет выравнивания по всем возможным направлениям.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 01 Октябрь, 2025 16:27 

Зарегистрирован: Вторник, 30 Сентябрь, 2025 21:13
Сообщения: 18
Спасибо. Очень приятно это слышать.

>>>> А есть какие-то модули из Дубовых правил?
К сожалению 100% соответствия, нет. Основным критерием для для дополнительных модулей (в том числе файловых операций) служил критерий кроссплатформенности. Искал, что то среднее и как правило отдавал предпочтения posix стандарту.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 01 Октябрь, 2025 16:32 

Зарегистрирован: Вторник, 30 Сентябрь, 2025 21:13
Сообщения: 18
>>>> У меня была полушуточная мысль о том, что ключевые слова должны быть трёхбуквенными
Не такая уж и полушуточная. Переодически та же мысль крутиться в голове. А если еще в нижнем регистре. Но пока не попробуешь не узнаешь, а так ли это хорошо выглядит, как привычные ключевые слова.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 01 Октябрь, 2025 18:40 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3835
Михаил писал(а):
Спасибо. Очень приятно это слышать.

>>>> А есть какие-то модули из Дубовых правил?
К сожалению 100% соответствия, нет. Основным критерием для для дополнительных модулей (в том числе файловых операций) служил критерий кроссплатформенности. Искал, что то среднее и как правило отдавал предпочтения posix стандарту.


А где эти доп модули?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 01 Октябрь, 2025 18:42 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3835
Ещё хотел спросить, планируется ли публикация исходников?

Также на сайте не выложена версия среды для Linux, хотя редактор имеется для этой платформы. Планируете опубликовать?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 01 Октябрь, 2025 19:37 

Зарегистрирован: Вторник, 30 Сентябрь, 2025 21:13
Сообщения: 18
>>>> А где эти доп модули?
В кросплатформенном варианте, доп. модули ощущаются больше - как модули адаптеры, имеющие некий стандартизованный интерфейс. Такой интерфейс для файлов плюс установка ловушек и модулей взаимодействия с экраном целевой операционной системы есть в архиве ormcode.zip Интерфейс (набор интерфейсных функций) скорее всего не полный (выбирал исходя из стоящих в данный момент задач). И вполне допускающий корректировку и/или полную замену. Это внешние модули компилятора.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 01 Октябрь, 2025 19:54 

Зарегистрирован: Вторник, 30 Сентябрь, 2025 21:13
Сообщения: 18
>>>> Ещё хотел спросить, планируется ли публикация исходников?
В полном объеме нет. Исходники написаны в стиле, являющемся не лучшим примером для изучения. А какие то части, связанные с вариантом решения конкретной задачи, без ограничений.

>>>> Также на сайте не выложена версия среды для Linux, хотя редактор имеется для этой платформы.
>>>> Планируете опубликовать?
Да планирую. Физически не хватило времени протестировать, для всех возможных вариантов. Оборудование не самое быстрое - одноплатники на базе arm и risc-v плюс операционки Linux, которые на них встали не самые надежные. Бывает валятся от простого движения мышкой.

И у меня вопрос. Возможно разместить ссылку на компилятор в разделе «Инструменты для разработки» Вашего сайта Oberon.org


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 02 Октябрь, 2025 14:40 

Зарегистрирован: Четверг, 08 Май, 2008 19:13
Сообщения: 1475
Откуда: Киев
Вы даже можете это сделать сами, если имеете или заведёте github-аккаунт — https://github.com/oberon-org/site/blob ... ndex.htmlf


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 02 Октябрь, 2025 15:26 

Зарегистрирован: Вторник, 30 Сентябрь, 2025 21:13
Сообщения: 18
Ничего себе!!! Так и хочется сказать, а что так то же можно. И все же хочется получить, оф.разрешение. Тем более и аккаунта у меня нет.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 02 Октябрь, 2025 15:30 

Зарегистрирован: Четверг, 08 Май, 2008 19:13
Сообщения: 1475
Откуда: Киев
Не беспокойтесь, без разрешения изменения не войдут в основную ветку. Вы просто добавляете то, что нужно, а дальше владелец репозитория одобряет и обновление появится на сайте. Если не хотите регистрироваться, то хотя бы напишите кусок текста, который нужно добавить.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 02 Октябрь, 2025 16:02 

Зарегистрирован: Вторник, 30 Сентябрь, 2025 21:13
Сообщения: 18
Спасибо. Если можно, то вот текст:

Ormcode
https://ormcode.ru
Интегрированная среда разработки для Windows, Linux, Mac OS и WebAsembly


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 02 Октябрь, 2025 17:00 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3835
Михаил писал(а):
Спасибо. Если можно, то вот текст:

Ormcode
https://ormcode.ru
Интегрированная среда разработки для Windows, Linux, Mac OS и WebAsembly


Давайте я соберу хотя бы Hello World на вашем компиляторе, и включу в каталог.

Пока не получается.

zcode.hlp не открывается у меня ни в Windows 11 ни в Windows 7 ни в Wine.

Ни Out, ни Log модулей нет для стандартного вывода. Как собрать мой привет Мир?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 02 Октябрь, 2025 17:59 

Зарегистрирован: Вторник, 30 Сентябрь, 2025 21:13
Сообщения: 18
Прошу прощения. На хостинге zip файл оказался битым. Перезалил. Проверил. У меня работает. Вот на всякий случай прямая ссылка: https://ormcode.ru/pzip/ormcode.zip

И похоже совсем закопался в своей песочнице., совсем оторвался от реальности. В файле zcode.hlp лежит справочный файл со списком горячих клавиш, а в файле zcode.ini - настройки по умолчанию.

Готовые примеры консольных приложений для всех платформ лежат в папке AORM/ Для win amd файл - LAX.MOD В нем в конце (как и BB) надо выделить

aormLAP
aormLAX

и запустит пакетную компиляцию. Затем выполнить команду

aormLpe.linker(d:\z_lax.exe = aormLAP aormLAX' ) - если Amd64 Windows
aormLpr.linker(d:\z_lax.exe = aormLAP aormLAX' ) - если Arm64 Windows

В таком варианте для печати строки не обойтись без импорта стандартной winapi функции печати. Модуль EAP. Это если печать - средствами OS.

Если конкретная функция, запускается внутри IDE - как в BlackBox, то можно использовать стандартную функцию OUT, в качестве параметра у которой может быть строка или целое число. Пример консольной функции в IDE:

Код:
MODULE aormZZZ;

   PROCEDURE TEST*(VAR s : ARRAY OF SCHR; i : ADDRESS);
   BEGIN
      OUT(s$); OUT(i); OUT(0DX); OUT(0DX);
   END TEST;

END aormZZZ.

°aormZZZ.TEST('Пример функции с параметрами = ', 1234567 )


Для графических GUI приложений - все готовые примеры находятся в папке BEXM/ - они разбиты по группам для каждой OS и в головном файле (файл без расширения), также следует выделить группу для пакетной компиляцию, а за тем выполнить команду сборки для нужного варианта.


Последний раз редактировалось Михаил Четверг, 02 Октябрь, 2025 20:07, всего редактировалось 2 раз(а).

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

Часовой пояс: UTC + 3 часа


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

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


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

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2025, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB