Oberon space

General Category => Общий раздел => Тема начата: ilovb от Ноябрь 21, 2012, 10:30:57 am

Название: Переписать компайлер CP/Oberon под x86-64
Отправлено: ilovb от Ноябрь 21, 2012, 10:30:57 am
Кто в теме? Вроде не шибко сложная задача если плюнуть на новые регистры. Ну т.е. если иметь целью только адресацию памяти поиметь.
Название: Re: Переписать компайлер CP/Oberon под x86-64
Отправлено: valexey_u от Ноябрь 21, 2012, 10:35:38 am
Кто в теме? Вроде не шибко сложная задача если плюнуть на новые регистры. Ну т.е. если иметь целью только адресацию памяти поиметь.
Разбирались вроде - в случае ББ там надо менять язык, и перефигачивать ББ (там есть завязка типа указателей с типом целого).

Если же взять сферический Оберон в вакуме (спеку языка), то в приципе особых проблем не должно быть (особенно если правильно подобрать ревизию языка). С КП проблем будет больше.
Название: Re: Переписать компайлер CP/Oberon под x86-64
Отправлено: ilovb от Ноябрь 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 Предлагаю пока просто пофантазировать на тему.  ;)
Название: Re: Переписать компайлер CP/Oberon под x86-64
Отправлено: DIzer от Ноябрь 21, 2012, 12:59:01 pm

Предлагаю пока просто пофантазировать на тему.  ;)
  :D  ну давайте фантазировать... я под это дело открыл бутылку пива...
Мое предложение.. ну его  наитив.. сделать компиляцию под Neko VM и ползти от ее возможностей...
Название: Re: Переписать компайлер CP/Oberon под x86-64
Отправлено: ilovb от Ноябрь 21, 2012, 01:01:22 pm
А шо это такое?
Название: Re: Переписать компайлер CP/Oberon под x86-64
Отправлено: DIzer от Ноябрь 21, 2012, 01:02:59 pm
А шо это такое?
а че Гуглить учить вас надо?
Название: Re: Переписать компайлер CP/Oberon под x86-64
Отправлено: ilovb от Ноябрь 21, 2012, 01:14:12 pm
Щас времени нет гуглить и разбираться.
Название: Re: Переписать компайлер CP/Oberon под x86-64
Отправлено: DIzer от Ноябрь 21, 2012, 01:25:04 pm
Щас времени нет гуглить и разбираться.
а смысл тогда  поднимать эту тему?
Название: Re: Переписать компайлер CP/Oberon под x86-64
Отправлено: valexey_u от Ноябрь 21, 2012, 01:28:47 pm
valexey_u, можно ссылку если знаешь где обсуждалось?
http://forum.oberoncore.ru/viewtopic.php?f=2&t=2439
Название: Re: Переписать компайлер CP/Oberon под x86-64
Отправлено: ilovb от Ноябрь 21, 2012, 05:40:55 pm
valexey_u, можно ссылку если знаешь где обсуждалось?
http://forum.oberoncore.ru/viewtopic.php?f=2&t=2439

Улыбнуло.  :)
Особенно речи о том, что нельзя трогать INTEGER ибо обратную совместимость нужно сохранить.
Ну цирк ей богу  ;D
С чем обратная совместимость то? С коллекцией Хельмута Цинна?
Большая часть той коллекции нахер никому не впилась если уж совсем по чесноку. Помню курил код бьютифера тамошнего... это тихий ужас... чувак будто первый раз кодил. Уффф.
Вот без всякого зазрения совести это говорю, ибо это очевидно любому кто не мастурбирует на Оберон.
Название: Re: Переписать компайлер CP/Oberon под x86-64
Отправлено: kemiisto от Ноябрь 21, 2012, 05:56:54 pm
Большая часть той коллекции нахер никому не впилась если уж совсем по чесноку.
Какая жирная клевета. :D


По сабжу поддержу DIzer'а - забейте на натив. Пилите лучше GPCP (http://gpcp.codeplex.com/). JVM/.NET на Ваш выбор.
Название: Re: Переписать компайлер CP/Oberon под x86-64
Отправлено: valexey_u от Ноябрь 21, 2012, 05:59:49 pm
valexey_u, можно ссылку если знаешь где обсуждалось?
http://forum.oberoncore.ru/viewtopic.php?f=2&t=2439

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

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

То есть по трудоемкости это сопоставимо с переписыванием ББ с нуля.
Название: Re: Переписать компайлер CP/Oberon под x86-64
Отправлено: valexey_u от Ноябрь 21, 2012, 06:02:21 pm
Большая часть той коллекции нахер никому не впилась если уж совсем по чесноку.
Какая жирная клевета. :D


По сабжу поддержу DIzer'а - забейте на натив. Пилите лучше GPCP (http://gpcp.codeplex.com/). JVM/.NET на Ваш выбор.
Чтобы достичь какой цели? :-)
Под JVM Оберону будет довольно не уютно с тамошними либами - оттуда же как минимум исключения торчат. Под MSIL, подозреваю, будет то же самое. Алсо у Оберона нет интерфейсов вменяемых (и множественного наследования интерфейсов, даже у КП). То есть написание биндинга к очередной жабной либе будет сопровождаться болью, а последующее использование этого биндинга - кровью из глаз.
Название: Re: Переписать компайлер CP/Oberon под x86-64
Отправлено: DIzer от Ноябрь 21, 2012, 06:05:37 pm

Под JVM Оберону будет довольно не уютно с тамошними либами - оттуда же как минимум исключения торчат. Под MSIL, подозреваю, будет то же самое. Алсо у Оберона нет интерфейсов вменяемых (и множественного наследования интерфейсов, даже у КП). То есть написание биндинга к очередной жабной либе будет сопровождаться болью, а последующее использование этого биндинга - кровью из глаз.
а под js -  прям манна небесная повалит изо всех щелей... :D
Название: Re: Переписать компайлер CP/Oberon под x86-64
Отправлено: valexey_u от Ноябрь 21, 2012, 06:09:15 pm

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

А вот найдутся ли те, кто сочтет Оберон транслируемый в java bytecode лучше чем java...
Название: Re: Переписать компайлер CP/Oberon под x86-64
Отправлено: DIzer от Ноябрь 21, 2012, 06:11:52 pm
Под JVM Оберону будет довольно не уютно с тамошними либами - оттуда же как минимум исключения торчат. Под MSIL, подозреваю, будет то же самое. Алсо у Оберона нет интерфейсов вменяемых (и множественного наследования интерфейсов, даже у КП). То есть написание биндинга к очередной жабной либе будет сопровождаться болью
фиг бы сним, один черт проще чем писать сами либы...
Цитировать
а последующее использование этого биндинга - кровью из глаз.
А вот это самое страшное....
Название: Re: Переписать компайлер CP/Oberon под x86-64
Отправлено: DIzer от Ноябрь 21, 2012, 06:17:58 pm
Стоп а если я не ошибаюсь то вроде Влад собирался скрестить Оберон с ужо.. сорри жабоскриптом... интересно... каковы результаты?
Название: Re: Переписать компайлер CP/Oberon под x86-64
Отправлено: valexey_u от Ноябрь 21, 2012, 06:22:23 pm
Стоп а если я не ошибаюсь то вроде Влад собирался скрестить Оберон с ужо.. сорри жабоскриптом... интересно... каковы результаты?
Процесс идет :-)
Название: Re: Переписать компайлер CP/Oberon под x86-64
Отправлено: ilovb от Ноябрь 21, 2012, 06:25:47 pm
valexey_u, можно ссылку если знаешь где обсуждалось?
http://forum.oberoncore.ru/viewtopic.php?f=2&t=2439

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

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

valexey, да какие нафик наработки? Если Илья устроил себе зависимость от текущей реализации BB, то это только его проблема. ЧЯ не развивается уже несколько лет и последняя версия не стабл нифига, а скорее ночная сборка под пивко  ;D
Вот чем нужно руководствоваться чтобы полагаться на заброшенное ПО? Для меня загадка.
Все тру оберонщеги за бугром уже давно на ББ болт положили. И никто меня в обратном не переубедит, ибо у меня есть глаза, мозг и гугол.

Обратную совместимость делают не ради обратной совместимости. А токмо лишь потому, что объем уже-написанного-массово-пользуемого-прибыльного ПО превышает сотни человеко-лет труда. Т.е. это актуально для процов х86 и для венды и для линуха например, но для BB... не смешите меня ради всего святого  ;D ;D ;D

Если уж действительно архитрудоемкая и полезная весчь сооружена в BB 1.6, ну и пусть сидит себе дальше на нем. Какая проблема?  :P

Цитировать
То есть по трудоемкости это сопоставимо с переписыванием ББ с нуля.
Ну тык от переписывания ББ профита больше имхо  ;)
Название: Re: Переписать компайлер CP/Oberon под x86-64
Отправлено: vlad от Ноябрь 21, 2012, 06:41:15 pm
Стоп а если я не ошибаюсь то вроде Влад собирался скрестить Оберон с ужо.. сорри жабоскриптом... интересно... каковы результаты?

Ну я бы оценил, что оно на ~60% от момента, когда можно хоть в каком-то виде показать. Т.е. самое интересное (для меня) я уже реализовал, в том числе получен proof of concept - да, такой компилятор можно сделать и на жабаскрипте :)

Конкретного практического применения пока не планируется (просто всегда хотелось почувствовать как пишется компилятор). Скорее всего это будет что-то типа веб странички, на которой можно непосредственно написать/скомпилировать примеры программ (учебные).

Основная борьба идет с самим жабоскриптом (ну очень говнистый язык), а не с какими-то сложностями в реализации компилятора. Так что я скептически отношусь к озвученной здесь идее "взять исходники существующего компилтяора и сделать свой". ИМХО написать свой с нуля проще, чем разбираться в чужих исходниках (особенно если писать на нормальном ЯП). Если совсем не хочется изобретать велосипед - то можно непосредственно по книге Вирта, там все разжевано.
Название: Re: Переписать компайлер CP/Oberon под x86-64
Отправлено: DIzer от Ноябрь 21, 2012, 06:53:01 pm
Стоп а если я не ошибаюсь то вроде Влад собирался скрестить Оберон с ужо.. сорри жабоскриптом... интересно... каковы результаты?

Ну я бы оценил, что оно на ~60% от момента, когда можно хоть в каком-то виде показать. Т.е. самое интересное (для меня) я уже реализовал, в том числе получен proof of concept - да, такой компилятор можно сделать и на жабаскрипте :)

Конкретного практического применения пока не планируется (просто всегда хотелось почувствовать как пишется компилятор). Скорее всего это будет что-то типа веб странички, на которой можно непосредственно написать/скомпилировать примеры программ (учебные).

Основная борьба идет с самим жабоскриптом (ну очень говнистый язык), а не с какими-то сложностями в реализации компилятора. Так что я скептически отношусь к озвученной здесь идее "взять исходники существующего компилтяора и сделать свой". ИМХО написать свой с нуля проще, чем разбираться в чужих исходниках (особенно если писать на нормальном ЯП). Если совсем не хочется изобретать велосипед - то можно непосредственно по книге Вирта, там все разжевано.
спасибо, но меня больше интересует оценка удобства работы .. назовем его так - из оберон скрипта с  стандартными js либами (интерфейсами)  - дело в том, что я пробовал пользоваться адаптивными ИНЕТ технологиями от Борланда... и кроме самых простейших случаев оказывалось  что проще было перейти на наитивные.
Название: Re: Переписать компайлер CP/Oberon под x86-64
Отправлено: vlad от Ноябрь 21, 2012, 07:02:15 pm
спасибо, но меня больше интересует оценка удобства работы .. назовем его так - из оберон скрипта с  стандартными js либами (интерфейсами)  - дело в том, что я пробовал пользоваться адаптивными ИНЕТ технологиями от Борланда... и кроме самых простейших случаев оказывалось  что проще было перейти на наитивные.

Какой-то супер гладкой интеграции тоже не планируется :) Рабочая идея такая:
IMPORT js;
...
js.alert("Hello World!");

js - псевдомодуль типа SYSTEM. Все, что идет после "js." попадает непосредственно на исполнение жабоскрипту (с поправкой на обероновский синтаксис). Все, что возвращается из js - кастается к обероновским типам (не знаю еще как именно).
Название: Re: Переписать компайлер CP/Oberon под x86-64
Отправлено: qp от Ноябрь 21, 2012, 08:46:46 pm
По сабжу поддержу DIzer'а - забейте на натив. Пилите лучше GPCP (http://gpcp.codeplex.com/). JVM/.NET на Ваш выбор.
Отстаем от жизни однако:
Цитировать
RE: [GPCP] Source files encoding in GPCP   
Posted By:      
john@...
Fri Nov 9, 2012 1:45 am  |
[...]
I am currently exploring the possibility of a major revision that includes
an LLVM-based native-code backend as well as the current .NET and JVM
backends. If this goes ahead then I will definitely do full Unicode as part
of the revision.

John [Gough]
Название: Re: Переписать компайлер CP/Oberon под x86-64
Отправлено: DIzer от Ноябрь 22, 2012, 02:18:40 am
По сабжу поддержу DIzer'а - забейте на натив. Пилите лучше GPCP (http://gpcp.codeplex.com/). JVM/.NET на Ваш выбор.
Отстаем от жизни однако:
Цитировать
RE: [GPCP] Source files encoding in GPCP   
Posted By:      
john@...
Fri Nov 9, 2012 1:45 am  |
[...]
I am currently exploring the possibility of a major revision that includes
an LLVM-based native-code backend as well as the current .NET and JVM
backends. If this goes ahead then I will definitely do full Unicode as part
of the revision.

John [Gough]
В каком это месте? отстаем.. We are  currently exploring too  ;D Я бы сказал  - опережаем, ибо по причине отсутствия наш обьект не страдает падучей на каждый чих...
Название: Re: Переписать компайлер CP/Oberon под x86-64
Отправлено: Geniepro от Ноябрь 22, 2012, 06:24:17 am
Большая часть той коллекции нахер никому не впилась если уж совсем по чесноку.
Какая жирная клевета. :D

Ага, а ведь полнолуние ещё не наступило...
Название: Re: Переписать компайлер CP/Oberon под x86-64
Отправлено: ilovb от Ноябрь 22, 2012, 08:10:46 am
У меня свои фазы  ;D ;D ;D
Ну а чо там ценного то? Кошерные вещи там по пальцам можно пересчитать
Название: Re: Переписать компайлер CP/Oberon под x86-64
Отправлено: Geniepro от Ноябрь 22, 2012, 08:29:33 am
У меня свои фазы  ;D ;D ;D
Ну а чо там ценного то? Кошерные вещи там по пальцам можно пересчитать
У Вас так мало пальцев? ))
Название: Re: Переписать компайлер CP/Oberon под x86-64
Отправлено: ilovb от Ноябрь 22, 2012, 08:30:47 am
21 как у всех  ;D ;D ;D
Ну ладно по пальцам одной руки тогда  ;)
Название: Re: Переписать компайлер CP/Oberon под x86-64
Отправлено: qp от Ноябрь 22, 2012, 07:36:36 pm
Цитировать
В каком это месте? отстаем.. We are  currently exploring too  ;D Я бы сказал  - опережаем, ибо по причине отсутствия наш обьект не страдает падучей на каждый чих...
Хе-хе,  ;D имелось ввиду смелое пожелание 
Цитировать
забейте на натив
А в остальном - успехов в опережении ;)