Оберон-клуб «ВЄДАsoft»

Твердыня модульных языков
Текущее время: 13 июн 2024, 20:10

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

Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
 Заголовок сообщения: Stefan Vorkoetter: виртуальная машина Maple
СообщениеДобавлено: 21 дек 2018, 21:50 
Не в сети
Аватара пользователя

Сообщения: 1019
Откуда: Днепропетровская обл.
Stefan Vorkoetter писал(а):
Hi Oleg:

My recently rekindled interest in Oberon caused me to dig up the source code for the virtual machine I wrote as part of my thesis work back in 1989. In case you're interested, I've scanned it and put it on my web page. Here's a direct link to the code (not OCR'd unfortunately):


This is _really_ old Oberon, where we still had to write the .def files manually.

I've done a bit of work on the Oberon compiler, adding support for underscores (but only within names, not at the beginning or end, as this could cause conflicts with the compiler's name mangling), and unlimited length string literals (not really unlimited - artificially limited to 1Mb to prevent an unclosed string consuming all of memory). I've also improved the position reporting of error messages produced by OPS to be more useful. For example, an identifier too long message points to the first character that makes it too long, and an unclosed comment message points to the beginning of the comment.

Stefan Vorkoetter

Stefan Vorkoetter писал(а):
>> your source code looks very clean and good commented. :)

Thank you. I find that clean code is easier to work with.

As much as I respect and admire Wirth, I've never been a fan of his coding style. It is too dense, and contains too few comments, in my opinion. On the other hand, I also don't like code that is too sparse, such as writing this in C:
Код: "C"
    if( someCondition )

>> If you allow me, I would like to publish your letter with a link to
>> the source code of Maple Machine at the Oberon-forum

Okay, but please also include a link to the surrounding article (http://www.stefanv.com/computers/masters_thesis.html) to give some context.

>> I see you've used a very interesting version of Oberon for compiling
>> the code. Is that ETH Oberon? You use the type BYTE without the
>> prefix SYSTEM. In the version of ETH Oberon PlugIn that I watched,
>> there is no just BYTE type, only SYSTEM.BYTE.

Yes, it's the original ETH Oberon. The September 1989 Language Report includes this type.

Type BYTE may be assigned values of type CHAR or SHORTINT.

Formal parameters of type ARRAY OF BYTE may be passed _any_ actual parameter type (so yes, it is possible to get around the type system without using module SYSTEM).

>> It is nice to have your letter :)

It's nice to have someone to talk to about Oberon.

Stefan Vorkoetter

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

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

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

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

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

Создано на основе phpBB® Forum Software © phpBB Group
© VEDAsoft Oberon Club