OberonCore https://forum.oberoncore.ru/ |
|
Разработка IDE для Оберон/Оберон-2 https://forum.oberoncore.ru/viewtopic.php?f=30&t=1709 |
Страница 2 из 7 |
Автор: | sa_t_an [ Суббота, 11 Июль, 2009 18:05 ] |
Заголовок сообщения: | Re: Стоимость разработки компилятора для Oberon-2 |
Info21 писал(а): Почему все так озабочены Обероном-2? Который "имеет промежуточный характер". Почему бы не ограничиться Обероном. А там видно будет. Ну потому как только две реализации оберонов я видел, которые можно пощупать в так скать виртреале... Это глагол и оберон от Pow! Остальные версии как то я то ли не видел, то ли плохо искал. А почему (лично я) так обеспокоен этим, так только потому, что хочу перенести весь исходный код Оберона на паскаль и прикрутить к IDE, что бы получить типа Delphi RAD но с синтаксисом Оберон, а потом, когда оно уже будет [УДОБНО] компилировать, дебажить, искать ошибки, искать базовые объекты от детей и т.д. можно будет уже перерабатывать, дорабатывать и т.д. код самого Оберона, что то вроде улучшать, расширять, встраивать менеджеры уборки мусора и т.д. Но так как я практик (хотя ценю и уважаю... ээээ... но не всегда доверяю теории), то мне необходимо разобраться в коде, типа а правда, что оно работает так как надо? А то я как то переписывал Модулу, а потом оказалось, что оно будет гукать токма под Windows, но это не беда была б если изначально оно не было построено на WinApi. На одном галимом WinApi. Ну вот теперь и поэтому я и заморачиваюсь с Обероном, реально работающим.... К стати у гурьев си попытаюсь попросить совета и просю подсмотреть исходники самого POW, и если можно парой слов описать как там и где вызываются опции и компилирование из OBRN32.DLL его родного, ну и линкера если не трудно. Хотя откуда тут сишникам взятся, они ж обычно трехтомные маны на хеловёрды пишут и по этому всегда заняты... |
Автор: | sdimitry85 [ Суббота, 11 Июль, 2009 18:15 ] |
Заголовок сообщения: | Re: Стоимость разработки компилятора для Oberon-2 |
sa_t_an писал(а): 2 sdimitry85 Вот и мне интересно сделать сперва консольную версию POW! из их исходника. Правда пока ничо не получаеца! Там есть функция Oberon2 - которой передается адрес в памяти, пока не понял какой Код: PROCEDURE [_APICALL] Oberon2* (p:LONGINT): INTEGER; TYPE CP= POINTER TO CompParam; VAR c: CP; BEGIN c:=SYSTEM.VAL(CP,p); comp:=c^; p - указатель на запись CompParam (описание имеется в начале файла) в которой передается имя модуля которое необходимо компилировать, адреса рабочих директорий, временных файлов, файла лицензии, опции компиляции, адреса процедур для работы с файлами, вывода сообщений об ошибках и т.д. Цитата: SYSTEM.VAL интересно что делает? В делфи копирует строковое представление числа в переменную. адрес записи передается как тип 32-х разрядное число, а SYSTEM.VAL меняет его на тип указателя CP Цитата: Вот функция с которой получается консольное приложение, и в принципе в неё и надо вторкнуть вызов функций компилятора. Код: PROCEDURE [_APICALL] WinMain* (commandline:WD.LPSTR); BEGIN END WinMain; Ну да ладно, буду копать дальше... я вот тут подумал может ненадо переделывать на консольную программу, т.к. с параметрами передаются адреса процедур по работе с файлами, выводе ошибок и т.д. т.е. они нужны что бы в IDE получить местоположение ошибки и в окошках выводить инфу об ошибках если мы компилятор полность переделаем как консольный то лишимся возможности получать информуцию об ошибка и т.д. с другой стороны можно не удалять функции dll тогда можно получить гибридную программу, если запускать как .exe то будит консольный компилятор командной строки, а если тот же самый файл как .dll то можно интегрироваться в IDE хотя может вам консольный вариант нужен только для тестирования как передавать параметры и потом вы уберете консольные функции? кстати ваш FreeIDE может быть позже перенесен на Lazarus и Linux ? |
Автор: | sdimitry85 [ Суббота, 11 Июль, 2009 18:28 ] |
Заголовок сообщения: | Re: Стоимость разработки компилятора для Oberon-2 |
sa_t_an писал(а): Ну потому как только две реализации оберонов я видел, которые можно пощупать в так скать виртреале... Это глагол и оберон от Pow! Остальные версии как то я то ли не видел, то ли плохо искал. есть еще XDS Oberon-2/Modula-2, он с закрытыми исходными кодами, но имеет хорошо оптимизатор кода... Цитата: А почему (лично я) так обеспокоен этим, так только потому, что хочу перенести весь исходный код Оберона на паскаль и прикрутить к IDE, что бы получить типа Delphi RAD но с синтаксисом Оберон, а потом, когда оно уже будет [УДОБНО] компилировать, дебажить, искать ошибки, искать базовые объекты от детей и т.д. у Pow в опциях можно указать что необходимо добавлять информацию для отладки, а потом с помощью скажем Visual Studio C++ 6 заниматься отладкой и смотреть в каких переменных какая информация хранится, я уже так делал, работает |
Автор: | Сергей Оборотов [ Суббота, 11 Июль, 2009 19:41 ] |
Заголовок сообщения: | Re: Стоимость разработки компилятора для Oberon-2 |
sa_t_an писал(а): К стати у гурьев си попытаюсь попросить совета и просю подсмотреть исходники самого POW, и если можно парой слов описать как там и где вызываются опции и компилирование из OBRN32.DLL его родного, ну и линкера если не трудно. Смотрите файл _oberon.c функцию CallCompilerКод: /* execute compiler */
ret=Oberon2((LPSTR)&comp); return ret; |
Автор: | Info21 [ Суббота, 11 Июль, 2009 20:27 ] |
Заголовок сообщения: | Re: Стоимость разработки компилятора для Oberon-2 |
Alexey Veselovsky писал(а): Быть может сразу Обероном-07? Он вроде ещё проще. Да.
|
Автор: | bohdant [ Воскресенье, 12 Июль, 2009 01:08 ] |
Заголовок сообщения: | Re: Стоимость разработки компилятора для Oberon-2 |
Info21 писал(а): Alexey Veselovsky писал(а): Быть может сразу Обероном-07? Он вроде ещё проще. Да.В Оберон-07 нету ООП! а для пользовательского интерфейса - это беда. Предназначение Оберон-07 - микроконтроллеры. Лучьше брать АктивОберон - самый изящный оберон (тем более многоплатформенный, в отличие от ЧЯ). |
Автор: | Alexey Veselovsky [ Воскресенье, 12 Июль, 2009 02:35 ] |
Заголовок сообщения: | Re: Стоимость разработки компилятора для Oberon-2 |
ООП в голове а не в языке. По кр. мере в ООП стиле на обероне-07 вполне писать можно. Но думаю народ тут выбирает язык не по преимуществам/недостаткам собственно языка, а по доступностью и наличию открытых реализаций компиляторов. А тут Оберон-2 таки в фаворе. |
Автор: | sa_t_an [ Воскресенье, 12 Июль, 2009 09:10 ] |
Заголовок сообщения: | Re: Стоимость разработки компилятора для Oberon-2 |
Немножко надо теперь расширить темку и поговорить о ДРАКОН и BB... Итак ДРАКОН (конструктивная критика)... Посмотрел, ничего не понял, ну да не в этом суть. Автору совет, использовать контейнерные классы для работы с данными... Вообще у меня мозги работают быстрее чем руки... ы...ы.ы... Я могу повторить фотошоп, но мне не охото, в принципе кому интересно могу сбросить зачаток фотошопа на delphi... BB - кому показывал (а испытания я провожу на пациентах не слишком тесно связанных с программированием) как альтернатива, всех более воткнул WinBinder почему то??? Так что разработчикам стоит подумать... ЗЫ... Транслятор Оберон-2 на макроасемблер никто не скачивал? А то я как то не успел... |
Автор: | Сергей Оборотов [ Воскресенье, 12 Июль, 2009 10:11 ] |
Заголовок сообщения: | Re: Стоимость разработки компилятора для Oberon-2 |
sa_t_an писал(а): Кому нужны исходники IDE - в личку не стесняйтесь. Обсуждать лучше совместно. Здесь все свои.Кто имеет наработки по вызову компилятора из DLL - просто отлично, не жмите инфу, выкладывайте суда, вместе посмотрим обсудим. А главное, начнем обсуждать и дописывать или переписывать, когда все эт хозяйство заработает. sa_t_an писал(а): Кстати а правда кто нить знает функцию вызова dll из например той же делфы? А какие проблемы? Насколько мне известно она везде одинакова. Если вас КП не затрудняет, обратите внимание на исходники функций Kernel.LoadDll и Kernel.ThisDllObj. Первая DLL загружает, вторая использует.sa_t_an писал(а): Немножко надо теперь расширить темку и поговорить о ДРАКОН и BB... Зачем расширять? Пишите непосредственно в соответствующий раздел форума.
|
Автор: | sa_t_an [ Воскресенье, 12 Июль, 2009 11:08 ] | ||
Заголовок сообщения: | Re: Стоимость разработки компилятора для Oberon-2 | ||
GUEST писал(а): Обсуждать лучше совместно. Здесь все свои. Дыг я не против, а про личку - это кому нужны исходники... Все таки они немножко ешо сыроваты для паблика... Вызов DLL у меня затруднений не вызывает... У меня вызывает затруднения вызов DLL из POW! А именно какие параметры и структуры я должен заполнить и в какую функцию передать в obrn32.dll что бы оно мне вернула или код ошибки+ строку+позицию или *.sym и *.obj файл... Но в принципе эти посты для заинтересованого народа в создании ОТКРЫТОЙ для доработки системы на основе ОБЕРОН-2(3..4..5..). Почему Delphi нужно для этого? Да потому как народу поболше чем Обероновцев, которые могут дорабатывать и улучшать... Я ж говорю, как токма заработает все это хозяйство с dll, так моментально начну зашивать компилятор в IDE... А насчет БлэкБокса, Аоса и т.д. я как то ставил их,ну вот не нравятся мне инвалидки и все тут... Не люблю я наматывать километры кода колесом мыши, мне легче выделить код, нажмать Ctrl+F5 и получить компактное представление... И всякие разговоры про то как удачно все это вписывается в пейзаж, просто пустой звон... Вы же любите фильмы смотреть эффектные и со смыслом, я тоже, так почему бы не облагородить свою же работу и (извините за грубое сравнение) задницу подтирать не газетой, а туалетной бумагой??? Ну а на форуме все это происходит, потому как мне легче спросить, заинтересовать, да и просто пообщаца (а нафиг токда оне - форумы и нужны ешо? Древних грецких трогать не будем... ), и из этого общения извлеч или совет или направление, а что луче - код реально работающий, что бы можно было за что уцепиться глазом, потому как руками как вы понимаете можно токма за колесо мыши схватица, а мои усиленные тренировки с колесиком нравятся только жене (да и то в несколько другой обстановке ) А про ДРАКОН - это так... для поднятия боегого тонусу
|
Автор: | Сергей Оборотов [ Воскресенье, 12 Июль, 2009 11:47 ] |
Заголовок сообщения: | Re: Стоимость разработки компилятора для Oberon-2 |
sa_t_an писал(а): А про ДРАКОН - это так... для поднятия боегого тонусу Я не шучу и вам не советую.
|
Автор: | sa_t_an [ Воскресенье, 12 Июль, 2009 12:09 ] |
Заголовок сообщения: | Re: Стоимость разработки компилятора для Oberon-2 |
ХМ... А то вы пульнете по мне Тополем-2. Вообще если бы вы знали что я думаю о таких разработках, то у вас сразу бы приключился приступ истерии и нервный срыв... А вообще мы отошли от темы... |
Автор: | Info21 [ Воскресенье, 12 Июль, 2009 12:14 ] |
Заголовок сообщения: | Re: Стоимость разработки компилятора для Oberon-2 |
sa_t_an писал(а): Не люблю я наматывать километры кода колесом мыши, мне легче выделить код, нажмать Ctrl+F5 и получить компактное представление... Вместо всей этой лирики -- проще спецкоманду сделать.Или хотя бы спросить как. На другие вопросы (и даже более) хватает сил. Хотя, конечно, это, видимо, опять из разряда "раскраска синтаксиса"... |
Автор: | Сергей Оборотов [ Воскресенье, 12 Июль, 2009 12:30 ] |
Заголовок сообщения: | Re: Стоимость разработки компилятора для Oberon-2 |
sa_t_an писал(а): Вызов DLL у меня затруднений не вызывает... У меня вызывает затруднения вызов DLL из POW! В POW! функция err передаваемая как параметр функции CallCompiler получает от компилятора все ошибки, если они есть. Указанный мной файл смотрели?
А именно какие параметры и структуры я должен заполнить и в какую функцию передать в obrn32.dll что бы оно мне вернула или код ошибки+ строку+позицию или *.sym и *.obj файл... |
Автор: | sa_t_an [ Воскресенье, 12 Июль, 2009 12:49 ] |
Заголовок сообщения: | Re: Разработка IDE для Оберон/Оберон-2 |
Да смотрел... Спасибо. Ну что ж , попробую сейчас такое сотворить в Delphi. |
Автор: | sa_t_an [ Пятница, 17 Июль, 2009 21:50 ] |
Заголовок сообщения: | Re: Разработка IDE для Оберон/Оберон-2 |
Вопрос, а как сделать аналог SET в PASCAL? |
Автор: | Madzi [ Пятница, 17 Июль, 2009 23:05 ] |
Заголовок сообщения: | Re: Разработка IDE для Оберон/Оберон-2 |
sa_t_an писал(а): Вопрос, а как сделать аналог SET в PASCAL? Нет ничего проще: Код: TYPE SET = LONGINT; VAR set : SET; PROCEDURE INCL (VAR set : SET; CONST bit : INTEGER); VAR i : LONGINT; BEGIN i := 1 SHL bit; set := set OR i; END; PROCEDURE EXCL (VAR set : SET; CONST bit : INTEGER); VAR i : LONGINT; BEGIN i := NOT (1 SHL bit); set := set AND i; END; BEGIN set := 0; INCL (set, 3); INCL (set, 12); EXCL (set, 3); WriteLn (set); END. Гораздо сложнее сделать чтобы работало: Код: set := {0, 1, 3..8, 15}; как это сделать - пока не придумал. |
Автор: | Александр Ильин [ Суббота, 18 Июль, 2009 00:57 ] |
Заголовок сообщения: | Re: Разработка IDE для Оберон/Оберон-2 |
Madzi писал(а): как это сделать - пока не придумал. Код: PROCEDURE Assign (VAR set : SET; CONST value : string);
BEGIN { нет времени сейчас писать, но идея ясна } END; BEGIN Assign (set, '0, 1, 3..8, 15'); Writeln (set); END. |
Автор: | Александр Ильин [ Суббота, 18 Июль, 2009 01:01 ] |
Заголовок сообщения: | Re: Разработка IDE для Оберон/Оберон-2 |
Вариант без поддержки диапазонов типа "3..8": Код: PROCEDURE Assign (VAR set : SET; CONST value : ARRAY OF BYTE);
VAR i: INTEGER; BEGIN FOR i := 0 TO Length (value) - 1 DO INCL (set, value [i]); END; BEGIN Assign (set, [0, 1, 3, 4, 5, 6, 7, 8, 15]); Writeln (set); END. |
Страница 2 из 7 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |