OberonCore
https://forum.oberoncore.ru/

Компилятор Component Pascal из компилятора BB
https://forum.oberoncore.ru/viewtopic.php?f=1&t=216
Страница 1 из 2

Автор:  Grabli [ Четверг, 25 Май, 2006 20:19 ]
Заголовок сообщения:  Компилятор Component Pascal из компилятора BB

Реально ли сделать из компилятора Black Box-а "обычный" компилятор работающий из командной строки, не переписывая его снуля конечно?

И если можно, хотелось бы узнать, что да как сделать.

Автор:  Илья Ермаков [ Четверг, 25 Май, 2006 21:35 ]
Заголовок сообщения: 

Почему не реально? Эта задача уже поднималась, в свете интеграции в системы автоматического олимпиадного тестирования. Иван Горячев (Ivor) тогда за пару дней сделал такой консольный компилятор.
http://blackbox.metasystems.ru/forum/viewtopic.php?t=62
У меня лежит где-то промежуточная версия, но, честно говоря, я не смотрел и не помню где. Спросим у Ивана про окончательную версию, и тогда либо он сам скинет вам ее, либо выложим...

Автор:  Иван Горячев [ Пятница, 26 Май, 2006 03:07 ]
Заголовок сообщения: 

Она так недоделанной и осталась. То, что есть, получилось плохорасширяемым и вообще ублюдочным, а чтобы сделать нормальный компилятор нужно много лопатить сам БлэкБокс (в соновном - заменять StdLog на Log в модулях компилятора). плюс нужно делать полноценную подсистему для работы в консоли (у меня реализована только функциональность модуля Log, и то не вся. А ввода вообще нет).

Автор:  Сергей Оборотов [ Пятница, 26 Май, 2006 07:23 ]
Заголовок сообщения: 

Илья Ермаков писал(а):
Почему не реально?... либо он сам скинет вам ее, либо выложим...
Второе конечно предпочтительнее. Мало ли кто ещё заинтересуется.

Автор:  Илья Ермаков [ Пятница, 26 Май, 2006 11:11 ]
Заголовок сообщения: 

Цитата:
Второе конечно предпочтительнее. Мало ли кто ещё заинтересуется.

Я прекрасно понимаю Вас, когда Вы ратуете за то, чтобы выкладывалось побольше исходников и т.п. Однако у этого есть и обратная сторона: если выкладывать все в недоделанном виде, возникает большая свалка. Люди начинают использовать промежуточные варианты, потом разработчика вяжет обратная совместимость, и получается не как лучше, а как всегда...
Не хочется превратить BlackBox в подобие Линукса. Линукс - отличная система с современной архитектурой, однако крайне раздражает масса похожего софта, из которого ни один не работает, как надо, тысячи файлов, про которые уже никто толком не помнит, что и для чего нужно. Вот в чем разница: когда человек, начинающий заниматься ББ, увидит что-то необычное, непривычное, и спросит у меня - а почему сделано именно так? - я смогу на любой такой вопрос дать аргументированный ответ и назвать веские причины проектного решения. Когда я начинаю осваивать Линукс и задаю аналогичные вопросы, на большинство из них ответ один: "А шут его знает, так получилось, уже никто не помнит, почему, просто так принято, и привыкли все и т.п."

Автор:  Trurl [ Пятница, 26 Май, 2006 12:18 ]
Заголовок сообщения: 

Главым образом, надо править DevCPM и DevCompiler.
Вместо TextModels использовать "обычный" текст, вместо StdLog вывод в stdout. Избавиться от DevMarkers и выводить сообщения об ошибках опять же в stdout, желательно в формате какого-нибудь популярного компилятора.

Автор:  Trurl [ Пятница, 26 Май, 2006 13:13 ]
Заголовок сообщения: 

Есть еще одна проблема. Типичная схема использования "обычного" компилятора отличается от того, что принято в ББ. И возникают интересные вопросы - куда класть объектные и символьные файлы и где искать символьные файлы импортируемых модулей?

Автор:  Сергей Оборотов [ Пятница, 26 Май, 2006 15:09 ]
Заголовок сообщения: 

Илья Ермаков писал(а):
Цитата:
Второе конечно предпочтительнее. Мало ли кто ещё заинтересуется.

Я прекрасно понимаю Вас, когда Вы ратуете за то, чтобы выкладывалось побольше исходников и т.п. Однако у этого есть и обратная сторона: если выкладывать все в недоделанном виде, возникает большая свалка. Люди начинают использовать промежуточные варианты, потом разработчика вяжет обратная совместимость, и получается не как лучше, а как всегда...
Не хочется превратить BlackBox в подобие Линукса.
Уверен что BB это не грозит. Обратная совместимость - общая проблема для всякого развивающегося приложения. Если старые программы не работают в новой версии системы - тем хуже для них. А Linux системы просто больше по объему. И сравнивать их надо с аналогичными системами (которые ОС). И еще. Между знакомством и использованием существует небольшая разница. Как раз достаточная, чтобы не превращать в свалку копилку используемых средств.

Автор:  Сергей Оборотов [ Пятница, 26 Май, 2006 17:58 ]
Заголовок сообщения: 

Trurl писал(а):
Есть еще одна проблема. Типичная схема использования "обычного" компилятора отличается от того, что принято в ББ. И возникают интересные вопросы - куда класть объектные и символьные файлы и где искать символьные файлы импортируемых модулей?
А чем не устраивает механизм подсистем? Вполне можно его и оставить.

Автор:  Info21 [ Пятница, 26 Май, 2006 21:15 ]
Заголовок сообщения: 

GUEST писал(а):
Trurl писал(а):
.. возникают интересные вопросы - куда класть объектные и символьные файлы и где искать символьные файлы импортируемых модулей?
А чем не устраивает механизм подсистем? Вполне можно его и оставить.


Вот именно.
Оставить все как в полном ББ, просто команды вызывать с командной строки и ее же использовать в качестве Log.

По кр. мере достаточно, чтобы новый народ начал вкус чувствовать.

Автор:  Сергей Оборотов [ Суббота, 27 Май, 2006 06:50 ]
Заголовок сообщения: 

info21 писал(а):
Вот именно.
Я не то говорил.
info21 писал(а):
Оставить все как в полном ББ, просто команды вызывать с командной строки и ее же использовать в качестве Log.
Это будет половинчатое решение. Желательно использовать консольный компилятор независимым от системы образом. Включая сюда и возможность редактирования текстов модулей посторонними редакторами. В случае документов BlackBox это затруднительно.

Автор:  Info21 [ Суббота, 27 Май, 2006 12:03 ]
Заголовок сообщения: 

GUEST писал(а):
Это будет половинчатое решение. ..


Зато быстро можно сделать. А потом уж вторую половину.

А текстовый формат для исходников -- самая маленькая проблема.

Автор:  Илья Ермаков [ Суббота, 27 Май, 2006 13:07 ]
Заголовок сообщения: 

Собственно, и проблемы никакой нет. Все вопросы формата хранения решаются через конверторы.

Автор:  Сергей Оборотов [ Воскресенье, 28 Май, 2006 04:38 ]
Заголовок сообщения: 

info21 писал(а):
GUEST писал(а):
Это будет половинчатое решение. ..

Зато быстро можно сделать. А потом уж вторую половину.
Разумеется. Кто же против. Разбор командной строки не только в данном случае пригодится. Но это другой вопрос.
Илья Ермаков писал(а):
Собственно, и проблемы никакой нет. Все вопросы формата хранения решаются через конверторы.
Решаются, но в консольную версию не хотелось бы конверторы включать.

Автор:  Сергей Оборотов [ Воскресенье, 28 Май, 2006 06:03 ]
Заголовок сообщения: 

У меня предложение сначала сделать пробную рабочую версию без анализа параметров командной строки. Его можно потом добавить. Также и сообщения об ошибках можно пока не трогать. Единственно чтобы выходные файлы создавал. А приняв его за основу дальше добавлять кто чего пожелает.

Автор:  Иван Горячев [ Понедельник, 29 Май, 2006 02:53 ]
Заголовок сообщения: 

У меня контрпредложение: не делать лишних телодвижений. Подождём материалов от ОМС по юникоду, ещё по разным поводам репы почешем, и тогда уже всё в одном пакете выпистим.

Автор:  Trurl [ Понедельник, 29 Май, 2006 11:40 ]
Заголовок сообщения: 

info21 писал(а):
Оставить все как в полном ББ, просто команды вызывать с командной строки и ее же использовать в качестве Log.

По кр. мере достаточно, чтобы новый народ начал вкус чувствовать.


Боюсь, не оценят.

Автор:  Сергей Оборотов [ Понедельник, 29 Май, 2006 14:49 ]
Заголовок сообщения: 

Ivor писал(а):
У меня контрпредложение: не делать лишних телодвижений... репы почешем, и тогда уже всё.
Указанный компилятор в планы OMS не входит. Поэтому нужно серьезно подумать стоит ли его вообще включать. Кто его будет сопровождать к примеру? А если даже и найдутся желающие - будет ли возможность и дальше использовать оригинальные исходники. Вопросов в общем больше, чем ответов. Хотя как промежуточный вариант для сегодняшних запросов, почему его не сделать – не понимаю.

Автор:  sacred [ Среда, 31 Май, 2006 09:36 ]
Заголовок сообщения:  Про конверторы.

Мне кажется было бы супер, если бы в ББ встроить формат исходников в виде OpenDocument http://ru.wikipedia.org/wiki/OpenDocument. Во-первых это была бы первая система программирования, поддерживающая такой формат, во вторых, решилась бы проблема чтения ББ-файлов сторонними программами без потери форматирования и возможность их редактирования. Да что там объяснять, всем понятно преимущество открытого стандарта над внутренней разработкой типа формата odc. Кроме того, есть надежда, что к этому формату приспособят со времененм и какую-нить системку типа Diff.

Вот кто бы ещё это сделал? Я даже описания стандарта не видел, а оно, говорят, занимает 700 страниц. Это вам не Оберон! :)

Автор:  Илья Ермаков [ Среда, 31 Май, 2006 13:09 ]
Заголовок сообщения: 

Добавить конвертор для такого формата можно, и это было бы хорошо.
Однако замечу, что "внутренняя разработка формата odc" - это не текстовый формат, а формат
Цитата:
интерактивных
документов, поддерживающий внедрение активного содержимого, отображений. Поэтому организовать эквивалентную функциональность для неродного формата будет не так-то просто.

Страница 1 из 2 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/