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

Твердыня модульных языков
Текущее время: 28 мар 2024, 18:07

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




Начать новую тему Ответить на тему  [ Сообщений: 11 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Ofront (Oberon-2 to C Translator)
СообщениеДобавлено: 08 апр 2014, 21:37 
Не в сети
Аватара пользователя

Сообщения: 1019
Откуда: Днепропетровская обл.
Дмитрий Дагаев писал(а):
Будет ли переносим программный код, если он написан на Обероне-2 ?
Нет
Ну почему же нет? С чего вы вдруг решили, что Оберон-1 более переносимый, чем Оберон-2?

Дмитрий Дагаев писал(а):
Возникла работа с методами - и для КП уже нужно ABSTRACT или EXTENSIBLE, а для AO - OBJECT.

Поэтому представляется разумным иметь Oberon-2 front-end и множество back-end'ов, например, C, КП, AO.
В принципе, Оберон-2 в Си мы транслируем не от хорошей жизни. Просто хочется использовать по максимуму распространённые ОС и готовые компоненты, библиотеки, компиляторы. Когда ещё будут компиляторы Оберона под все платформы (без Си), да и будут ли?

Сам же Оберон-2 я не считаю идеальным эталонным диалектом-базисом, чтобы автоматически транслировать его в другие Оберон-диалекты, часто грешащие теми же недостатками, что и Оберон-2. Тем более, что адаптация исходника на Обероне-2 к КП делается ручками за несколько минут, и такая работа вполне оправдана, здесь на поток ставить просто нечего.

Вместо этого я предпочёл бы видеть в качестве базового языкового минимума даже несколько обфиченный КП, который имеет ряд важных преимуществ, отсутствующих в стандарте Оберона-2, и я постоянно спотыкаюсь об их отсутствие в Ofront'е. Например, нету возможности инициализировать в коде (без чтения из внешнего ресурса) юникод-строки иначе как:
Код: "OBERON"
  1. VAR unicode: ARRAY 100 OF SHORTINT;
  2. BEGIN
  3. unicode[0] := 105H; unicode[1] := 110H; ... unicode[99] := 115H;
Это к вопросу о том, можно ли работать на Обероне-2 с юникодом. Можно. Но не слишком удобно: мало того, что значение строк задаётся только одиночными присваиваниями кодов символов, ну а если понадобится вставить символ в середину строки? Придётся вручную перенумеровывать индексы.

Так что не вижу никакого смысла транслировать Оберон-2 в КП (это всё равно что делать из масла масло масляное), ровно также как и транслировать друг в друга совершенно разные диалекты Оберона, у которых к тому же различное назначение. Например, для AO характерна легковесная многопоточность на уровне языка, а в Обероне-2/КП такая многопоточность может быть достигнута только библиотечными средствами.

Дмитрий Дагаев писал(а):
А Вы не рассматривали обратную задачу: КП и/или Активный Оберон в качестве бэк-энда?
Признаюсь откровенно: для меня такие задачи имеют чисто умозрительную привлекательность, как подсчёт звёзд на небе. Т.е. неплохо если кто-то посчитает, но и без этого жить можно. ;)

Гораздо больше пользы будет, по-моему, от набора библиотек, совместимых по интерфейсам (хотя бы сверху вниз) между различными диалектами и реализациями Оберона. Это позволит выбрать диалект исходя из его сильных сторон, желательных для решаемых задач. Впрочем, я, не имея возможности и желания подгонять всё делаемое мною под все Оберон-диалекты, например, адаптировал для XDev некоторые библиотечные решения с других реализаций, например, модуль Strings из POW! Я и дальше планирую работать в этом направлении, но, разумеется, более значительные результаты могут быть достигнуты только сообществом пользователей XDev.


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

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


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

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


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

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
© VEDAsoft Oberon Club