Package pyparsing :: Module pyparsing :: Class Forward |
[frames] | no frames]

# Class Forward

source code

         object --+
                  |
      ParserElement --+
                      |
    ParseElementEnhance --+
                          |
                         Forward

Known Subclasses:
  - _ForwardNoRecurse

Forward declaration of an expression to be defined later - used for recursive grammars, such as algebraic infix notation. When the expression is known, it is assigned to the Forward variable using the '<<' operator.

Note: take care when assigning to Forward not to overlook precedence of operators. Specifically, '|' has a lower precedence than '<<', so that:

      fwdExpr << a | b | c

will actually be evaluated as:

      (fwdExpr << a) | b | c

thereby leaving b and c out as parseable alternatives. It is recommended that you explicitly group the values inserted into the Forward:

      fwdExpr << (a | b | c)

Instance Methods
__init__(self, other=None) x.__init__(...) initializes x; see x.__class__.__doc__ for signature | source code
__lshift__(self, other) | source code
leaveWhitespace(self) Disables the skipping of whitespace before matching the characters in the ParserElement's defined pattern. | source code
streamline(self) | source code
validate(self, validateTrace=`[``]`) Check defined expressions for valid structure, check for infinite recursive definitions. | source code
__str__(self) str(x) | source code
copy(self) Make a copy of this ParserElement. | source code
Inherited from `ParseElementEnhance`: `checkRecursion`, `ignore`, `parseImpl` Inherited from `ParserElement`: `__add__`, `__and__`, `__call__`, `__eq__`, `__getattr__`, `__hash__`, `__invert__`, `__mul__`, `__ne__`, `__or__`, `__radd__`, `__rand__`, `__repr__`, `__req__`, `__rmul__`, `__rne__`, `__ror__`, `__rsub__`, `__rxor__`, `__sub__`, `__xor__`, `addParseAction`, `getException`, `parseFile`, `parseString`, `parseWithTabs`, `postParse`, `preParse`, `scanString`, `searchString`, `setBreak`, `setDebug`, `setDebugActions`, `setFailAction`, `setName`, `setParseAction`, `setResultsName`, `setWhitespaceChars`, `suppress`, `transformString`, `tryParse` Inherited from `object`: `__delattr__`, `__getattribute__`, `__new__`, `__reduce__`, `__reduce_ex__`, `__setattr__`

Static Methods
Inherited from `ParserElement`: `enablePackrat`, `resetCache`, `setDefaultWhitespaceChars`

Class Variables
Inherited from `ParserElement`: `DEFAULT_WHITE_CHARS`, `verbose_stacktrace`

Properties
Inherited from `object`: `__class__`

Method Details

### __init__(self, other=None) (Constructor) | source code
x.__init__(...) initializes x; see x.__class__.__doc__ for signature Overrides: object.__init__ (inherited documentation)

### leaveWhitespace(self) | source code
Disables the skipping of whitespace before matching the characters in the ParserElement's defined pattern. This is normally only used internally by the pyparsing module, but may be needed in some whitespace-sensitive grammars. Overrides: ParserElement.leaveWhitespace (inherited documentation)

### streamline(self) | source code
Overrides: ParserElement.streamline

### validate(self, validateTrace=`[``]`) | source code
Check defined expressions for valid structure, check for infinite recursive definitions. Overrides: ParserElement.validate (inherited documentation)

### __str__(self) (Informal representation operator) | source code
str(x) Overrides: object.__str__ (inherited documentation)

### copy(self) | source code
Make a copy of this ParserElement. Useful for defining different parse actions for the same parsing pattern, using copies of the original parse element. Overrides: ParserElement.copy (inherited documentation)