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

Class Keyword

source code

   object --+        
ParserElement --+    
            Token --+
Known Subclasses:

Token to exactly match a specified string as a keyword, that is, it must be immediately followed by a non-keyword character. Compare with :class:`Literal`:

Accepts two optional constructor arguments in addition to the keyword string:


   Keyword("start").parseString("start")  # -> ['start']
   Keyword("start").parseString("starting")  # -> Exception

For case-insensitive matching, use :class:`CaselessKeyword`.

Nested Classes [hide private]
Instance Methods [hide private]
__init__(self, matchString, identChars=None, caseless=False)
x.__init__(...) initializes x; see help(type(x)) for signature
source code
parseImpl(self, instring, loc, doActions=True) source code
Make a copy of this :class:`ParserElement`.
source code

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

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

Static Methods [hide private]
Overrides the default Keyword chars
source code

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, matchString, identChars=None, caseless=False)

source code 

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

Overrides: object.__init__
(inherited documentation)

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

source code 
Overrides: ParserElement.parseImpl


source code 

Make a copy of this :class:`ParserElement`. Useful for defining different parse actions for the same parsing pattern, using copies of the original parse element.


   integer = Word(nums).setParseAction(lambda toks: int(toks[0]))
   integerK = integer.copy().addParseAction(lambda toks: toks[0] * 1024) + Suppress("K")
   integerM = integer.copy().addParseAction(lambda toks: toks[0] * 1024 * 1024) + Suppress("M")

   print(OneOrMore(integerK | integerM | integer).parseString("5K 100 640K 256M"))


   [5120, 100, 655360, 268435456]

Equivalent form of ``expr.copy()`` is just ``expr()``:

   integerM = integer().addParseAction(lambda toks: toks[0] * 1024 * 1024) + Suppress("M")
Overrides: ParserElement.copy
(inherited documentation)

Class Variable Details [hide private]