Module pyparsing :: Class Each
[hide private]
[frames] | no frames]

Class Each

source code

   object --+        
            |        
ParserElement --+    
                |    
  ParseExpression --+
                    |
                   Each

Requires all given :class:`ParseExpression` s to be found, but in any order. Expressions may be separated by whitespace.

May be constructed using the ``'&'`` operator.

Example:

   color = oneOf("RED ORANGE YELLOW GREEN BLUE PURPLE BLACK WHITE BROWN")
   shape_type = oneOf("SQUARE CIRCLE TRIANGLE STAR HEXAGON OCTAGON")
   integer = Word(nums)
   shape_attr = "shape:" + shape_type("shape")
   posn_attr = "posn:" + Group(integer("x") + ',' + integer("y"))("posn")
   color_attr = "color:" + color("color")
   size_attr = "size:" + integer("size")

   # use Each (using operator '&') to accept attributes in any order
   # (shape and posn are required, color and size are optional)
   shape_spec = shape_attr & posn_attr & Optional(color_attr) & Optional(size_attr)

   shape_spec.runTests('''
       shape: SQUARE color: BLACK posn: 100, 120
       shape: CIRCLE size: 50 color: BLUE posn: 50,80
       color:GREEN size:20 shape:TRIANGLE posn:20,40
       '''
       )

prints:

   shape: SQUARE color: BLACK posn: 100, 120
   ['shape:', 'SQUARE', 'color:', 'BLACK', 'posn:', ['100', ',', '120']]
   - color: BLACK
   - posn: ['100', ',', '120']
     - x: 100
     - y: 120
   - shape: SQUARE


   shape: CIRCLE size: 50 color: BLUE posn: 50,80
   ['shape:', 'CIRCLE', 'size:', '50', 'color:', 'BLUE', 'posn:', ['50', ',', '80']]
   - color: BLUE
   - posn: ['50', ',', '80']
     - x: 50
     - y: 80
   - shape: CIRCLE
   - size: 50


   color: GREEN size: 20 shape: TRIANGLE posn: 20,40
   ['color:', 'GREEN', 'size:', '20', 'shape:', 'TRIANGLE', 'posn:', ['20', ',', '40']]
   - color: GREEN
   - posn: ['20', ',', '40']
     - x: 20
     - y: 40
   - shape: TRIANGLE
   - size: 20
Nested Classes [hide private]
Instance Methods [hide private]
 
__init__(self, exprs, savelist=True)
x.__init__(...) initializes x; see help(type(x)) for signature
source code
 
streamline(self) source code
 
parseImpl(self, instring, loc, doActions=True) source code
 
__str__(self)
str(x)
source code
 
checkRecursion(self, parseElementList) source code

Inherited from ParseExpression: append, copy, ignore, leaveWhitespace, validate

Inherited from ParseExpression (private): _setResultsName

Inherited from ParserElement: __add__, __and__, __call__, __eq__, __getitem__, __hash__, __invert__, __iter__, __mul__, __ne__, __or__, __radd__, __rand__, __repr__, __req__, __rmul__, __rne__, __ror__, __rsub__, __rxor__, __sub__, __xor__, addCondition, addParseAction, canParseNext, matches, parseFile, parseString, parseWithTabs, postParse, preParse, runTests, scanString, searchString, setBreak, setDebug, setDebugActions, setFailAction, setName, setParseAction, setResultsName, setWhitespaceChars, split, suppress, transformString, tryParse

Inherited from object: __delattr__, __format__, __getattribute__, __new__, __reduce__, __reduce_ex__, __setattr__, __sizeof__, __subclasshook__

Static Methods [hide private]

Inherited from ParserElement: enablePackrat, inlineLiteralsUsing, resetCache, setDefaultWhitespaceChars

Class Variables [hide private]

Inherited from ParserElement: DEFAULT_WHITE_CHARS, packrat_cache, packrat_cache_lock, packrat_cache_stats, verbose_stacktrace

Inherited from ParserElement (private): _packratEnabled

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, exprs, savelist=True)
(Constructor)

source code 

x.__init__(...) initializes x; see help(type(x)) for signature

Overrides: object.__init__
(inherited documentation)

streamline(self)

source code 
Overrides: ParserElement.streamline

parseImpl(self, instring, loc, doActions=True)

source code 
Overrides: ParserElement.parseImpl

__str__(self)
(Informal representation operator)

source code 

str(x)

Overrides: object.__str__
(inherited documentation)

checkRecursion(self, parseElementList)

source code 
Overrides: ParserElement.checkRecursion