Home | Trees | Index | Help |
|
---|
Package docutils ::
Package parsers ::
Package rst ::
Module states
|
|
This is the docutils.parsers.restructuredtext.states module, the core of the reStructuredText parser. It defines the following:
The reStructuredText parser is implemented as a recursive state machine,
examining its input one line at a time. To understand how the parser works,
please first become familiar with the docutils.statemachine
module. In the
description below, references are made to classes defined in this module;
please see the individual classes for details.
Parsing proceeds as follows:
Body
, in order, looking for a match.
The implicit transitions (blank lines and indentation) are checked before
any others. The 'text' transition is a catch-all (matches anything).Body.doctest
parses a doctest block). The parser's
current line index is advanced to the end of the element, and parsing
continues with step 1.BulletList
in the case of the
'bullet' transition; see SpecializedBody
for more detail). This
state machine is run to parse the compound element (or series of
explicit markup elements), and returns as soon as a non-member element
is encountered. For example, the BulletList
state machine ends as
soon as it encounters an element which is not a list item of that
bullet list. The optional omission of inter-element blank lines is
enabled by this nested state machine.Text
, under which the second line is
examined. If the second line is:DefinitionList
state.Body
is still
used.Classes | |
---|---|
Body |
Generic classifier of the first line of a block. |
BulletList |
Second and subsequent bullet_list list_items. |
Definition |
Second line of potential definition_list_item. |
DefinitionList |
Second and subsequent definition_list_items. |
EnumeratedList |
Second and subsequent enumerated_list list_items. |
Explicit |
Second and subsequent explicit markup construct. |
ExtensionOptions |
Parse field_list fields for extension options. |
FieldList |
Second and subsequent field_list fields. |
Inliner |
Parse inline markup; call the parse() method. |
Line |
Second line of over- & underlined section title or transition marker. |
NestedStateMachine |
StateMachine run from within other StateMachine runs, to parse nested document structures. |
OptionList |
Second and subsequent option_list option_list_items. |
RFC2822Body |
RFC2822 headers are only valid as the first constructs in documents. |
RFC2822List |
Second and subsequent RFC2822-style field_list fields. |
RSTState |
reStructuredText State superclass. |
RSTStateMachine |
reStructuredText's master StateMachine. |
SpecializedBody |
Superclass for second and subsequent compound element members. |
SpecializedText |
Superclass for second and subsequent lines of Text-variants. |
Struct |
Stores data attributes for dotted-attribute access. |
SubstitutionDef |
Parser for the contents of a substitution_definition element. |
Text |
Classifier of second line of a text block. |
Exceptions | |
---|---|
InterpretedRoleNotImplementedError |
|
MarkupError |
|
MarkupMismatch |
|
ParserError |
|
UnknownInterpretedRoleError |
Function Summary | |
---|---|
Build, compile and return a regular expression based on definition . | |
Return a string with escape-backslashes converted to nulls. | |
Return a string with nulls removed or restored to backslashes. |
Variable Summary | |
---|---|
tuple |
state_classes = (<class docutils.parsers.rst.states.Body...
|
Function Details |
---|
build_regexp(definition, compile=1)Build, compile and return a regular expression based ondefinition . |
escape2null(text)Return a string with escape-backslashes converted to nulls. |
unescape(text, restore_backslashes=0)Return a string with nulls removed or restored to backslashes. Backslash-escaped spaces are also removed. |
Variable Details |
---|
Home | Trees | Index | Help |
|
---|
Generated by Epydoc 2.0 on Tue Jul 22 05:30:36 2003 | http://epydoc.sf.net |