Автор Тема: Переписать компайлер CP/Oberon под x86-64  (Прочитано 10620 раз)

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Переписать компайлер CP/Oberon под x86-64
« : Ноябрь 21, 2012, 10:30:57 am »
Кто в теме? Вроде не шибко сложная задача если плюнуть на новые регистры. Ну т.е. если иметь целью только адресацию памяти поиметь.

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Переписать компайлер CP/Oberon под x86-64
« Ответ #1 : Ноябрь 21, 2012, 10:35:38 am »
Кто в теме? Вроде не шибко сложная задача если плюнуть на новые регистры. Ну т.е. если иметь целью только адресацию памяти поиметь.
Разбирались вроде - в случае ББ там надо менять язык, и перефигачивать ББ (там есть завязка типа указателей с типом целого).

Если же взять сферический Оберон в вакуме (спеку языка), то в приципе особых проблем не должно быть (особенно если правильно подобрать ревизию языка). С КП проблем будет больше.
Y = λf.(λx.f (x x)) (λx.f (x x))

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: Переписать компайлер CP/Oberon под x86-64
« Ответ #2 : Ноябрь 21, 2012, 10:54:24 am »
valexey_u, можно ссылку если знаешь где обсуждалось?

У меня фантазия такая:
Взять компайлер из Oberon V4 (там Oberon 2)
http://www.claudio.ch/V4/
http://sourceforge.net/projects/oberon/

Сделать ревизию кода.
Утащить няшки из BB/CP и ActiveOberon
Сделать версию 64
Когда устаканится список добавленных фич, то можно будет зафиксировать спеку и начать пилить более полную поддержку x86
Пиарить сие поделие всеми возможными способами  :)
Далее по плану всякие другие архитектуры (ARM например)

Ну это так... мысли в слух  ;D

ps Предлагаю пока просто пофантазировать на тему.  ;)

DIzer

  • Гость
Re: Переписать компайлер CP/Oberon под x86-64
« Ответ #3 : Ноябрь 21, 2012, 12:59:01 pm »

Предлагаю пока просто пофантазировать на тему.  ;)
  :D  ну давайте фантазировать... я под это дело открыл бутылку пива...
Мое предложение.. ну его  наитив.. сделать компиляцию под Neko VM и ползти от ее возможностей...

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: Переписать компайлер CP/Oberon под x86-64
« Ответ #4 : Ноябрь 21, 2012, 01:01:22 pm »
А шо это такое?

DIzer

  • Гость
Re: Переписать компайлер CP/Oberon под x86-64
« Ответ #5 : Ноябрь 21, 2012, 01:02:59 pm »
А шо это такое?
а че Гуглить учить вас надо?

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: Переписать компайлер CP/Oberon под x86-64
« Ответ #6 : Ноябрь 21, 2012, 01:14:12 pm »
Щас времени нет гуглить и разбираться.

DIzer

  • Гость
Re: Переписать компайлер CP/Oberon под x86-64
« Ответ #7 : Ноябрь 21, 2012, 01:25:04 pm »
Щас времени нет гуглить и разбираться.
а смысл тогда  поднимать эту тему?

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Переписать компайлер CP/Oberon под x86-64
« Ответ #8 : Ноябрь 21, 2012, 01:28:47 pm »
valexey_u, можно ссылку если знаешь где обсуждалось?
http://forum.oberoncore.ru/viewtopic.php?f=2&t=2439
Y = λf.(λx.f (x x)) (λx.f (x x))

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: Переписать компайлер CP/Oberon под x86-64
« Ответ #9 : Ноябрь 21, 2012, 05:40:55 pm »
valexey_u, можно ссылку если знаешь где обсуждалось?
http://forum.oberoncore.ru/viewtopic.php?f=2&t=2439

Улыбнуло.  :)
Особенно речи о том, что нельзя трогать INTEGER ибо обратную совместимость нужно сохранить.
Ну цирк ей богу  ;D
С чем обратная совместимость то? С коллекцией Хельмута Цинна?
Большая часть той коллекции нахер никому не впилась если уж совсем по чесноку. Помню курил код бьютифера тамошнего... это тихий ужас... чувак будто первый раз кодил. Уффф.
Вот без всякого зазрения совести это говорю, ибо это очевидно любому кто не мастурбирует на Оберон.

kemiisto

  • Jr. Member
  • **
  • Сообщений: 64
    • Просмотр профиля
    • kemiisto.ru
Re: Переписать компайлер CP/Oberon под x86-64
« Ответ #10 : Ноябрь 21, 2012, 05:56:54 pm »
Большая часть той коллекции нахер никому не впилась если уж совсем по чесноку.
Какая жирная клевета. :D


По сабжу поддержу DIzer'а - забейте на натив. Пилите лучше GPCP. JVM/.NET на Ваш выбор.

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Переписать компайлер CP/Oberon под x86-64
« Ответ #11 : Ноябрь 21, 2012, 05:59:49 pm »
valexey_u, можно ссылку если знаешь где обсуждалось?
http://forum.oberoncore.ru/viewtopic.php?f=2&t=2439

Улыбнуло.  :)
Особенно речи о том, что нельзя трогать INTEGER ибо обратную совместимость нужно сохранить.
Ну цирк ей богу  ;D
С чем обратная совместимость то? С коллекцией Хельмута Цинна?
Большая часть той коллекции нахер никому не впилась если уж совсем по чесноку. Помню курил код бьютифера тамошнего... это тихий ужас... чувак будто первый раз кодил. Уффф.
Вот без всякого зазрения совести это говорю, ибо это очевидно любому кто не мастурбирует на Оберон.
Ну, у народе же есть какие-то наработки. Та же учебная сборка. У Ильи вон тоже что-то рабочее есть. Если INTEGER менять, то получится самое плохое из того что может быть - врде бы все также, и даже что-то работает, но прри этом будет просто куча багов. Причем плохо вылавливаемых и в самых неожиданных местах.

Там же не только бинари придется выкинуть, но и прочесать ВСЕ исходники ББ на предмет завязки на 32битность. Без этого - будет постоянно что-то где-то глючить и отваливаться.

То есть по трудоемкости это сопоставимо с переписыванием ББ с нуля.
Y = λf.(λx.f (x x)) (λx.f (x x))

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Переписать компайлер CP/Oberon под x86-64
« Ответ #12 : Ноябрь 21, 2012, 06:02:21 pm »
Большая часть той коллекции нахер никому не впилась если уж совсем по чесноку.
Какая жирная клевета. :D


По сабжу поддержу DIzer'а - забейте на натив. Пилите лучше GPCP. JVM/.NET на Ваш выбор.
Чтобы достичь какой цели? :-)
Под JVM Оберону будет довольно не уютно с тамошними либами - оттуда же как минимум исключения торчат. Под MSIL, подозреваю, будет то же самое. Алсо у Оберона нет интерфейсов вменяемых (и множественного наследования интерфейсов, даже у КП). То есть написание биндинга к очередной жабной либе будет сопровождаться болью, а последующее использование этого биндинга - кровью из глаз.
Y = λf.(λx.f (x x)) (λx.f (x x))

DIzer

  • Гость
Re: Переписать компайлер CP/Oberon под x86-64
« Ответ #13 : Ноябрь 21, 2012, 06:05:37 pm »

Под JVM Оберону будет довольно не уютно с тамошними либами - оттуда же как минимум исключения торчат. Под MSIL, подозреваю, будет то же самое. Алсо у Оберона нет интерфейсов вменяемых (и множественного наследования интерфейсов, даже у КП). То есть написание биндинга к очередной жабной либе будет сопровождаться болью, а последующее использование этого биндинга - кровью из глаз.
а под js -  прям манна небесная повалит изо всех щелей... :D

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Переписать компайлер CP/Oberon под x86-64
« Ответ #14 : Ноябрь 21, 2012, 06:09:15 pm »

Под JVM Оберону будет довольно не уютно с тамошними либами - оттуда же как минимум исключения торчат. Под MSIL, подозреваю, будет то же самое. Алсо у Оберона нет интерфейсов вменяемых (и множественного наследования интерфейсов, даже у КП). То есть написание биндинга к очередной жабной либе будет сопровождаться болью, а последующее использование этого биндинга - кровью из глаз.
а под js -  прям манна небесная повалит изо всех щелей... :D
Ну, там хотя бы смысл есть - js как язык ужасен. Точнее так - есть совсем не пустое множество программистов которые сочтут что для определенных целей Оберон транслируемый в js лучше чем js.

А вот найдутся ли те, кто сочтет Оберон транслируемый в java bytecode лучше чем java...
Y = λf.(λx.f (x x)) (λx.f (x x))