The s-dot2 Reference Manual

This is the s-dot2 Reference Manual, version 1.3.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 17:49:29 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

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


2.1 s-dot2

Render Graphviz graphs from within Lisp

Author

Martin Loetzsch, cage

License

BSD-style

Long Description

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

Version

1.3.0

Dependency

uiop (system).

Source

s-dot2.asd.

Child Component

s-dot2.lisp (file).


3 Files

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


3.1 Lisp


3.1.1 s-dot2/s-dot2.asd

Source

s-dot2.asd.

Parent Component

s-dot2 (system).

ASDF Systems

s-dot2.


3.1.2 s-dot2/s-dot2.lisp

Source

s-dot2.asd.

Parent Component

s-dot2 (system).

Packages

s-dot.

Public Interface
Internals

4 Packages

Packages are listed by definition order.


4.1 s-dot

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

Source

s-dot2.lisp.

Use List
  • common-lisp.
  • uiop/driver.
Public Interface
Internals

5 Definitions

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


5.1 Public Interface


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.


5.1.2 Ordinary 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.

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.

Function: render-s-dot-sbcl (file-name format graph &key check-syntax)
Package

s-dot.

Source

s-dot2.lisp.

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.


5.2 Internals


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.

Special Variable: s-dot-syntax
Package

s-dot.

Source

s-dot2.lisp.


5.2.2 Ordinary functions

Function: escape-record-label (raw &key escape-bag)
Package

s-dot.

Source

s-dot2.lisp.

Function: test-s-dot ()

Generates a few charts in the system temporary directory

Package

s-dot.

Source

s-dot2.lisp.


Appendix A Indexes


A.1 Concepts