[Synopsis-changes] Synopsis/Synopsis/doc/Tutorial parameters.py,NONE,1.1 Makefile,1.12,1.13 Tutorial.xml,1.8,1.9 html.xsl,1.6,1.7

Stefan Seefeld stefan at synopsis.fresco.org
Mon Dec 8 18:24:22 UTC 2003


Update of /cvs/synopsis/Synopsis/doc/Tutorial
In directory frida:/tmp/cvs-serv463/doc/Tutorial

Modified Files:
	Makefile Tutorial.xml html.xsl 
Added Files:
	parameters.py 
Log Message:
put parameter listing of processors into the tutorial appendix

--- NEW FILE: parameters.py ---
#! /usr/bin/env python

"""This tool inspects synopsis processors and generates a docbook section
with a listing of all parameters for inclusion into the tutorial."""

from Synopsis.import_processor import import_processor
from Synopsis.Processor import Parametrized
import sys, string, types

def name_of_instance(instance):
   return '%s.%s'%(instance.__module__, instance.__class__.__name__)

if not len(sys.argv) == 3:
   print 'Usage : %s <processor> <output>'%sys.argv[0]
   sys.exit(-1)
   
try:
   processor = import_processor(sys.argv[1])
except ImportError, msg:
   sys.stderr.write('Error : %s'%msg)
   sys.exit(-1)

p = processor()
parameters = p.get_parameters()

output = open(sys.argv[2], 'w+')
output.write('<?xml version="1.0" encoding="UTF-8"?>\n')
output.write('<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"\n')
output.write('"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">\n')
output.write('<section>\n')
output.write('  <title>%s</title>\n'%name_of_instance(p))

output.write('  <segmentedlist>\n')
output.write('    <segtitle>Name</segtitle>\n')
output.write('    <segtitle>Default value</segtitle>\n')
output.write('    <segtitle>Description</segtitle>\n')

for name in parameters:
   output.write('    <seglistitem>\n')
   output.write('      <seg>%s</seg>\n'%name)
   parameter = parameters[name]
   value = parameter.value
   if type(value) == types.InstanceType or isinstance(value, Parametrized):
      value = name_of_instance(value)
   elif type(value) == types.ListType:
      if (len(value)
          and (type(value[0]) == types.InstanceType
               or isinstance(value[0], Parametrized))):
         value = '[%s]'%string.join(map(lambda x:name_of_instance(x), value), ', ')
   output.write('      <seg>%s</seg>\n'%value)
   output.write('      <seg>%s</seg>\n'%parameter.doc)
   output.write('    </seglistitem>\n')

output.write('  </segmentedlist>')
output.write('</section>\n')

Index: Makefile
===================================================================
RCS file: /cvs/synopsis/Synopsis/doc/Tutorial/Makefile,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -p -d -r1.12 -r1.13
--- Makefile	6 Dec 2003 04:05:27 -0000	1.12
+++ Makefile	8 Dec 2003 18:24:20 -0000	1.13
@@ -1,25 +1,38 @@
 srcdir	:= .
+processors := Synopsis.Parsers.Python.Parser \
+              Synopsis.Parsers.IDL.Parser \
+              Synopsis.Parsers.Cxx.Parser \
+              Synopsis.Processors.Linker \
+              Synopsis.Formatters.Dump.Formatter \
+              Synopsis.Formatters.Docbook.Formatter \
+              Synopsis.Formatters.Texinfo.Formatter \
+              Synopsis.Formatters.HTML.Formatter
+
+appendix	:= $(patsubst %, %.xml, $(processors))
 
 vpath Tutorial.xml $(srcdir)
 
 all: html pdf
 
-html: Tutorial.xml
+html: Tutorial.xml $(appendix)
 	mkdir -p $@
 	cp $(srcdir)/synopsis.css $@
-	xsltproc --novalid --xinclude -o $@/ $(srcdir)/html.xsl $^
+	xsltproc --novalid --path $(shell pwd) --xinclude -o $@/ $(srcdir)/html.xsl $<
 	mkdir -p $@/images
 	cp $(srcdir)/images/*.png $@/images/
 
 pdf: Tutorial.pdf
 
-Tutorial.pdf: Tutorial.fo
-	fop $^ $@
+Tutorial.pdf: Tutorial.fo $(appendix)
+	fop $< $@
 
 Tutorial.fo: Tutorial.xml
 	xsltproc --novalid --xinclude -o $@ $(srcdir)/fo.xsl $^
 	mkdir -p images
 	cp -u $(srcdir)/images/*.svg images/
+
+$(appendix): %.xml:
+	python $(srcdir)/parameters.py $(patsubst %.xml, %, $@) $@
 
 clean:
 	rm Tutorial.fo

Index: Tutorial.xml
===================================================================
RCS file: /cvs/synopsis/Synopsis/doc/Tutorial/Tutorial.xml,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -p -d -r1.8 -r1.9
--- Tutorial.xml	8 Dec 2003 03:36:49 -0000	1.8
+++ Tutorial.xml	8 Dec 2003 18:24:20 -0000	1.9
@@ -323,7 +323,9 @@
 linker = ...
 formatter = ...
 ast = AST()
-formatter.process(linker.process(parser.process(ast, input=[&#39;source.hh&#39;])), output=&#39;html&#39;)</programlisting>
+ast = parser.process(ast, input=[&#39;source.hh&#39;])
+ast = linker.process(ast)
+ast = formatter.process(ast, output=&#39;html&#39;)</programlisting>
 
       <para>And, to be a little bit more scalable, and to allow the use of
       dependency tracking build tools such as make, the intermediate asts can
@@ -392,40 +394,6 @@ formatter.process(linker.process(parser.
         uses a stylesheet for convenient display), or it can be analyzed
         with some special tools using xpath expressions.</para>
       <para>It is used right now for all unit tests.</para>
-      <para>Here are the available parameters</para>
-      <variablelist>
-        <varlistentry>
-          <term>show_ids</term>
-          <listitem>
-            <para>output object ids as attributes 
-              (these can vary between different executions)</para>
-          </listitem>
-        </varlistentry>
-        <varlistentry>
-          <term>show_declarations</term>
-          <listitem>
-            <para>output declarations</para>
-          </listitem>
-        </varlistentry>
-        <varlistentry>
-          <term>show_types</term>
-          <listitem>
-            <para>output types</para>
-          </listitem>
-        </varlistentry>
-        <varlistentry>
-          <term>show_files</term>
-          <listitem>
-            <para>output files</para>
-          </listitem>
-        </varlistentry>
-        <varlistentry>
-          <term>stylesheet</term>
-          <listitem>
-            <para>the stylesheet to refer to</para>
-          </listitem>
-        </varlistentry>
-      </variablelist>
     </section>
     <section id="ascii-formatter">
       <title>ASCII Formatter</title>
@@ -466,5 +434,13 @@ formatter.process(linker.process(parser.
       This is a listing of all processors with their respective parameters
       that can be set as described in <xref linkend="parameters" />.
     </para>
+    <xi:include href="Synopsis.Parsers.Python.Parser.xml"/>
+    <xi:include href="Synopsis.Parsers.IDL.Parser.xml"/>
+    <xi:include href="Synopsis.Parsers.Cxx.Parser.xml"/>
+    <xi:include href="Synopsis.Processors.Linker.xml"/>
+    <xi:include href="Synopsis.Formatters.Dump.Formatter.xml"/>
+    <xi:include href="Synopsis.Formatters.Docbook.Formatter.xml"/>
+    <xi:include href="Synopsis.Formatters.Texinfo.Formatter.xml"/>
+    <xi:include href="Synopsis.Formatters.HTML.Formatter.xml"/>
   </appendix>
 </book>

Index: html.xsl
===================================================================
RCS file: /cvs/synopsis/Synopsis/doc/Tutorial/html.xsl,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -p -d -r1.6 -r1.7
--- html.xsl	6 Dec 2003 05:36:23 -0000	1.6
+++ html.xsl	8 Dec 2003 18:24:20 -0000	1.7
@@ -10,7 +10,10 @@
 <xsl:param name="use.extensions" select="'1'"/>
 <xsl:param name="use.id.as.filename" select="1"/>
 <xsl:param name="chunk.first.sections" select="1"/>
+<xsl:param name="tablecolumns.extension" select="0"/>
 <xsl:param name="use.svg" select="0"/>
 <xsl:param name="header.rule" select="0"/>
 <xsl:param name="footer.rule" select="0"/>
+<xsl:param name="table.borders.with.css" select="1"/>
+<xsl:param name="segmentedlist.as.table" select="1"/>
 </xsl:stylesheet>





More information about the Synopsis-changes mailing list