File: synopsis.py

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 (46 lines) | stat: -rw-r--r-- 1,662 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
from Synopsis.process import process
from Synopsis.Processor import Processor, Parameter, Composite
from Synopsis.Parsers import Cxx
from Synopsis.Processors import Linker
from Synopsis.Processors.Comments import SSFilter
from Synopsis.Processors.Comments import SSDFilter
from Synopsis.Processors.Comments import JavaFilter
from Synopsis.Processors.Comments import Previous
from Synopsis.Processors.Comments import JavaTags
from Synopsis.Processors.Comments import Grouper1
from Synopsis.Formatters import HTML
from Synopsis.Formatters.HTML import Comments
from Synopsis.Formatters import Dot

cxx = Cxx.Parser(base_path='../src')

cxx_ssd = Composite(cxx, SSDFilter())

html = HTML.Formatter(comment_formatters = [Comments.QuoteHTML(),
                                            Comments.Section(),
                                            Comments.Javadoc()])

class Joker(Processor):
    
   parameter = Parameter(':-)', 'a friendly parameter')

   def process(self, ast, **keywords):
      # override default parameter values
      self.set_parameters(keywords)
      # merge in ast from 'input' parameter if given
      self.ast = self.merge_input(ast)

      print 'this processor is harmless...', self.parameter
      
      # write to output (if given) and return ast
      return self.output_and_return_ast()
        

process(cxx_ssd = cxx_ssd,
        cxx_ss = Composite(cxx, SSFilter()),
        cxx_ssd_prev = Composite(cxx, SSDFilter(), Previous()),
        cxx_javadoc = Composite(cxx, JavaFilter(), JavaTags()),
        link = Linker(Grouper1()),
        html = html,
        dot = Dot.Formatter(),
        joker = Joker(parameter = '(-;'))