[ Index ]

PHP Cross Reference of vtigercrm-6.1.0

title

Body

[close]

/pkg/vtiger/extensions/Webservices/third-party/ParserGenerator/ -> Rule.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   * Each production rule in the grammar is stored in this class
  26   * 
  27   * @package    PHP_ParserGenerator
  28   * @author     Gregory Beaver <[email protected]>
  29   * @copyright  2006 Gregory Beaver
  30   * @license    http://www.php.net/license/3_01.txt  PHP License 3.01
  31   * @version    0.1.0
  32   * @since      Class available since Release 0.1.0
  33   */
  34  class PHP_ParserGenerator_Rule {
  35      /**
  36       * Left-hand side of the rule
  37       * @var array an array of {@link PHP_ParserGenerator_Symbol} objects
  38       */
  39      public $lhs;
  40      /**
  41       * Alias for the LHS (NULL if none)
  42       *
  43       * @var array
  44       */
  45      public $lhsalias = array();
  46      /**
  47       * Line number for the rule
  48       * @var int
  49       */
  50      public $ruleline;
  51      /**
  52       * Number of right-hand side symbols
  53       */
  54      public $nrhs;
  55      /**
  56       * The right-hand side symbols
  57       * @var array an array of {@link PHP_ParserGenerator_Symbol} objects
  58       */
  59      public $rhs;
  60      /**
  61       * Aliases for each right-hand side symbol, or null if no alis.
  62       * 
  63       * In this rule:
  64       * <pre>
  65       * foo ::= BAR(A) baz(B).
  66       * </pre>
  67       * 
  68       * The right-hand side aliases are A for BAR, and B for baz.
  69       * @var array aliases are indexed by the right-hand side symbol index.
  70       */
  71      public $rhsalias = array();
  72      /**
  73       * Line number at which code begins
  74       * @var int
  75       */
  76      public $line;
  77      /**
  78       * The code executed when this rule is reduced
  79       * 
  80       * <pre>
  81       * foo(R) ::= BAR(A) baz(B). {R = A + B;}
  82       * </pre>
  83       * 
  84       * In the rule above, the code is "R = A + B;"
  85       * @var string|0
  86       */
  87      public $code;
  88      /**
  89       * Precedence symbol for this rule
  90       * @var PHP_ParserGenerator_Symbol
  91       */
  92      public $precsym;
  93      /**
  94       * An index number for this rule
  95       * 
  96       * Used in both naming of reduce functions and determining which rule code
  97       * to use for reduce actions
  98       * @var int
  99       */
 100      public $index;
 101      /**
 102       * True if this rule is ever reduced
 103       * @var boolean
 104       */
 105      public $canReduce;
 106      /**
 107       * Next rule with the same left-hand side
 108       * @var PHP_ParserGenerator_Rule|0
 109       */
 110      public $nextlhs;
 111      /**
 112       * Next rule in the global list
 113       * @var PHP_ParserGenerator_Rule|0
 114       */
 115      public $next;
 116  }


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