Автор Тема: Project Oberon (New Edition 2013)  (Прочитано 46824 раз)

satan

  • Newbie
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: Project Oberon (New Edition 2013)
« Ответ #75 : Декабрь 29, 2013, 05:15:34 pm »
Только исчезли исходники компилятора!!!

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Project Oberon (New Edition 2013)
« Ответ #76 : Декабрь 29, 2013, 05:23:28 pm »
Только исчезли исходники компилятора!!!

Ну, не все. То есть кое-какие ссылки действительно стали битыми, но, однако, некоторые работают:
http://www.inf.ethz.ch/personal/wirth/ProjectOberon/Sources/ORP.Mod.txt
http://www.inf.ethz.ch/personal/wirth/ProjectOberon/Sources/ORC.Mod.txt

Алсо старые ссылки тоже работают (просто новые стали не кошерными). Например:
Новая http://www.inf.ethz.ch/personal/wirth/ProjectOberon/Sources/ORG.Mod.txt не работает, зато работает старая:
http://www.inf.ethz.ch/personal/wirth/ProjectOberon/Sources/ORGX.Mod.txt

Так что код компилятора таки есть. Вопрос в том, насколько он теперь согласован. Ну, а в случае чего, никто не мешает пользоваться старым кодом, предыдущей публикации.
Y = λf.(λx.f (x x)) (λx.f (x x))

satan

  • Newbie
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: Project Oberon (New Edition 2013)
« Ответ #77 : Декабрь 29, 2013, 06:26:59 pm »
Просто интересно, встретил вот такую конструкцию

TYPE
    Object* = POINTER TO ObjDesc;
    Module* = POINTER TO ModDesc;
    Type* = POINTER TO TypeDesc;

    ObjDesc*= RECORD
      ...
    END ;

    ModDesc* = RECORD (ObjDesc) orgname*: ORS.Ident END ;

Интересно. Сейчас переписываю компилятор, проверяю действительно поддерживает расширяемость записей. И можно ли им собрать ОСь для х86?

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Project Oberon (New Edition 2013)
« Ответ #78 : Декабрь 29, 2013, 06:47:50 pm »
Просто интересно, встретил вот такую конструкцию

TYPE
    Object* = POINTER TO ObjDesc;
    Module* = POINTER TO ModDesc;
    Type* = POINTER TO TypeDesc;

    ObjDesc*= RECORD
      ...
    END ;

    ModDesc* = RECORD (ObjDesc) orgname*: ORS.Ident END ;

Интересно. Сейчас переписываю компилятор, проверяю действительно поддерживает расширяемость записей. И можно ли им собрать ОСь для х86?
Эмм.. А разве бывает оберон без расширяемых записей? Они там были изначально и естественно остались и в последних его ревизиях.

Собрать что-то для x86 нельзя. Во-первых там кодогенератор умеет только RISC0 и RISC5, а во-вторых ось сама по себе на x86 компе работать не будет даже если её собрать компилятором умеющим генерировать x86 код.
Y = λf.(λx.f (x x)) (λx.f (x x))

satan

  • Newbie
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: Project Oberon (New Edition 2013)
« Ответ #79 : Декабрь 29, 2013, 07:02:06 pm »
Нет, ну я переписываю компилятор под х86 (возможно и х64), то есть кодогенератор.
Линкёр возьму из нативного оберона 2.3.7, ну и часть кодогенератора...

Просто О7 маленький и понятный, остальное можно дописать что необходимо!

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Project Oberon (New Edition 2013)
« Ответ #80 : Декабрь 29, 2013, 07:05:49 pm »
Нет, ну я переписываю компилятор под х86 (возможно и х64), то есть кодогенератор.
Линкёр возьму из нативного оберона 2.3.7, ну и часть кодогенератора...

Просто О7 маленький и понятный, остальное можно дописать что необходимо!
Угу. Но тут есть два нюанса: первое - саму ось, именно как ось, а не приложение под винду-линух, под x86 так просто не перетащить. Второе - тот компилятор который есть в этой оси, это не Oberon rev 2013 и не Oberon rev 2007/2008. Это что-то другое (местами расширенное, причем расширения эти не описаны).
Y = λf.(λx.f (x x)) (λx.f (x x))

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: Project Oberon (New Edition 2013)
« Ответ #81 : Январь 20, 2014, 06:40:08 pm »
Закоммитил проэкт по состоянию на 20.01.2014
https://github.com/ilovb/ProjectOberon2013/commit/974a5401ce87cfd8f6495e9ee7f2435f17ae0244

Valery Solovey

  • Hero Member
  • *****
  • Сообщений: 509
    • Просмотр профиля

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Project Oberon (New Edition 2013)
« Ответ #83 : Январь 21, 2014, 01:52:52 pm »
"OR Compiler", однако...
https://github.com/ilovb/ProjectOberon2013/commit/974a5401ce87cfd8f6495e9ee7f2435f17ae0244#diff-ec269f2dcbbad1d06c87c72169d0fcf2L970

Oberon RISC Compiler. Названия модулей компилятора соответствующие.
Y = λf.(λx.f (x x)) (λx.f (x x))

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: Project Oberon (New Edition 2013)
« Ответ #84 : Январь 28, 2014, 08:07:00 pm »

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: Project Oberon (New Edition 2013)
« Ответ #85 : Январь 28, 2014, 08:14:53 pm »
http://www.osp.ru/os/2012/06/13017106/

Цитировать
В 90-х Вирт переключил внимание на проектирование аппаратного обеспечения на основе программируемых логических матриц (Field-Programmable Gate Array, FPGA). Его исследовательские команды разрабатывали языки для программирования FPGA, позволявшие весьма сложными способами использовать эти интегральные схемы.

Интерес к FPGA привел Вирта к проекту, над которым он работает и по сей день. После выхода на пенсию в 1999 году Вирт продолжил экспериментировать с FPGA и добился, в частности, полной реализации центрального процессора архитектуры RISC их средствами. Сейчас он модифицирует ОС Operon таким образом, чтобы она смогла работать на RISC-компьютере, основанном на FPGA. Он планирует построить полноценный компьютер на базе FPGA-платы Xilinx за 100 долл.: «Я пришел к выводу, что принцип простоты, которым я руководствовался в программном обеспечении, следует применять и к аппаратному, и сегодня это возможно благодаря программируемым матрицам. У меня есть макетная плата Xilinx с FPGA, на которой я реализовал микропроцессор. Это RISC-чип, но он гораздо проще, чем ARM, MIPS или SPARC, — в нем есть лишь все самое важное, что необходимо разъяснить и показать студентам. Код процессора занимает всего три страницы. Я написал компилятор Оберона для своей RISC-архитектуры, а также компоновщик и загрузчик».

По мнению Вирта, «пенсионер — это лучшая должность, поскольку не надо ходить на скучные собрания научных комитетов». Его нынешняя цель — закончить RISC-процессор на основе FPGA, выпустить обновленный Оберон для него и доработать книгу по этому языку, добавив главы с описанием процессора и его архитектуры.

***

Когда работа над аппаратным обеспечением, ПО и книгой Вирта будут окончены, можно будет построить учебную лабораторию с рабочими станциями для Оберона, в которой студенты — слушатели курсов компьютерных дисциплин смогут начать с написания программы «Hello world» на Обероне, потом перейти к основам объектно-ориентированного программирования и архитектуры операционных систем, а после — и к проектированию аппаратного обеспечения. Надежным помощником в этом им станет учебник с подробным описанием ПО и оборудования в лаборатории. Все будет настолько простым, элегантным, понятным и легким в освоении, что студенты смогут получить максимум знаний за максимально короткое время — иного Никлаус Вирт не допустит.

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: Project Oberon (New Edition 2013)
« Ответ #86 : Февраль 06, 2014, 06:05:57 pm »
Закоммитил проэкт по состоянию на 06.02.2014
https://github.com/ilovb/ProjectOberon2013/commit/b2cbf600ac4cff832137d89c18a4e569a9b6762f

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: Project Oberon (New Edition 2013)
« Ответ #87 : Февраль 06, 2014, 06:15:09 pm »
Programming in Oberon
A derivative of Programming in Modula-2 (1982)
Niklaus Wirth (rev. 1.2.2014)
http://www.inf.ethz.ch/personal/wirth/Oberon/PIO.pdf

Compiler Construction
Niklaus Wirth
This is a slightly revised version of the book published by Addison-Wesley in 1996
ISBN 0-201-40353-6
Zürich, February 2014
http://www.inf.ethz.ch/personal/wirth/CompilerConstruction/CompilerConstruction1.pdf
« Последнее редактирование: Февраль 06, 2014, 06:17:24 pm от ilovb »

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: Project Oberon (New Edition 2013)
« Ответ #88 : Февраль 06, 2014, 06:31:15 pm »
Приложений к PO2013 похоже не будет.

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: Project Oberon (New Edition 2013)
« Ответ #89 : Февраль 06, 2014, 06:48:01 pm »
Кстати, а все видели обновление сего документа (от 20.11.2013):
http://www.inf.ethz.ch/personal/wirth/Oberon/OberonAtAGlance.pdf

Цитировать
...Case statement for extended types only...
...LONGINT may be synonym to INTEGER
LONGREAL may be synonym to REAL...
и т.д.