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

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

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




Начать новую тему Ответить на тему  [ Сообщений: 40 ]  На страницу Пред.  1, 2, 3, 4  След.
Автор Сообщение
 Заголовок сообщения: Re: BBCB с текстовыми исходниками
СообщениеДобавлено: 20 мар 2018, 15:23 
Не в сети

Сообщения: 203
budden писал(а):
Другое дело, что я, скорее всего, направлю сейчас все силы на пиар и написание заявок на финансирование.
Речь о Яре?

budden писал(а):
Например, цикличность графа, описывающего модуль
Что значит цикличность графа? Рекурсивность импорта, что ли?


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: BBCB с текстовыми исходниками
СообщениеДобавлено: 20 мар 2018, 17:59 
Не в сети

Сообщения: 350
> Что значит цикличность графа? Рекурсивность импорта, что ли?
Означает, что модуль, после того, как его разобрали, может представлять из себя граф с циклами. Тогда его нужно представлять более сложным образом, вводить понятие якоря и ссылки на него, чтобы обработать повторы.

> Заявки это хорошо :) желаю успехов.
Спасибо, важное пожелание, судя по предыдущим неуспехам :)

> Речь о Яре?
Угу.


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: BBCB с текстовыми исходниками
СообщениеДобавлено: 19 сен 2018, 16:29 
Не в сети

Сообщения: 350
Всем здравствуйте! Задача снова актуальна, только денег нет и особо много времени делать самому тоже нет - где-нибудь по полчаса в день, не больше. Можете помочь советом или делом. Конечная цель - я хочу сделать так, чтобы BBCB превратился из магического чёрного ящика в нечто, что может быть постижимом образом представлено файлами и обработано с помощью stdin/stdout. Это позволит вызывать графические (и неграфические) программы из командной строки, описывая интерфейс текстом прямо в тексте скрипта .cmd или .sh. Как это может выглядеть - можно увидеть на этом видео (на примере tcl/tk) https://youtu.be/WvpMpt7javA


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: BBCB с текстовыми исходниками
СообщениеДобавлено: 19 сен 2018, 17:56 
Не в сети

Сообщения: 146
Судя по ролику, это ближе к теме по REPL, так как неясно, как текстовые исходники соотносятся с выполнением команд Оберона из командной строки.


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: BBCB с текстовыми исходниками
СообщениеДобавлено: 19 сен 2018, 18:41 
Не в сети

Сообщения: 350
Это две отдельные вещи, но не совсем несвязанные. Допустим, мы хотим в скрипте показать окно с картинкой и жирным текстом. Пусть у нас есть утилита для сборки/разборки ODC и команда, позволяющая читать ODC из stdin. Тогда мы пишем что-то вроде:
Код: "OBERON"
  1.  
  2. echo "<odc><img src=картинка.png><b>ЖИРНЫЙ-ТЕКСТ</b></odc>" | txt2odc | bbcb --load-odc-from-stdin
  3.  

Или же мы запускаем bbcb и творим картинки прямо в REPL. В этом случае особенность в том, что программа у нас консольная, но с приделанной графикой. А видео я записал для того, чтобы кто-то на это "клюнул" и захотел сделать.


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

Сообщения: 350
В следующем кванте времени попробую сделать текстовый вывод. Менять где-то в районе Stores и/или Models


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

Сообщения: 350
Мой репозиторий тут (вряд ли кому-то интересен, но всё же) https://bitbucket.org/budden/blackboxcomponentbuilder/


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

Сообщения: 350
Копаем стек:
Documents.ExportDocument

План: добавляем глобальную переменную СохранятьКакТекст .

Дублируем функцию Stores.WriteByte - есть функция для записи байт в составе какого-то составного типа данных, а есть функция для записи данных типа байт.

Функции WriteString, WriteInt и т.п. учитывают значение переменной СохранятьКакТекст .
Если она задана, пишут не в двоичном, а в текстовом формате. Конечно, совершенно не факт, что этот текст будет для чего-то годен. Потом посмотрим на него и поймём, что делать дальше.


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

Сообщения: 350
Всё, как обычно, ужасно. За сегодня я выяснил, что фрагменты с кириллицей кодируются в LPiece (в отличие от латиницы, которая живёт в Piece). При этом, текст находится, как я понял, не в памяти, а во временном файле, и сам текст в памяти не содержится. Вместо этого есть дескриптор файла и смещение.

Менять нужно функцию внутри TextModels, что-то типа WriteCharacters.

Но всего этого я бы не знал, если бы код хранился в UTF-8. Однако, он хранится в чём-то близком, но другом.
Например, буквы «д» и «е» должны быть представлены как D0B4 и D0B5, а они представлены как 3484X и 3584X (в этом можно убедиться, создав документ с текстом kkkдеkkk, сохранив его в файл и открыв просмотрщиком с поддержкой 16-ричного отображения. Допустим, байты я могу местами переставить. Что означают цифры?

Естественно, для всей кириллицы я могу составить подходящую формулу преобразования или тупо сделать таблицу.

Но ведь это должно что-то означать?


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

Сообщения: 146
На всякий случай спрошу, Вы знаете, что ББ работает с UTF-16? Правда, "д" и "е" в LE кодируется как 3404 3504 https://www.unicode.org/charts/PDF/U0400.pdf , так что не знаю, откуда берётся 8.

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


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

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


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

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


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

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