The s-dot2 Reference Manual

Table of Contents

Next: , Previous: , Up: (dir)   [Contents][Index]

The s-dot2 Reference Manual

This is the s-dot2 Reference Manual, version 1.3.0, generated automatically by Declt version 2.4 "Will Decker" on Wed Jun 20 12:32:14 2018 GMT+0.


Next: , Previous: , Up: Top   [Contents][Index]

1 Introduction

* Notes on this version

*I  am  not the  original  author  of  this library,  Martin  Loetzsch
(http://www.martin-loetzsch.de/S-DOT) is.*

This version  (marked as 1.3) of  the library is a  patched version of
the  original  one[fn:origin-website]  made   to  use  some  new  uiop
features, sb-ext:run-program if available and to pass its own tests (I
was unable to make them pass them on my system).

Important note: I  have switched from symbols to keywords  for the DSL
(i.e s-dot::'node -> :node).

* License

A  Common Lisp  language binding  for  the graphviz  'dot' tool.   See
http://www.martin-loetzsch.de/S-DOT for details

Copyright (c) 2006-2010 Martin Loetzsch.  All rights reserved.
	      
Redistribution and  use in  source and binary  forms, with  or without
modification, are permitted provided that the following conditions are
met:
	      
1. Redistributions of  source code  must retain  the above  copyright
   notice, this list of conditions and the following disclaimer.
	      
2. Redistributions in  binary form must reproduce  the above copyright
   notice, this list of conditions and the following disclaimer in the
   documentation   and/or   other    materials   provided   with   the
   distribution.
	      
3.  The end-user  documentation included  with the  redistribution, if
   any,  must  include  the following  acknowledgment:  "This  product
   includes      S-DOT      developed     by      Martin      Loetzsch
   (http://www.martin-loetzsch.de/S-DOT)."       Alternately,     this
   acknowledgment may appear  in the software itself,  if and wherever
   such third-party acknowledgments normally appear.
	      
THIS  SOFTWARE  IS PROVIDED  BY  MARTIN  LOETZSCH  ``AS IS''  AND  ANY
EXPRESSED OR  IMPLIED WARRANTIES, INCLUDING,  BUT NOT LIMITED  TO, THE
IMPLIED  WARRANTIES OF  MERCHANTABILITY AND  FITNESS FOR  A PARTICULAR
PURPOSE ARE  DISCLAIMED. IN NO  EVENT SHALL MARTIN LOETZSCH  BE LIABLE
FOR  ANY   DIRECT,  INDIRECT,   INCIDENTAL,  SPECIAL,   EXEMPLARY,  OR
CONSEQUENTIAL DAMAGES  (INCLUDING, BUT NOT LIMITED  TO, PROCUREMENT OF
SUBSTITUTE  GOODS OR  SERVICES;  LOSS  OF USE,  DATA,  OR PROFITS;  OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND  ON ANY THEORY OF LIABILITY,
WHETHER IN  CONTRACT, STRICT LIABILITY, OR  TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


[fn:origin-website] [[http://martin-loetzsch.de/S-DOT/][http://martin-loetzsch.de/S-DOT/]]



Next: , Previous: , Up: Top   [Contents][Index]

2 Systems

The main system appears first, followed by any subsystem dependency.


Previous: , Up: Systems   [Contents][Index]

2.1 s-dot2

Author

Martin Loetzsch

License

BSD-style

Description

Render Graphviz graphs from within Lisp

Long Description

See http://martin-loetzsch.de/S-DOT/

Version

1.3.0

Dependency

uiop

Source

s-dot2.asd (file)

Component

s-dot2.lisp (file)


Next: , Previous: , Up: Top   [Contents][Index]

3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


Previous: , Up: Files   [Contents][Index]

3.1 Lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.1 s-dot2.asd

Location

s-dot2.asd

Systems

s-dot2 (system)


Previous: , Up: Lisp files   [Contents][Index]

3.1.2 s-dot2/s-dot2.lisp

Parent

s-dot2 (system)

Location

s-dot2.lisp

Packages

s-dot

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

4 Packages

Packages are listed by definition order.


Previous: , Up: Packages   [Contents][Index]

4.1 s-dot

See http://martin-loetzsch.de/S-DOT

Source

s-dot2.lisp (file)

Use List
Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


Next: , Previous: , Up: Definitions   [Contents][Index]

5.1 Exported definitions


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.1 Special variables

Special Variable: *dot-exe*

the path (or name) name of the dot executable

Package

s-dot

Source

s-dot2.lisp (file)


Previous: , Up: Exported definitions   [Contents][Index]

5.1.2 Functions

Function: check-syntax GRAPH &key LEVEL

Checks whether the s-expression ’graph’ is syntactically correct. Note that it does not check whether the attributes contain useful values.

Package

s-dot

Source

s-dot2.lisp (file)

Function: render-s-dot FILE-NAME FORMAT GRAPH &key CHECK-SYNTAX

Renders a s-dot graph into a graphic file. ’file-name’ should be a pathname. If the file-name is /foo/bar.png, the dot file /foo/bar.dot is created and then rendered. Format should be one out of http://www.graphviz.org/doc/info/output.html, for example svg, ps, gif, png, or jpg. The uiop:run-program is used to launch dot. If that does not work for you, write a similar function that uses (s-dot->dot) for dot generation and then runs dot on it.

SBCL users may take advantage of sb-ext:run-program, opening a pipe to ’dot’ instead of writing a file and reading that in again.

Package

s-dot

Source

s-dot2.lisp (file)

Function: render-s-dot-sbcl FILE-NAME FORMAT GRAPH &key CHECK-SYNTAX
Package

s-dot

Source

s-dot2.lisp (file)

Function: s-dot->dot STREAM GRAPH &key CHECK-SYNTAX

Generates dot syntax from a s-dot expression and writes the result to ’stream’.
This code looks indeed ugly. If you really want to understand what’s going on, then it might be easier to look in the the XSLT stylesheet at http://www.martin-loetzsch.de/DOTML/dotml-1.3/dotml2dot.xsl . This code does exactly the same.

Package

s-dot

Source

s-dot2.lisp (file)


Previous: , Up: Definitions   [Contents][Index]

5.2 Internal definitions


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.1 Special variables

Special Variable: *dot-output-format-switch*

the command line option for dot needed to specify the output format

Package

s-dot

Source

s-dot2.lisp (file)

Special Variable: s-dot-syntax
Package

s-dot

Source

s-dot2.lisp (file)


Previous: , Up: Internal definitions   [Contents][Index]

5.2.2 Functions

Function: escape-record-label RAW &key ESCAPE-BAG
Package

s-dot

Source

s-dot2.lisp (file)

Function: test-s-dot ()

Generates a few charts in /tmp/. If you don’t have /tmp/, change the directory below to something else

Package

s-dot

Source

s-dot2.lisp (file)


Previous: , Up: Top   [Contents][Index]

Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts

Jump to:   F   L   S  
Index Entry  Section

F
File, Lisp, s-dot2.asd: The s-dot2<dot>asd file
File, Lisp, s-dot2/s-dot2.lisp: The s-dot2/s-dot2<dot>lisp file

L
Lisp File, s-dot2.asd: The s-dot2<dot>asd file
Lisp File, s-dot2/s-dot2.lisp: The s-dot2/s-dot2<dot>lisp file

S
s-dot2.asd: The s-dot2<dot>asd file
s-dot2/s-dot2.lisp: The s-dot2/s-dot2<dot>lisp file

Jump to:   F   L   S  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions

Jump to:   C   E   F   R   S   T  
Index Entry  Section

C
check-syntax: Exported functions

E
escape-record-label: Internal functions

F
Function, check-syntax: Exported functions
Function, escape-record-label: Internal functions
Function, render-s-dot: Exported functions
Function, render-s-dot-sbcl: Exported functions
Function, s-dot->dot: Exported functions
Function, test-s-dot: Internal functions

R
render-s-dot: Exported functions
render-s-dot-sbcl: Exported functions

S
s-dot->dot: Exported functions

T
test-s-dot: Internal functions

Jump to:   C   E   F   R   S   T  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.3 Variables

Jump to:   *  
S  
Index Entry  Section

*
*dot-exe*: Exported special variables
*dot-output-format-switch*: Internal special variables

S
s-dot-syntax: Internal special variables
Special Variable, *dot-exe*: Exported special variables
Special Variable, *dot-output-format-switch*: Internal special variables
Special Variable, s-dot-syntax: Internal special variables

Jump to:   *  
S  

Previous: , Up: Indexes   [Contents][Index]

A.4 Data types

Jump to:   P   S  
Index Entry  Section

P
Package, s-dot: The s-dot package

S
s-dot: The s-dot package
s-dot2: The s-dot2 system
System, s-dot2: The s-dot2 system

Jump to:   P   S