Ну да. С помощью чего-то подобного можно описывать, как трактовать тексты, которые человек разметил с помощью отступов, пустых строк, подчеркиваний и всякой прочей ерунды. То есть это я так думал. А на самом деле эти грамматики гораздо мощнее, похоже.
Я о двухмерных контекстно-свободных грамматиках не думал, но вот о двухмерных регулярных выражениях мечтал "с детства". Ещё хотел сделать двучмерный Рефал (чтобы не списками работал, а с двухмерными штуками). Мне какзалось, это можно будет применить, например, чтобы программировать GUI (в самом широком смысле, не обязательно придерживаясь концепции окошек).
Про структуру документа у меня кое-какие непричесанные мысли есть. Надеюсь в ближайшее время их причесать, потому как это будет связано с моим дипломом. В общем, есть такое подозрение, что логическая структура - это не всегда дерево. Например, бывают гипертекстовые ссылки, за счет которых могут появляться циклы. Бывает, что в тексте заданы две параллельные иерархии (см. пример в §2 у Реформатского), каждая из которых в дерево ложится, а вместе - не очень. frbrgeorge еще любит пример со сносками: когда пишешь текст, слово и сноска к нему часто идут подряд (в M-K, например), но на самом деле сноска - это отдельно стоящий объект, который может быть пропущен, помещен в низ страницы или в конец книги.
Тут мы считаем, что пользователь (то есть человек, который пишет тексты) сам описывает те элементы структуры, которые ему важны в этом тексте, а также выразительные средства, которыми он пользуется. Проблема в том, чтобы не загружать его какими-то теоретическими знаниями, а по возможности работать с описанием, близким к словесному (не на естественном языке, конечно, но в терминах, понятных непрограммисту).
Рисование таких зависимостей - задача вообще жутко интересная, но в общем случае неразрешимая. Я хочу попробовать разобраться с выцеплением логической структуры из технических документов, там хотя бы меньше простор для фантазии.
Тут мы считаем, что пользователь (то есть человек, который пишет тексты) сам описывает те элементы структуры, которые ему важны в этом тексте, а также выразительные средства, которыми он пользуется.Ну да, в моих примерах в принципе это были явно заданные отношения некоторыми формальными средставми, которыми пользовался автор. В одном случае, он просто выбрал одни и те же названия подразделов. В другом, одни и те же названия полей (или просто использовал один и тот же шаблон
( ... )
Reply
Reply
Reply
То есть это я так думал. А на самом деле эти грамматики гораздо мощнее, похоже.
Reply
Reply
Reply
Reply
А первое применение, приходящее в мою воспаленную голову - изменение логической структуры документа, представленной в виде графа.
Reply
А струкутра документа -- по-моему, это обычно просто дерево. А графы более любые?
Reply
В общем, есть такое подозрение, что логическая структура - это не всегда дерево. Например, бывают гипертекстовые ссылки, за счет которых могут появляться циклы. Бывает, что в тексте заданы две параллельные иерархии (см. пример в §2 у Реформатского), каждая из которых в дерево ложится, а вместе - не очень. frbrgeorge еще любит пример со сносками: когда пишешь текст, слово и сноска к нему часто идут подряд (в M-K, например), но на самом деле сноска - это отдельно стоящий объект, который может быть пропущен, помещен в низ страницы или в конец книги.
Reply
Со сноской самый простой случай, по-моему. Отклонение от дерева не сильное. (И если одна сноска в нескольких местах используется, тоже.)
А остальное -- да. Там связи в графе -- ещё и разные отношения по смыслу.
А Реформатский -- это меня поразило! Я не думал, что он про это писал!
Reply
Про Реформатского меня maslinych надоумил. Жалко, что книжки "Техническая редакция книги" в Сети днем с огнем не сыщешь.
Reply
Reply
Рисование таких зависимостей - задача вообще жутко интересная, но в общем случае неразрешимая. Я хочу попробовать разобраться с выцеплением логической структуры из технических документов, там хотя бы меньше простор для фантазии.
Reply
Reply
Reply
Leave a comment