1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>The Processor Pipeline</title><link rel="stylesheet" href="synopsis.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.65.1"><link rel="home" href="index.html" title="Synopsis Developer's Guide"><link rel="up" href="python.html" title="Chapter2.The Python API"><link rel="previous" href="python.html" title="Chapter2.The Python API"><link rel="next" href="parsers.html" title="The Parsers (Cpp, C, Cxx)"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">The Processor Pipeline</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="python.html">Prev</a></td><th width="60%" align="center">Chapter2.The Python API</th><td width="20%" align="right"><a accesskey="n" href="parsers.html">Next</a></td></tr></table></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="pipeline"></a>The Processor Pipeline</h2></div></div><div></div></div><p>
One of synopsis' main goals has been flexibility and extensibility with
respect to how exactly the parsed data are manipulated. It must be possible
for users to define their own output format, or their own way to annotate
the source code in comments.
</p><p>
To achieve this flexibility, synopsis defines a <span class="emphasis"><em>Processor</em></span>
protocol, which allows multiple processors to be chained into processing pipelines.
This way, a user can define his own pipeline, or even define his own processor.
</p><p>
Processors take an AST as input, and return an AST as output. One particular
processor as <span class="type">Formatters.Dump.Processor</span>, which dumps an AST into
an XML file. This may be useful for debugging purposes.
</p><p>
The scripting language used to define processors in terms of compound processors
(i.e. pipelines) is documented <a href="http://synopsis.fresco.org/docs/Tutorial/pipeline.html" target="_top">here</a>.
</p></div><div class="navfooter"><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="python.html">Prev</a></td><td width="20%" align="center"><a accesskey="u" href="python.html">Up</a></td><td width="40%" align="right"><a accesskey="n" href="parsers.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter2.The Python API</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">The Parsers (Cpp, C, Cxx)</td></tr></table></div></body></html>
|