Spec-Zone .ru
спецификации, руководства, описания, API
Spec-Zone .ru
спецификации, руководства, описания, API
Библиотека разработчика Mac Разработчик
Поиск

 

Эта страница руководства для  версии 10.9 Mac OS X

Если Вы выполняете различную версию  Mac OS X, просматриваете документацию локально:

Читать страницы руководства

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

  • Чтобы изучить, как руководство организовано или узнать о синтаксисе команды, прочитайте страницу руководства для страниц справочника (5).

  • Для получения дополнительной информации об этой технологии, ищите другую документацию в Библиотеке Разработчика Apple.

  • Для получения общей информации о записи сценариев оболочки, считайте Shell, Пишущий сценарий Учебника для начинающих.



page_util_peg(n)                           Parser generator tools                           page_util_peg(n)



____________________________________________________________________________________________________________

NAME
       page_util_peg - page PEG transformation utilities

SYNOPSIS
       package require page::util::peg  ?0.1?

       package require snit

       ::page::util::peg::symbolNodeOf tree node

       ::page::util::peg::symbolOf tree node

       ::page::util::peg::updateUndefinedDueRemoval tree

       ::page::util::peg::flatten treequery tree

       ::page::util::peg::getWarnings tree

       ::page::util::peg::printWarnings msg

       ::page::util::peg::peOf tree eroot

       ::page::util::peg::printTclExpr pe

____________________________________________________________________________________________________________

DESCRIPTION
       This  package  provides  a few common operations to PEG transformations.  They assume a Normalized PE
       Grammar Tree as input, see the package page::util::norm::peg, possibly augmented with attributes com-ing coming
       ing from transformations not in conflict with the base definition.


API
       ::page::util::peg::symbolNodeOf tree node
              Given an arbitrary expression node in the AST tree it determines the node (itself or an ances-tor) ancestor)
              tor) containing the name of the nonterminal symbol the node belongs to, and  returns  its  id.
              The result is either the root of the tree (for the start expression), or a definition node.

       ::page::util::peg::symbolOf tree node
              As ::page::util::peg::symbolNodeOf, but returns the symbol name instead of the node.

       ::page::util::peg::updateUndefinedDueRemoval tree
              The removal of nodes in the AST tree can cause symbols to lose one or more users.

                   A used by B and C,
                   B is reachable,
                   C is not,

                   so A now loses the node in the expression for C calling it,
                   or rather, not calling it anymore.

              This command updates the cross-references and which nonterminals are now undefined.

       ::page::util::peg::flatten treequery tree
              This  commands  flattens  nested  sequence  and choice operators in the AST tree, re-using the
              treeql object treequery to run the query determining which nodes to cut.

       ::page::util::peg::getWarnings tree
              This command looks at the attributes of the AST tree for problems with the grammar and  issues
              warnings.  They  do not prevent us from writing the grammar, but still represent problems with
              it the user should be made aware of.

              The result of the command is a dictionary mapping nonterminal names to their associated  warn-ings. warnings.
              ings.

       ::page::util::peg::printWarnings msg
              The  argument  of  the  command  is a dictionary mapping nonterminal names to their associated
              warnings, as generated by, for example, the command ::page::util::peg::getWarnings.

              The warnings contained therein are formatted and then printed via the log  command  page_info.
              This  means  that  this  command  can be used only from within a plugin managed by the package
              page::pluginmgr.

       ::page::util::peg::peOf tree eroot
              This command converts the parsing expression starting at the node eroot in the AST tree into a
              nested list. The exact syntax of this list specified by the package grammar::peg.

       ::page::util::peg::printTclExpr pe
              This command converts the parsing expression contained in the nested list pe into a Tcl string
              which can be placed into a Tcl script.  See the package grammar::peg for the exact  syntax  of
              pe.


BUGS, IDEAS, FEEDBACK
       This  document, will undoubtedly contain bugs and other problems.  Please report such in the category
       page of the Tcllib SF Trackers [http://sourceforge.net/tracker/?group_id=12883].  Please also  report
       any ideas for enhancements you may have.

KEYWORDS
       PEG, page, parser generator, parsing expression grammar, text processing, transformation

CATEGORY
       Page Parser Generator

COPYRIGHT
       Copyright (c) 2007 Andreas Kupries <andreas_kupries@users.sourceforge.net>




page                                                 1.0                                    page_util_peg(n)

Сообщение о проблемах

Способ сообщить о проблеме с этой страницей руководства зависит от типа проблемы:

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