Автор Тема: Online компилятор Oberon-07/11.  (Прочитано 165007 раз)

igor

  • Sr. Member
  • ****
  • Сообщений: 438
    • Просмотр профиля
Re: Online компилятор Oberon-07/11.
« Ответ #60 : Июнь 19, 2013, 08:14:45 am »
То есть эдакая мина, вроде область передвижения свободная, но где то может рвануть.

А не лучше ли использовать namespace, который автоматом даётся в модуле.

Пример
В самом модуле Math
CONST
  Pi = 3.14+100500
IMPORT Math;

A := Math.Pi;
Я правильно Вас понял (?), что Вы предпочли бы писать так:
VAR a: Types.INTEGER;

Непонятно, Вы против предопределённых идентификаторов вообще, или Вам не понравился мой пример с идентификатором Pi?
Полезность предопределённых идентификаторов у меня не вызывает сомнения. Но FALSE, TRUE, INTEGER и пр. должны быть ключевыми словами (ИМХО).

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Online компилятор Oberon-07/11.
« Ответ #61 : Июнь 19, 2013, 08:34:07 am »
На самом деле, прежде чем куда-то расширять Оберон-07/11 нужно просто и банально переписать репорт, где, не скупясь на страницы, описать все те тонкости и механизмы о которых Вирт умолчал. Те же области видимости например. Работу с памятью. И так далее. Ну будет репорт не 16, а 50 страниц, зато не будет неоднозначности толкования языка.
Y = λf.(λx.f (x x)) (λx.f (x x))

DddIzer

  • Гость
Re: Online компилятор Oberon-07/11.
« Ответ #62 : Июнь 19, 2013, 08:45:33 am »
На самом деле, прежде чем куда-то расширять Оберон-07/11 нужно просто и банально переписать репорт, где, не скупясь на страницы, описать все те тонкости и механизмы о которых Вирт умолчал. Те же области видимости например. Работу с памятью. И так далее. Ну будет репорт не 16, а 50 страниц, зато не будет неоднозначности толкования языка.
ну нет..  а куда вы денете сформировавшийся (в коровнике) и нарождающийся (у нас ) штат "Оберапостолов" и "Виртомессий"?  :D - ведь сдохнут же без хавки...

Madzi

  • Jr. Member
  • **
  • Сообщений: 86
    • Просмотр профиля
Re: Online компилятор Oberon-07/11.
« Ответ #63 : Июнь 19, 2013, 10:59:01 am »
На самом деле, прежде чем куда-то расширять Оберон-07/11 нужно просто и банально переписать репорт, где, не скупясь на страницы, описать все те тонкости и механизмы о которых Вирт умолчал. Те же области видимости например. Работу с памятью. И так далее. Ну будет репорт не 16, а 50 страниц, зато не будет неоднозначности толкования языка.
Поддерживаю. Такому стандарту будут куда более рады, чем 16 страницам. По крайней мере он обеспечит единство реализации и у желающих не будет опасения, что написанная библиотека окажется не валидной со следующей реализацией компилятора.

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re: Online компилятор Oberon-07/11.
« Ответ #64 : Июнь 19, 2013, 12:22:51 pm »
На самом деле, прежде чем куда-то расширять Оберон-07/11 нужно просто и банально переписать репорт, где, не скупясь на страницы, описать все те тонкости и механизмы о которых Вирт умолчал. Те же области видимости например. Работу с памятью. И так далее. Ну будет репорт не 16, а 50 страниц, зато не будет неоднозначности толкования языка.
Поддерживаю. Такому стандарту будут куда более рады, чем 16 страницам. По крайней мере он обеспечит единство реализации и у желающих не будет опасения, что написанная библиотека окажется не валидной со следующей реализацией компилятора.

Осталось только найти энтузазистов, готовых сделать всё это )))
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…

Kemet

  • Hero Member
  • *****
  • Сообщений: 587
    • Просмотр профиля
Re: Online компилятор Oberon-07/11.
« Ответ #65 : Июнь 19, 2013, 01:03:54 pm »
Совершенно бессмысленно рассматривать Оберон-07 в отрыве от Оберона, и сложившихся подходов при проектировании и реализации оберонистых компиляторов, подменяя общепринятые нормы своими представлениями. Как из компилятора языка Оберон получить компилятор Оберон-07 описано самим Виртом, и из этого описания очевидно, что модификация никак не меняет основополагающих механизмов

Madzi

  • Jr. Member
  • **
  • Сообщений: 86
    • Просмотр профиля
Re: Online компилятор Oberon-07/11.
« Ответ #66 : Июнь 19, 2013, 01:07:43 pm »
Вот только сообщение о языке Оберон-07 не содержит отсылки к сообщениям о языках Оберон*. Таким образом, разработчик не знакомый ранее с Оберонами будет строить реализацию Оберона-07 на основе собственных догадок.

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re: Online компилятор Oberon-07/11.
« Ответ #67 : Июнь 19, 2013, 01:14:39 pm »
Вот только сообщение о языке Оберон-07 не содержит отсылки к сообщениям о языках Оберон*. Таким образом, разработчик не знакомый ранее с Оберонами будет строить реализацию Оберона-07 на основе собственных догадок.
Значит, по мнению Kemet'а, этот разработчик будет заниматься совершенно бессмысленным занятием )))
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Online компилятор Oberon-07/11.
« Ответ #68 : Июнь 19, 2013, 01:21:29 pm »
Совершенно бессмысленно рассматривать Оберон-07 в отрыве от Оберона, и сложившихся подходов при проектировании и реализации оберонистых компиляторов, подменяя общепринятые нормы своими представлениями. Как из компилятора языка Оберон получить компилятор Оберон-07 описано самим Виртом, и из этого описания очевидно, что модификация никак не меняет основополагающих механизмов
Описано где? (кроме того, название Oberon-07/11 по факту придумано сообществом, сам Вирт его называет просто Oberon - просто это самая свежая ревизия яп. оберона - полная, не урезанная версия)
Y = λf.(λx.f (x x)) (λx.f (x x))

igor

  • Sr. Member
  • ****
  • Сообщений: 438
    • Просмотр профиля
Re: Online компилятор Oberon-07/11.
« Ответ #69 : Июнь 19, 2013, 02:10:16 pm »
(кроме того, название Oberon-07/11 по факту придумано сообществом, сам Вирт его называет просто Oberon - просто это самая свежая ревизия яп. оберона - полная, не урезанная версия)

Самая свежая, пожалуй, Oberon-12 (по моим данным от 01.07.2012).

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Online компилятор Oberon-07/11.
« Ответ #70 : Июнь 19, 2013, 02:17:38 pm »
(кроме того, название Oberon-07/11 по факту придумано сообществом, сам Вирт его называет просто Oberon - просто это самая свежая ревизия яп. оберона - полная, не урезанная версия)

Самая свежая, пожалуй, Oberon-12 (по моим данным от 01.07.2012).
Я имел ввиду из официально опубликванных на сайте университета. Черновики не в счет.
Y = λf.(λx.f (x x)) (λx.f (x x))

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Online компилятор Oberon-07/11.
« Ответ #71 : Июнь 20, 2013, 02:09:56 pm »
Изменения доехали. Можно пощупать: http://oberspace.dyndns.org/oberonjs.html
Y = λf.(λx.f (x x)) (λx.f (x x))

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Online компилятор Oberon-07/11.
« Ответ #72 : Июнь 20, 2013, 02:13:06 pm »
По ощущениям - значительно лучше чем было, чуть лучше чем редактор в ББ. Но по удобству пока не дотягивает до специализированного редактора Astrobe или редактора от akron1. :-)
Y = λf.(λx.f (x x)) (λx.f (x x))

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re: Online компилятор Oberon-07/11.
« Ответ #73 : Июнь 20, 2013, 02:16:56 pm »
Теперь осталось написать компилятор оберона-07 на обероне-07 (или доработать кодогенератор компилятора akron'а) и скомпилировать его этим js-ным компилятором и затем заменить! Небось ашыпки исправятся при этом...
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Online компилятор Oberon-07/11.
« Ответ #74 : Июнь 20, 2013, 02:20:43 pm »
Теперь осталось написать компилятор оберона-07 на обероне-07 (или доработать кодогенератор компилятора akron'а) и скомпилировать его этим js-ным компилятором и затем заменить! Небось ашыпки исправятся при этом...
Компилятор - довольно специфическая задача, так что львиная доля ошибок будет пропущена. Поэтому я бы предпочел просто использовать компилятор для прикладных нужд :-) Как показывает практика, именно там ошибки и вылезают (горячий пример - GPCP писан на КП и компилит сам себя. Несмотря на это я напоролся там на банальную ошибку как только попробовал его использовать для решения простейшей задачи. Аналогично с ББ).
Y = λf.(λx.f (x x)) (λx.f (x x))