OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Понедельник, 19 Август, 2019 08:30

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




Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
СообщениеДобавлено: Воскресенье, 05 Апрель, 2009 11:36 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2309
Откуда: Россия, Томск
Многие знакомы с потоковым редактором SED. Я ищу нечто подобное, но более общее, а именно: 1) основанное не только на регулярных выражениях (или вообще их не использующее), 2) обрабатывающее не только текст, а вообще любые данные, 3) модульное и расширяемое.

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 05 Апрель, 2009 17:42 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9129
Откуда: Россия, Орёл
Рефал-0 не рассматривали?
Бинарные данные можно обрабатывать. Можно разносить по Оберон-модулям (пока не опубликовано, но сами пользуем).
Описывается, фактически, не декларатив, а поведение строковой машины - т.е. отображение в императив прозрачно. Можно использовать как функциональный скрипт для связывания разных процедур, обрабатывающих текст (на чём написаны - неважно, лишь бы удовлетворяли сигнатуре - работали на двух стеках).
Ничего особенно высокоуровневого там не заложено, но как раз на интегрирующий механизм для такого фреймворка, который хотите Вы, по-моему, тянет.

Посмотрите, пожалуйста, если будут идеи - давайте общаться! У нас с ним сейчас люди работают тоже.


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

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2309
Откуда: Россия, Томск
Я читал когда-то PDF с описанием, надо ещё раз прочитать. Теперь уже с прицелом на конкретную задачу.


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

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8169
Откуда: Троицк, Москва
Илья Ермаков писал(а):
Рефал-0 не рассматривали?
Хочу выразить здоровый скептицизм в отношении такого усложнения как введение целого нового языка. Скептицизм основан на опыте работы с символич. алгеброй, где все очень похоже: фильтрация с преобразованием потоков данных. Традиционно для этого используются спец. системы со спец. языками. Но в больших задачах это оказывается гандикапом по ср. с прямой реализацией на КП.

Некий каркас поддержки нужен, конечно, для конкретного класса задач. Но не целый язык.

Может, в отношении этого Рефала-0 и есть соотв. обоснование. Но я его не видел (и в словах, мелькавших тут, ничего достаточно убедительного для себя не видел -- возможно, от невнимательности, конечно), а опыт говорит скорее против, чем за. Потому. :)

В общем, я склонен (в меру имеющейся инфы, конечно) рассматривать Рефал-0 не как нечто выросшее и абстрагированное "из", а как нечто сочиненное и наложенное "на".

Возможно, сказывается и предрассудок, связанный с происхождением Рефала-0 из пресловутой Росы.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 05 Апрель, 2009 20:44 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9129
Откуда: Россия, Орёл
Фёдор Васильевич, спасибо за мнение. Я сам стараюсь тоже почаще задаваться подобными вопросами, под Вашим влиянием.

Касательно Рефала-0, несколько специфических моментов:
во-первых, там не "целый язык", а всего 13 нетерминалов в грамматике (от Рефала, собственно, только чисто марковская часть и название). Отображение в императив 1-в-1 практически, только короче в неск. раз (мусор низкоуровневый типа игр с индексами, сравнений и поисков свёртывается в сопоставление с образцом). По ощущениям от использования - хороший "клей" для увязывания процедур-трансформаторов над потоками.

Цитата:
Возможно, сказывается и предрассудок, связанный с происхождением Рефала-0 из пресловутой Росы.

Это не так. Ни одна из разработок "Метасистем" не имеет происхождения как таковая "из Росы".
И работать с Рефалом мы начали значительно раньше, чем в материалах по "Росе" он всплыл.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 05 Апрель, 2009 21:17 

Зарегистрирован: Понедельник, 05 Июнь, 2006 09:49
Сообщения: 327
Откуда: Ленинград, Емельянов Алексей Николаевич
По поводу Рефал 0 по моему действительно трудно теоретизировать. На мой мой взгляд очень практичная вещь.
И , опять же по моему, запас для расширения (методологии) весьма велик. Ну, прежде всего, обобщение на потоки символов, далее наработка стандартных приемов, возможно библиотек.
По поводу расширения в сторону дальнейшей "рефализации" судить не берусь, в тоже время в текущем варианте (Рефал 0) очень к месту.


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

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8169
Откуда: Троицк, Москва
Илья Ермаков писал(а):
всего 13 нетерминалов в грамматике (от Рефала, собственно, только чисто марковская часть и название).
Так значит, не Рефал, раз только чисто марковская часть? Тогда и назвать бы как-нибудь соответственно. Рефал 0 с толку сбивает, и слишком ... сложно.

Кстати, хорошего простого примера-пособия по марковской парадигме нет. Нельзя ли это приспособить.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 05 Апрель, 2009 23:04 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9129
Откуда: Россия, Орёл
Может быть, и можно... Даже не готов рассуждать на эту тему.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 06 Апрель, 2009 11:05 

Зарегистрирован: Понедельник, 05 Июнь, 2006 09:49
Сообщения: 327
Откуда: Ленинград, Емельянов Алексей Николаевич
Info21 писал(а):
Илья Ермаков писал(а):
всего 13 нетерминалов в грамматике (от Рефала, собственно, только чисто марковская часть и название).
Так значит, не Рефал, раз только чисто марковская часть? Тогда и назвать бы как-нибудь соответственно. Рефал 0 с толку сбивает, и слишком ... сложно.

Кстати, хорошего простого примера-пособия по марковской парадигме нет. Нельзя ли это приспособить.


Во всяком случае мне для изучения вопроса пришлось обращаться именно к Рефалу (на соответствующий сайт). Хотя согласен, для "первого раза" там слишком всего много. С другой стороны, опять же для меня, "бренд" Рефал сыграл роль рекламы.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 27 Февраль, 2010 01:04 

Зарегистрирован: Вторник, 05 Январь, 2010 21:31
Сообщения: 1101
Откуда: Харків, Данилівка
Цитата:
Хочу выразить здоровый скептицизм в отношении такого усложнения как введение целого нового языка.

:lol: Debug.exe
http://forum.sources.ru/index.php?showtopic=214452
http://www.wasm.ru/article.php?article=1022002
в случае чего, батник написать несложно.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 10 ] 

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


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

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


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

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