Logo Search packages:      
Sourcecode: bauble version File versions

def bauble::utils::pyparsing::ParserElement::scanString (   self,
  instring,
  maxMatches = _MAX_INT 
) [inherited]

Scan the input string for expression matches.  Each match will return the
   matching tokens, start location, and end location.  May be called with optional
   maxMatches argument, to clip scanning after 'n' matches are found.

   Note that the start and end locations are reported relative to the string
   being parsed.  See L{I{parseString}<parseString>} for more information on parsing
   strings with embedded tabs.

Definition at line 1071 of file pyparsing.py.

01071                                                          :
        """Scan the input string for expression matches.  Each match will return the
           matching tokens, start location, and end location.  May be called with optional
           maxMatches argument, to clip scanning after 'n' matches are found.

           Note that the start and end locations are reported relative to the string
           being parsed.  See L{I{parseString}<parseString>} for more information on parsing
           strings with embedded tabs."""
        if not self.streamlined:
            self.streamline()
        for e in self.ignoreExprs:
            e.streamline()

        if not self.keepTabs:
            instring = _ustr(instring).expandtabs()
        instrlen = len(instring)
        loc = 0
        preparseFn = self.preParse
        parseFn = self._parse
        ParserElement.resetCache()
        matches = 0
        while loc <= instrlen and matches < maxMatches:
            try:
                preloc = preparseFn( instring, loc )
                nextLoc,tokens = parseFn( instring, preloc, callPreParse=False )
            except ParseException:
                loc = preloc+1
            else:
                matches += 1
                yield tokens, preloc, nextLoc
                loc = nextLoc


Generated by  Doxygen 1.6.0   Back to index