protocol

# `graph_language_protocol`

Predicates for generating graph files.

Author: Paulo Moura
Version: 2:0:0
Date: 2014-12-30
Compilation flags:
`static`
Dependencies:
(none)
Remarks:
(none)
Inherited public predicates:
(none)

- Public predicates

  - `output_file_name/2`

  - `file_header/3`

  - `file_footer/3`

  - `graph_header/5`

  - `graph_footer/5`

  - `node/7`

  - `edge/6`

- Protected predicates

- Private predicates

- Operators

## Public predicates

### `output_file_name/2`

Constructs the diagram file basename by adding a graph language dependent extension to the given name.

Compilation flags:
`static`
Template:
`output_file_name(Name,Basename)`
Mode and number of proofs:
`output_file_name(+atom,-atom)` - `one`

### `file_header/3`

Writes the output file header using the specified options.

Compilation flags:
`static`
Template:
`file_header(Stream,Identifier,Options)`
Mode and number of proofs:
`file_header(+stream_or_alias,+atom,+list(compound))` - `one`

### `file_footer/3`

Writes the output file footer using the specified options.

Compilation flags:
`static`
Template:
`file_footer(Stream,Identifier,Options)`
Mode and number of proofs:
`file_footer(+stream_or_alias,+atom,+list(compound))` - `one`

### `graph_header/5`

Writes a graph header using the specified options.

Compilation flags:
`static`
Template:
`graph_header(Stream,Identifier,Label,Kind,Options)`
Mode and number of proofs:
`graph_header(+stream_or_alias,+atom,+atom,+atom,+list(compound))` - `one`

### `graph_footer/5`

Writes a graph footer using the specified options.

Compilation flags:
`static`
Template:
`graph_footer(Stream,Identifier,Label,Kind,Options)`
Mode and number of proofs:
`graph_footer(+stream_or_alias,+atom,+atom,+atom,+list(compound))` - `one`

### `node/7`

Writes a node using the specified options.

Compilation flags:
`static`
Template:
`node(Stream,Identifier,Label,Caption,Lines,Kind,Options)`
Mode and number of proofs:
`node(+stream_or_alias,+nonvar,+nonvar,+nonvar,+list(nonvar),+atom,+list(compound))` - `one`

### `edge/6`

Writes an edge between two nodes using the specified options.

Compilation flags:
`static`
Template:
`edge(Stream,Start,End,Labels,Kind,Options)`
Mode and number of proofs:
`edge(+stream_or_alias,+nonvar,+nonvar,+list(nonvar),+atom,+list(compound))` - `one`

## Protected predicates

(none)

## Private predicates

(none)

## Operators

(none)