OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Четверг, 28 Март, 2024 17:49

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




Начать новую тему Ответить на тему  [ Сообщений: 135 ]  На страницу 1, 2, 3, 4, 5 ... 7  След.
Автор Сообщение
 Заголовок сообщения: Разработка IDE для Оберон/Оберон-2
СообщениеДобавлено: Суббота, 04 Июль, 2009 19:26 

Зарегистрирован: Суббота, 04 Июль, 2009 19:22
Сообщения: 45
Модератор: выделено из viewtopic.php?f=30&t=900

Во первых Привет всем.

Судя по тому, как удаляют мою учетную запись делаю выводы, что здесь собрались настолько суровые программисты, что просто становится страшно за свои знания...

А вообще то у меня вопрос. Тема ещё актуальна или умерла в 2008 году?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 04 Июль, 2009 19:55 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
sa_t_an писал(а):
Тема ещё актуальна или умерла в 2008 году?
А что? :)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 04 Июль, 2009 20:10 

Зарегистрирован: Суббота, 04 Июль, 2009 19:22
Сообщения: 45
Ну вот что то меня порадовал (судя по описанию) оберон, так что я в принципе готов создать компилятор...
Естественно мне потребуется небольшая помощь гурьев оберона, что бы прояснить некоторые аспекты исходников О-2
для полного понимания процесса....


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 04 Июль, 2009 20:40 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2449
Откуда: Россия, Томск
Спрашивай, поможем : ) Нет проблем.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 04 Июль, 2009 20:56 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
sa_t_an писал(а):
Ну вот что то меня порадовал (судя по описанию) оберон, так что я в принципе готов создать компилятор...
Естественно мне потребуется небольшая помощь гурьев оберона, что бы прояснить некоторые аспекты исходников О-2
для полного понимания процесса....


А компилятор оберона будешь писать как водится, на обероне?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 04 Июль, 2009 21:49 

Зарегистрирован: Суббота, 04 Июль, 2009 19:22
Сообщения: 45
Александр Ильин писал(а):
А компилятор оберона будешь писать как водится, на обероне?


На Обероне он уже написан. Pow! небольшие пляски с бубном и можно посмотреть исходники и компилированый исполняемый файл консольного и гуи приложения, если интересно раскажу по пунктам как это сделать...
Вот как раз сейчас им и занимаюсь, дело все в том, что компилятор собирается в DLL. Так вот сперва необходимо попробывать запустить его не как dll а как консольный компилятор, все функции в него уже встроены...

Но как продолжение, я бы хотел перевести код на Delphi (благо оно сейчас бесплатное 'TurboDelphi'), так как имею уже среду выполнения а-ля TD Изображение для удобства.

В неё уже вкручен Ассемблер и будет вкручен Дебаггер, остольное оно как дизайнер форм, кодефолдинг и подсветка кода + сканирование папки проекта само собой разумеется уже прикручено.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 04 Июль, 2009 22:00 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
А какова цель этой деятельности?

Изначальные цели:
Цитата:
- самокомпилируемость
- простота портирования на другие операционные системы и архитектуры
- независимость от среды исполнения (Рантайм и сборка мусора должны линковаться статически или с внешней библиотекой)
- возможность взаимодействия с внешними библиотеками
- оптимизация только самая элементарная, чтобы не усложнять и не увеличивать код


Как там будет с пунктом "простота портирования на другие операционные системы и архитектуры"?

Кроме того, помнится мне что у Pow! были проблемы со соборкой мусора какие-то...Поэтому там есть замечательная функция DISPOSE ;-)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 04 Июль, 2009 22:30 

Зарегистрирован: Суббота, 04 Июль, 2009 19:22
Сообщения: 45
Простота портирования заложена изночально в obj файлах (coff), кто мешает сделать допустим obj файлы в windows и слинковать их в linux? Хотя надо просмотреть вероятное использование API Windows...

Но если переписать код на Delphi, то есть Free Pascal для переноса...
А там уже кто на что горазд.

Поклонникам С++ так же код dll доступен в исходниках... Так что тут проблем не вижу, было бы желание, для меня же важно прежде всего удобство создания кода, а перенос - это уже другая тема.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 04 Июль, 2009 22:31 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2449
Откуда: Россия, Томск
sa_t_an писал(а):
Александр Ильин писал(а):
А компилятор оберона будешь писать как водится, на обероне?
Это не я писал(а)!


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 04 Июль, 2009 22:41 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
sa_t_an писал(а):
Поклонникам С++ так же код dll доступен в исходниках... Так что тут проблем не вижу, было бы желание, для меня же важно прежде всего удобство создания кода, а перенос - это уже другая тема.


Правильно ли я понимаю, что по ходе делы задача была переформулирована и вместо компилятора будет разрабатываться среда разработки/инструментарий для программирования на Обероне-2?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 04 Июль, 2009 23:14 

Зарегистрирован: Суббота, 04 Июль, 2009 19:22
Сообщения: 45
Среда разработки уже сделана :D если кому надо будут исходники, пишите, код на Delphi в 2х модах с ассемблером совместимом с Турбо-асм, но легко расширяем простым добавлением инструкций в один модуль, с линкеромв РЕ файл и фишками типа фишек Среды TD... Ну кто работал в VStudio должны знать об них, такие как... Ээээээ...

Вобщем дизайнер форм + набор стандартных контролов (TMemo, TButton... и т.д)
Смысл весь сейчас,для начала прикрутить более - менее вменябельный компилятор к этому хозяйству, что бы на нем (на ней) писать расширения и улучшение самого компилятора...

К стати библиотеки можно взять из Free Pascal потом (у них есть маленькая кроссплатформа, но довольно мощная)...

Ну да лады... пока разберусь с исходником оберона (кому надо маленькая кросплатформенная реализация PASCAL-S самокомпилируемая обращайтесь, тоже поделюсь)

Изображение


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 05 Июль, 2009 16:18 

Зарегистрирован: Среда, 12 Декабрь, 2007 19:41
Сообщения: 21
Позволю себе напомнить, что реализация О2 на Дельфи уже есть в исходниках. Дорабатывать там всего ничего осталось.;)
При этом она легко переносима, т.к. не использует даже модуль classes и т.п. не говоря уже о windows.
Да и до самокомпилируемости думаю можно довести со временем.
Если есть интерес в доработке - PM me.:)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 05 Июль, 2009 23:14 

Зарегистрирован: Суббота, 04 Июль, 2009 19:22
Сообщения: 45
ХМ... Я видел вашу работу... Но почему то думал что там просто Оберон, более того я несколько раз попробывал пропустить код через VM на что он выдал мне одно и то же...

Сейчас внимательно изучаю ваш код... Отписал в личку.... :D

К стати достойная работа, я сам когда то писал редактор ландшафтов на GL поэтому понимаю сколько информации вам пришлось перелопатить и перечитать. Особенно с мультитекстурированием.
По большому счету IDE - это то, что в итоге получилось из этого :D , то есть хотел создать один инструмент, а получилось сразу несколько.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 10 Июль, 2009 10:39 

Зарегистрирован: Суббота, 07 Февраль, 2009 19:25
Сообщения: 8
Здравствуйте!

Я вот тоже занимаюсь обероном-2, за основу взял компилятор из Plugin Oberon
т.к. он прост и нет наворотов от Active Oberon, есть встроенный ассемблер чего нет в Pow!
перетащил его на Pow! правда работает не стабильно, видимо из-за ограничений на размер кода, без отключения всяких проверок Pow! отказывается компилировать - ругается что код слишком большой, ну и подвисает бывает!
шас буду думать в чем там проблема, пока занимаюсь эксперементами по генерации асемблерного кода, что бы потом компилировать его с помощью Nasm в бинарный код, надо еще добавить модуль выводящий название ошибки как в Pow! а у Plugin Oberon выводится только номер и позиция в файле т.е. не номер строки и символа
это неудобно и надо исправлять...

мне он нужен как инструменталь для разработки ос, интересуюсь данной сферой, еще хочу на обероне написать консольный файловый менеджер типа Far..
правда я не профессионал, а студент-любитель
так что может ничего и неполучится... :)

сам компилятор от Pow! впринципе тоже можно перенести из .dll в консольную версию .exe


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 10 Июль, 2009 17:22 

Зарегистрирован: Вторник, 13 Ноябрь, 2007 20:38
Сообщения: 1056
sdimitry85 писал(а):
... еще хочу на обероне написать консольный файловый менеджер типа Far..
правда я не профессионал, а студент-любитель
так что может ничего и неполучится... :)
Профессионал Вы или нет -- не имеет значения. Поставьте себе задачу и добивайтесь её решения (здесь от Вас потребуется труд и терпение). Если такой подход у Вас войдёт в привычку, то через некоторое время Вы заметите, что окружающие называют Вас профессионалом.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 11 Июль, 2009 07:56 

Зарегистрирован: Суббота, 04 Июль, 2009 19:22
Сообщения: 45
2 sdimitry85
Вот и мне интересно сделать сперва консольную версию POW! из их исходника.

Правда пока ничо не получаеца!
Там есть функция Oberon2 - которой передается адрес в памяти, пока не понял какой
SYSTEM.VAL интересно что делает? В делфи копирует строковое представление числа в переменную.
Изучение исходников POW тоже мало что пока дали о вызове функций из DLL, причем в оригинальном OBRN32.DLL
светится функция Oberon2 а в скомпилированом исходнике нет.

Вот если б гурьям Оберона не было б в лом, и они скачали б POW, да подсказали б как вызвать функцию Oberon2 и что за параметр ему передается, дело бы быстрее пошло.

Вот функция с которой получается консольное приложение, и в принципе в неё и надо вторкнуть вызов функций компилятора.

Код:
PROCEDURE [_APICALL] WinMain* (commandline:WD.LPSTR);
BEGIN

END WinMain;


Ну да ладно, буду копать дальше...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 11 Июль, 2009 09:30 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Функция Oberon2 - это, если память не изменяет, что-то вроде главного цикла в ОС Оберон.
Скачайте книжку Project Oberon Вирта и Гуткнехта с OberonCore - и поизучайте.

SYS.VAL в Ком.П./Блэкбоксе - нарушение ("трактовка") типа. Т.е. SYS.VAL(ТрактоватьКакТип, переменная).
Это относится к описанию системного псевдомодуля. Не знаю, где его найти к Оберону-2, но к КП он есть в документации Блэкбокса "Платформенно-зависимые особенности".


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 11 Июль, 2009 10:27 

Зарегистрирован: Суббота, 04 Июль, 2009 19:22
Сообщения: 45
Господа... Ради бога, скачайте POW! Он маленький.
В нем есть исходники Oberon 2.
В этих исходниках есть функции...
Среди этих функций есть функция Oberon2 (которая никаким боком не приклеена к BB и книжкам по оберону)
Так вот эта функция имеет в себе вызов компилирования модуля...
Так вот интересно бы узнать, как её(или другую) запустить в консольном режиме...

То есть, вкрутить в исходник новую функцию, что бы вместо DLL получит консольный компилятор...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 11 Июль, 2009 14:19 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Почему все так озабочены Обероном-2? Который "имеет промежуточный характер".

Почему бы не ограничиться Обероном. А там видно будет.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 11 Июль, 2009 17:15 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Быть может сразу Обероном-07? Он вроде ещё проще.


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

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


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

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


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

Найти:
cron
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB