Spec-Zone.ru › Tcllib

page_util_flow

ИМЯ

page_util_flow — вспомогательное средство для работы с потоком данных страницы и обхода дерева

Содержание

  • Содержание

  • Краткое описание

  • Описание

  • API

  • API потока

  • Ошибки, идеи, отзывы

  • Категория

  • Авторские права

КРАТКОЕ ОПИСАНИЕ

package require page::util::flow ?0.2?
package require snit

::page::util::flow start flowvar nodevar script
flow visit node
flow visitl nodelist
flow visita node...

ОПИСАНИЕ

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

API

  • ::page::util::flow start flowvar nodevar script

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

    Команда не делает никаких предположений об API обходящейся структуры, кроме того, что её части, далее называемые узлами, идентифицируются строками. Эти строки используются без изменений: они берутся из аргументов и тела команды, а затем передаются обратно в тело команды.

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

    Сначала тело вызывается для узлов начального набора, заданного с помощью start), а затем — для узлов, посещения которых запросило тело. Команда останавливается, когда набор узлов для посещения становится пустым. Обратите внимание, что один узел может быть посещён несколько раз. Тело полностью контролирует это.

    Тело вызывается в контексте вызывающей стороны. Переменной с именем nodevar присваивается значение текущего узла, а переменной с именем flowvar — команда объекта потока, с помощью которой тело может запросить узлы для следующего посещения. API этого объекта описан в следующем разделе: API ПОТОКА.

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

API ПОТОКА

В этом разделе описан API объекта потока, доступного сценарию тела команды ::page::util::flow.

  • flow visit node

    Вызов этого метода запрашивает посещение узла n после текущей итерации.

  • flow visitl nodelist

    Вызов этого метода запрашивает посещение всех узлов из списка nodelist после текущей итерации.

  • flow visita node...

    Это вариант метода visitl с переменным числом аргументов; см. выше.

Ошибки, идеи, отзывы

В этом документе и описанном в нём пакете, несомненно, есть ошибки и другие проблемы. Пожалуйста, сообщайте о них в категории page в системе отслеживания Tcllib. Также сообщайте о любых идеях по улучшению пакета и/или документации.

Предлагая изменения кода, пожалуйста, предоставляйте унифицированные различия, то есть вывод команды diff -u.

Также обратите внимание, что предпочтительнее прикреплять вложения, а не вставлять исправления в текст. Чтобы добавить вложение, сразу после создания заявки откройте форму Изменить, а затем нажмите самую левую кнопку на дополнительной панели навигации.

КАТЕГОРИЯ

Генератор синтаксических анализаторов страниц

АВТОРСКИЕ ПРАВА

Авторские права © 2007 Andreas Kupries

Licensed under the BSD license
https://core.tcl-lang.org/tcllib/doc/trunk/embedded/md/tcllib/files/modules/page/page_util_flow.md

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API