X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/6b5a748937ae95af26d78e9e5e7a335351a2970d..975bdced50287ed8b93aa7c698ab46e2e1f98121:/src/graphviz.h diff --git a/src/graphviz.h b/src/graphviz.h index f27c1105..239cdd21 100644 --- a/src/graphviz.h +++ b/src/graphviz.h @@ -22,28 +22,50 @@ #ifndef GRAPHVIZ_H_ # define GRAPHVIZ_H_ -/// Begin a Dot graph. -/// \param fout output stream. +#include "state.h" + +/** Begin a Dot graph. + * + * \param fout output stream. + */ void start_graph (FILE *fout); -/// Output a Dot node. -/// \param id identifier of the node -/// \param label human readable label of the node (no Dot escaping needed). -/// \param fout output stream. +/** Output a Dot node. + * + * \param id identifier of the node + * \param label human readable label of the node (no Dot escaping needed). + * \param fout output stream. + */ void output_node (int id, char const *label, FILE *fout); -/// Output a Dot edge. -/// \param source id of the source node -/// \param destination id of the target node -/// \param label human readable label of the edge -/// (no Dot escaping needed). Can be 0. -/// \param style Dot style of the edge (e.g., "dotted" or "solid"). -/// \param fout output stream. +/** Output a Dot edge. + * \param source id of the source node + * \param destination id of the target node + * \param label human readable label of the edge + * (no Dot escaping needed). Can be 0. + * \param style Dot style of the edge (e.g., "dotted" or "solid"). + * \param fout output stream. + */ void output_edge (int source, int destination, char const *label, char const *style, FILE *fout); -/// End a Dot graph. -/// \param fout output stream. +/** Output a reduction. + * \param s current state + * \param reds the set of reductions + * \param fout output stream. + */ +void output_red (state const *s, reductions const *reds, FILE *fout); + +/** End a Dot graph. + * + * \param fout output stream. + */ void finish_graph (FILE *fout); +/** Escape a lookahead token. + * + * \param name the token. + */ +char const *escape (char const *name); + #endif /* ! GRAPHVIZ_H_ */