protocol

# graph_language_protocol

> Predicates for generating graph files.

author:
  `Paulo Moura`
version:
  `2.0`
date:
  `2014/12/30`

compilation flags:
  `static`

(no dependencies on other files)

## Public interface

### 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 – 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 – 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 – 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 – 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 – 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 – 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 – number of proofs:
  `edge(+stream_or_alias,+nonvar,+nonvar,+list(nonvar),+atom,+list(compound)) – one`

## Protected interface

(none)

## Private predicates

(none)

## Operators

### (none)

## Remarks

### (none)