OberonCore
https://forum.oberoncore.ru/

Ormcode - кроссплатформенный компилятор языка OBERON-2M ORM
https://forum.oberoncore.ru/viewtopic.php?f=30&t=7027
Страница 1 из 2

Автор:  Михаил [ Среда, 01 Октябрь, 2025 12:10 ]
Заголовок сообщения:  Ormcode - кроссплатформенный компилятор языка OBERON-2M ORM

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 ]
Заголовок сообщения:  Re: Ormcode - кроссплатформенный компилятор языка OBERON-2M

Внезапно.

Автор:  Михаил [ Среда, 01 Октябрь, 2025 14:36 ]
Заголовок сообщения:  Re: Ormcode - кроссплатформенный компилятор языка OBERON-2M

Тоже не ожидал, само получилось

Автор:  Comdiv [ Среда, 01 Октябрь, 2025 15:37 ]
Заголовок сообщения:  Re: Ormcode - кроссплатформенный компилятор языка OBERON-2M

Зачем выравниваете скобки? Делаете это автоматически?
Код:
   PROCEDURE set_slps(             );
...
   END set_slps;

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

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

Автор:  Михаил [ Среда, 01 Октябрь, 2025 15:53 ]
Заголовок сообщения:  Re: Ormcode - кроссплатформенный компилятор языка OBERON-2M

Ни в коем случае. Привычка, пока нажимаю пробелы иногда умные мысли приходят.

Автор:  Иван Денисов [ Среда, 01 Октябрь, 2025 16:01 ]
Заголовок сообщения:  Re: Ormcode - кроссплатформенный компилятор языка OBERON-2M

Прекрасный проект!
А есть какие-то модули из Дубовых правил? Что-то для вывода в журнал и т.п. ?

Автор:  Comdiv [ Среда, 01 Октябрь, 2025 16:16 ]
Заголовок сообщения:  Re: Ormcode - кроссплатформенный компилятор языка OBERON-2M

Михаил писал(а):
Ни в коем случае. Привычка, пока нажимаю пробелы иногда умные мысли приходят.
То есть автоматически, но в другом смысле? Даже длину имён переменных выравниваете. Например, урезанный 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.

Автор:  Михаил [ Среда, 01 Октябрь, 2025 16:20 ]
Заголовок сообщения:  Re: Ormcode - кроссплатформенный компилятор языка OBERON-2M

>>>> То есть автоматически, но в другом смысле?
Да, так и есть. Визуально тяжело воспринимается текст, если нет выравнивания по всем возможным направлениям.

Автор:  Михаил [ Среда, 01 Октябрь, 2025 16:27 ]
Заголовок сообщения:  Re: Ormcode - кроссплатформенный компилятор языка OBERON-2M

Спасибо. Очень приятно это слышать.

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

Автор:  Михаил [ Среда, 01 Октябрь, 2025 16:32 ]
Заголовок сообщения:  Re: Ormcode - кроссплатформенный компилятор языка OBERON-2M

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

Автор:  Иван Денисов [ Среда, 01 Октябрь, 2025 18:40 ]
Заголовок сообщения:  Re: Ormcode - кроссплатформенный компилятор языка OBERON-2M

Михаил писал(а):
Спасибо. Очень приятно это слышать.

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


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

Автор:  Иван Денисов [ Среда, 01 Октябрь, 2025 18:42 ]
Заголовок сообщения:  Re: Ormcode - кроссплатформенный компилятор языка OBERON-2M

Ещё хотел спросить, планируется ли публикация исходников?

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

Автор:  Михаил [ Среда, 01 Октябрь, 2025 19:37 ]
Заголовок сообщения:  Re: Ormcode - кроссплатформенный компилятор языка OBERON-2M

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

Автор:  Михаил [ Среда, 01 Октябрь, 2025 19:54 ]
Заголовок сообщения:  Re: Ormcode - кроссплатформенный компилятор языка OBERON-2M

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

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

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

Автор:  Comdiv [ Четверг, 02 Октябрь, 2025 14:40 ]
Заголовок сообщения:  Re: Ormcode - кроссплатформенный компилятор языка OBERON-2M

Вы даже можете это сделать сами, если имеете или заведёте github-аккаунт — https://github.com/oberon-org/site/blob ... ndex.htmlf

Автор:  Михаил [ Четверг, 02 Октябрь, 2025 15:26 ]
Заголовок сообщения:  Re: Ormcode - кроссплатформенный компилятор языка OBERON-2M

Ничего себе!!! Так и хочется сказать, а что так то же можно. И все же хочется получить, оф.разрешение. Тем более и аккаунта у меня нет.

Автор:  Comdiv [ Четверг, 02 Октябрь, 2025 15:30 ]
Заголовок сообщения:  Re: Ormcode - кроссплатформенный компилятор языка OBERON-2M

Не беспокойтесь, без разрешения изменения не войдут в основную ветку. Вы просто добавляете то, что нужно, а дальше владелец репозитория одобряет и обновление появится на сайте. Если не хотите регистрироваться, то хотя бы напишите кусок текста, который нужно добавить.

Автор:  Михаил [ Четверг, 02 Октябрь, 2025 16:02 ]
Заголовок сообщения:  Re: Ormcode - кроссплатформенный компилятор языка OBERON-2M

Спасибо. Если можно, то вот текст:

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

Автор:  Иван Денисов [ Четверг, 02 Октябрь, 2025 17:00 ]
Заголовок сообщения:  Re: Ormcode - кроссплатформенный компилятор языка OBERON-2M

Михаил писал(а):
Спасибо. Если можно, то вот текст:

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


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

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

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

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

Автор:  Михаил [ Четверг, 02 Октябрь, 2025 17:59 ]
Заголовок сообщения:  Re: Ormcode - кроссплатформенный компилятор языка OBERON-2M

Прошу прощения. На хостинге 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 и в головном файле (файл без расширения), также следует выделить группу для пакетной компиляцию, а за тем выполнить команду сборки для нужного варианта.

Страница 1 из 2 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/