[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.orgMon Dec 8 18:24:22 UTC 2003
- Previous message: [Synopsis-changes] Synopsis/Synopsis/Synopsis import_processor.py,NONE,1.1
- Next message: [Synopsis-changes] Synopsis/Synopsis/doc/Manual synopsis.py,1.10,1.11
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
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=['source.hh'])), output='html')</programlisting>
+ast = parser.process(ast, input=['source.hh'])
+ast = linker.process(ast)
+ast = formatter.process(ast, output='html')</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>
- Previous message: [Synopsis-changes] Synopsis/Synopsis/Synopsis import_processor.py,NONE,1.1
- Next message: [Synopsis-changes] Synopsis/Synopsis/doc/Manual synopsis.py,1.10,1.11
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Synopsis-changes mailing list