Table of Contents

Class: Scanner em.py

A scanner holds a buffer for lookahead parsing and has the ability to scan for special tokens and indicators in that buffer.

Methods   
__getitem__
__init__
__len__
__nonzero__
check
chop
complex
feed
find
keyword
next
phrase
push
read
rest
set
simple
word
  __getitem__ 
__getitem__ ( self,  index )

  __init__ 
__init__ ( self,  data=None )

  __len__ 
__len__ ( self )

  __nonzero__ 
__nonzero__ ( self )

  check 
check (
        self,
        i,
        archetype=None,
        )

Scan for the next single or triple quote, with the specified archetype (if the archetype is present, only trigger on those types of quotes. Return the found quote or None.

Exceptions   
TransientParseError, "need to scan for rest of quote"
  chop 
chop (
        self,
        count=None,
        slop=False,
        )

Chop the first count + slop characters off the front, and return the first count. If count is not specified, then return everything.

  complex 
complex (
        self,
        enter,
        exit,
        start=0,
        end=None,
        skip=None,
        )

Scan from i for an ending sequence, respecting entries and exits.

Exceptions   
TransientParseError, "expecting end of complex expression"
  feed 
feed ( self,  data )

Feed some more data to the scanner.

  find 
find (
        self,
        sub,
        start=0,
        end=None,
        )

Find the next occurrence of the character, or return -1.

  keyword 
keyword (
        self,
        word,
        start=0,
        end=None,
        mandatory=False,
        )

Exceptions   
ParseError, "missing keyword %s" % word
TransientParseError, "missing keyword %s" % word
  next 
next (
        self,
        target,
        start=0,
        end=None,
        mandatory=False,
        )

Scan from i to j for the next occurrence of one of the characters in the target string; optionally, make the scan mandatory.

Exceptions   
ParseError, "expecting %s, not found" % target
TransientParseError, "expecting ending character"
  phrase 
phrase ( self,  start=0 )

Scan from i for a phrase (e.g., word, f(a, b, c), 'a[i]', or combinations like 'x[i](a)'.

  push 
push ( self,  data )

Push data back; the reverse of chop.

  read 
read (
        self,
        i=0,
        count=1,
        )

Read count chars starting from i; raise a transient error if there aren't enough characters remaining.

Exceptions   
TransientParseError, "need more data to read"
  rest 
rest ( self )

Get the remainder of the buffer.

  set 
set ( self,  data )

Start the scanner digesting a new batch of data; start the pointer over from scratch.

  simple 
simple ( self,  start=0 )

Scan from i for a simple expression, which consists of one more phrases separated by dots.

  word 
word ( self,  start=0 )

Scan from i for a simple word.

Exceptions   
TransientParseError, "expecting end of word"

Table of Contents

This document was automatically generated on Fri Oct 18 20:03:43 2002 by HappyDoc version 2.0.1