Оберон-клуб «ВЄДАsoft»

Твердыня модульных языков
Текущее время: 29 мар 2024, 00:32

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




Начать новую тему Ответить на тему  [ Сообщений: 40 ]  На страницу Пред.  1, 2, 3, 4
Автор Сообщение
СообщениеДобавлено: 07 ноя 2018, 17:52 
Не в сети

Сообщения: 350
Отчитываюсь о результатах. Вот репозиторий:

https://gitlab.com/budden/nkp

Исходники модулей действительно переведены в текстовый режим. Для любителей красить в синий цвет я сделал подсветку для Visual Studio Code:

http://вече.программирование-по-русски.рф/viewtopic.php?f=2&t=22

Вот так это выглядит:

Изображение

С документами хуже. Часть из них нормально преобразуется, но при этом ломается среда. Часть же всё время "мерцает". Иван локализовал проблему - она связана с векторной графикой. Но решения нет.

В результате есть три директории:
k - то, что хранится в git
o - то, с чем работаем. Есть батник, который прерващает все текстовые док-ты в odc
k2 - обратное преобразование в текст

Работа выглядит так:

запускаем батник k-v-o, получаем o. С ним работаем (в ББЦБ и/или VS Code) - оба доступны одновременно, т.к. исходники модулей всё же текстовые.

Дальше запускаем k-v-o2

Дальше запускаем winmerge и переносим изменения из k2 в k.

Дальше запускам git commit

Процесс корявый, но он того стоит. Потому что поиск и особенно замена в VS Code на порядок удобнее. Плюс раскраска.
И прочие удобства коринфской IDE, а не дорийской.

Основная потеря - в сборке нет документации.
Из доработок - там есть частично переведённые и прокомментированные исходники компилятора (подсистема Ня)
Сборка blackbox и сборка консольной версии dev0 полностью автоматизированы - в исходной обертоновской сборке они не полностью автоматизированы.

В общем, неряшливо, но жизнеспособно.


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 15 ноя 2018, 20:06 
Не в сети

Сообщения: 350
проект заморожен по экономическим причинам.


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 20 ноя 2018, 17:39 
Не в сети

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

Вопрос к сообществу: можете бросить в меня куском кода, который открывает документ и извлекает его содержимое в виде строки? Наверняка это очевидно, но сил не хватило.

Попутно освоил логгирование процесса загрузки. Цитирую https://gitlab.com/budden/nkp/blob/master/НОВОСТИ.md :
Код: "OBERON"
  1.  
  2. методика отладки:
  3.  
  4. - Импортировать WinApi (она ничего не импортирует, проблем не будет).
  5. - WinApi.OutputDebugStringW("BlackBox: Сообщение")
  6. - В Sysinternals есть утилита DbgView.exe - её запускаем
  7. - В ней ставим фильтр на включение BlackBox (правда, он не работает как надо или я не смог его поставить)
  8. - Запускаем.
  9.  


Потом надо будет запихать сюда http://программирование-по-русски.рф/static/док-ня.html


Последний раз редактировалось budden 20 ноя 2018, 17:43, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 20 ноя 2018, 17:40 
Не в сети

Сообщения: 350
Цель состоит в том, чтобы получить сборку, которая работает напрямую с kp/tdc, без odc. Пока что в ней не работают меню и формы. В чём дело с меню - понятно.


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 22 ноя 2018, 21:57 
Не в сети

Сообщения: 350
Меню и формы вроде заработали. Вернул документацию, но obx и sql так и остались за бортом. На данном этапе - не в них счастье, а взять из стандартной сборки и добавить никогда не поздно.


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 23 ноя 2018, 06:12 
Не в сети
Администратор
Аватара пользователя

Сообщения: 108
Денис, что-то сломалось:
Код: "OBERON"
  1. dia@lenovo:~/oberon/nkp/k$ wine cmd /c soberi-blackbox-iz-dev0.bat
  2. *.ocf: файл не найден
  3. *.osf: файл не найден

Не собирается среда из твоего хранилища сейчас.


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 23 ноя 2018, 08:16 
Не в сети

Сообщения: 350
Теперь собирается (под Windows). Кстати, я там кое-где воткнул WinApi и OutputDebugString. В т.ч. это попало и в dev0. Это неправильно?

P.S. но не находится теперь исходник Kernel, Meta и прочего, что в System. Что-то я сломал раньше.


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 25 ноя 2018, 00:14 
Не в сети

Сообщения: 350
Обнаружилось, что очень легко написать функцию, которая определяет, в исходнике какого модуля мы находимся (т.к. там есть более сложная функция, что-то типа ResolveImportAlias). Соответственно, есть соблазн клонировать команды "интерфейс" и "документация" в команды "интерфейс модуля, открытого в текущем окне" и "документация модуля, открытого в текущем окне". Также это даёт почву для того, чтобы сделать автодополнение.

Но пока не до этого.


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 27 ноя 2018, 20:03 
Не в сети

Сообщения: 350
Сегодня поправил ещё одну ресурсную строку и перевёл ещё 2-3 функции. Также решил, что structure forms будет пока называться Твк - тип времени компиляции, хотя это недостаточно точно. Правильно это было бы "класс типов времени компиляции", т.к. там все процедурные типы имеют один и тот же номер. Но это было бы непонятно...


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 01 дек 2018, 23:30 
Не в сети

Сообщения: 350
Починил поиск по документации.


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

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


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

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


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

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
© VEDAsoft Oberon Club