simpleparse.generator
index
/usr/src/tmp/python3-module-simpleparse-buildroot/usr/lib/python3/site-packages/simpleparse/generator.py

Abstract representation of an in-memory grammar that generates parsers

 
Modules
       
collections
traceback

 
Classes
       
object
Generator
GeneratorAPI1

 
class Generator(object)
    Abstract representation of an in-memory grammar that generates parsers
 
The generator class manages a collection of
ElementToken objects.  These element token objects
allow the generator to be separated from the
particular parser associated with any particular EBNF
grammar.  In fact, it is possible to create entire grammars
using only the generator objects as a python API.
 
  Methods defined here:
__getitem__ = getRootObject(self, name)
__init__(self)
Initialise the Generator
addDefinition(self, name, rootElement)
Add a new definition (object) to the generator
addDefinitionSource(self, item)
Add a source for definitions when the current grammar doesn't supply
a particular rule (effectively common/shared items for the grammar).
buildParser(self, name, methodSource=None)
Build the given parser definition, returning a Parser object
get(self, name, default=None)
Get a particular token, or return default
getNameIndex(self, name)
Return the index into the main list for the given name
getNames(self)
Return the list of root generator objects
getObjectForName(self, name)
Determine whether our methodSource has a parsing method for the given name
 
returns ( flags or 0 , tagobject)
getRootObject(self, name)
Get a particular root object by name
getRootObjects(self)
Return the list of root generator objects
getTagObjectForName(self, name)
Get any explicitly defined tag object for the given name

Data descriptors defined here:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

 
class GeneratorAPI1(object)
    Stand-in class supporting operation of SimpleParse 1.0 applications
 
There was really only the one method of interest, parserbyname,
everything else was internal (and is now part of
simpleparsegrammar.py).
 
  Methods defined here:
__init__(self, production, prebuilt=())
parserbyname(self, name)
Retrieve a tag-table by production name

Data descriptors defined here:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

 
Functions
       
buildParser(declaration, prebuiltnodes=())
API 1.0 primary entry point, returns a GeneratorAPI1 instance
 
That object will respond to the parserbyname API expected by
SimpleParse 1.0 applications.

 
Data
        __file__ = '/usr/src/tmp/python3-module-simpleparse-buildroo...ib/python3/site-packages/simpleparse/generator.py'
__name__ = 'simpleparse.generator'
__package__ = 'simpleparse'