[ Index ]

PHP Cross Reference of vtigercrm-6.1.0

title

Body

[close]

/pkg/vtiger/extensions/Webservices/third-party/ParserGenerator/ -> PropagationLink.php (source)

   1  <?php
   2  /**
   3   * PHP_ParserGenerator, a php 5 parser generator.
   4   * 
   5   * This is a direct port of the Lemon parser generator, found at
   6   * {@link http://www.hwaci.com/sw/lemon/}
   7   *
   8   * PHP version 5
   9   *
  10   * LICENSE: This source file is subject to version 3.01 of the PHP license
  11   * that is available through the world-wide-web at the following URI:
  12   * http://www.php.net/license/3_01.txt.  If you did not receive a copy of
  13   * the PHP License and are unable to obtain it through the web, please
  14   * send a note to [email protected] so we can mail you a copy immediately.
  15   *
  16   * @category   php
  17   * @package    PHP_ParserGenerator
  18   * @author     Gregory Beaver <[email protected]>
  19   * @copyright  2006 Gregory Beaver
  20   * @license    http://www.php.net/license/3_01.txt  PHP License 3.01
  21   * @version    CVS: $Id$
  22   * @since      File available since Release 0.1.0
  23   */
  24  /**
  25   * A followset propagation link indicates that the contents of one
  26   * configuration followset should be propagated to another whenever
  27   * the first changes.
  28   * 
  29   * @package    PHP_ParserGenerator
  30   * @author     Gregory Beaver <[email protected]>
  31   * @copyright  2006 Gregory Beaver
  32   * @license    http://www.php.net/license/3_01.txt  PHP License 3.01
  33   * @version    0.1.0
  34   * @since      Class available since Release 0.1.0
  35   */
  36  
  37  class PHP_ParserGenerator_PropagationLink {
  38      /**
  39       * The configuration that defines this propagation link
  40       * @var PHP_ParserGenerator_Config
  41       */
  42      public $cfp;
  43      /**
  44       * The next propagation link
  45       * @var PHP_ParserGenerator_PropagationLink|0
  46       */
  47      public $next = 0;
  48  
  49      /**
  50       * Add a propagation link to the current list
  51       * 
  52       * This prepends the configuration passed in to the first parameter
  53       * which is either 0 or a PHP_ParserGenerator_PropagationLink defining
  54       * an existing list.
  55       * @param PHP_ParserGenerator_PropagationLink|null
  56       * @param PHP_ParserGenerator_Config
  57       */
  58      static function Plink_add(&$plpp, PHP_ParserGenerator_Config $cfp)
  59      {
  60          $new = new PHP_ParserGenerator_PropagationLink;
  61          $new->next = $plpp;
  62          $plpp = $new;
  63          $new->cfp = $cfp;
  64      }
  65  
  66      /**
  67       * Transfer every propagation link on the list "from" to the list "to"
  68       */
  69      static function Plink_copy(PHP_ParserGenerator_PropagationLink &$to,
  70                                 PHP_ParserGenerator_PropagationLink $from)
  71      {
  72          while ($from) {
  73              $nextpl = $from->next;
  74              $from->next = $to;
  75              $to = $from;
  76              $from = $nextpl;
  77          }
  78      }
  79  
  80      /**
  81       * Delete every propagation link on the list
  82       * @param PHP_ParserGenerator_PropagationLink|0
  83       */
  84      static function Plink_delete($plp)
  85      {
  86          while ($plp) {
  87              $nextpl = $plp->next;
  88              $plp->next = 0;
  89              $plp = $nextpl;
  90          }
  91      }
  92  }
  93  


Generated: Fri Nov 28 20:08:37 2014 Cross-referenced by PHPXref 0.7.1