| |
- object
-
- BaseParser
class BaseParser(object) |
|
Class on which real-world parsers build
Normally you use a sub-class of this class, such as
simpleparser.parser.Parser |
|
Methods defined here:
- buildParser(self, name, processor)
- Build the tag-table for the parser
This method must be implemented by your base class and _not_
call the implementation here.
- buildProcessor(self)
- Build default processor object for this parser class
The default implementation returns None. The processor
can either implement the "method source" API (just provides
information about Callouts and the like), or the processor
API and the method-source API. The processor API merely
requires that the object be callable, and have the signature:
object( (success, children, nextPosition), buffer)
(Note: your object can treat the first item as a single tuple
if it likes).
See: simpleparse.processor module for details.
- parse(self, data, production=None, processor=None, start=0, stop=None)
- Parse data with production "production" of this parser
data -- data to be parsed, a Python string, for now
production -- optional string specifying a non-default production to use
for parsing data
processor -- optional pointer to a Processor or MethodSource object for
use in determining reporting format and/or post-processing the results
of the parsing pass. Can be None if neither is desired (default)
start -- starting index for the parsing, default 0
stop -- stoping index for the parsing, default len(data)
- resetBeforeParse(self)
- Called just before the parser's parse method starts working,
Allows you to set up special-purpose structures, such as stacks
or local storage values. There is no base implementation. The
base implementation does nothing.
Data descriptors defined here:
- __dict__
- dictionary for instance variables (if defined)
- __weakref__
- list of weak references to the object (if defined)
| |