akron1 писал(а):
...надо отдать должное: игрушка занятная.
Рад слышать!
akron1 писал(а):
1) В документации не хватает подробного описания языка.
Совершенно согласен с этой претензией. Действительно, в ближайшее время планируется пополнить документацию полным описанием языка, а также описанием доступных расширений и прочего. Такой документации нет (или есть, но не вполне) у проекта VOC и она ему тоже пригодится.
akron1 писал(а):
Это O2?
Да, это Оберон-2, но с изменённой системой типов. Это описано в документации, а также на главной странице сайта
freeoberon.su. Лично мне нравится Оберон-07 (я не отрицаю некоторых его недостатков, но понимаю, с какими огромными преимуществами они связаны), скорее всего основная ветвь развития Free Oberon будет означать постепенный переход на Оберон-07, с этим связана и задержка с документацией.
akron1 писал(а):
Сборщик мусора, как я понимаю, есть? Однопоточный?
Есть, однопоточный.
akron1 писал(а):
Консольные приложения (которые используют модули In и Out) в Windows не запускаются вне IDE.
Я понимаю, что это неудобно, но сейчас дело обстоит так: любое приложение компилируется как "оконное", и в него при компоновке включаются модули Graph и SDL2. Чтобы этого не было, необходимо поменять местами файлы "compile_no_graph.bat" и "compile.bat", находящиеся в каталоге "FreeOberon\data\bin" (на самом деле, используется только файл "compile.bat"). Сейчас идёт разработка система автоматической сборки проекта. Это дело не простое, требующее тщательного продумывания.
akron1 писал(а):
консольные приложения -- это, скорее, архаизм. Но всё же...
Да, однако есть задачи, в которых консольные приложения незаменимы. В частности, некоторые моменты некоторых курсов обучения программированию были бы сложнее для понимания, если бы не было возможности писать консольные приложения.
akron1 писал(а):
3) Как можно скомпилировать dll?
С ходу ответить не могу, т. к. этим вопросом не занимался. Можно ли обойтись правкой файла compile.bat, а именно изменением команд, даваемых компилятору GCC, или же получающиеся в процессе трансляции исходные коды Си тоже придётся менять — не знаю.
Насколько я знаю, вы связаны с разработкой компилятора Оберона-07. Хочу задать вопрос, связанный с развитием Free Oberon. Какие расширения языка Оберон-07, позволяющие работу с динамическими массивами без использования псевдомодуля SYSTEM, вам известны?
Например, можно ли в каком-либо компиляторе языка Оберон-07 объявить локальную переменную следующим образом: VAR m: ARRAY OF CHAR;, а затем задать размер массива оператором NEW? (И как в таком случае быть с некоторыми возникающими в языке неоднозначностями?)