File: pipeline.html

package info (click to toggle)
synopsis 0.8.0-5
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 10,112 kB
  • ctags: 12,996
  • sloc: cpp: 34,254; ansic: 33,620; python: 10,975; sh: 7,261; xml: 6,369; makefile: 773; asm: 445
file content (17 lines) | stat: -rw-r--r-- 2,856 bytes parent folder | download | duplicates (2)
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>