diff options
Diffstat (limited to 'prism/prettyprint.h')
| -rw-r--r-- | prism/prettyprint.h | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/prism/prettyprint.h b/prism/prettyprint.h new file mode 100644 index 0000000000..0d8e416341 --- /dev/null +++ b/prism/prettyprint.h @@ -0,0 +1,31 @@ +/** + * @file prettyprint.h + * + * An AST node pretty-printer. + */ +#ifndef PRISM_PRETTYPRINT_H +#define PRISM_PRETTYPRINT_H + +#include "prism/excludes.h" + +#ifndef PRISM_EXCLUDE_PRETTYPRINT + +#include "prism/compiler/exported.h" +#include "prism/compiler/nonnull.h" + +#include "prism/ast.h" +#include "prism/buffer.h" +#include "prism/parser.h" + +/** + * Pretty-prints the AST represented by the given node to the given buffer. + * + * @param output_buffer The buffer to write the pretty-printed AST to. + * @param parser The parser that parsed the AST. + * @param node The root node of the AST to pretty-print. + */ +PRISM_EXPORTED_FUNCTION void pm_prettyprint(pm_buffer_t *output_buffer, const pm_parser_t *parser, const pm_node_t *node) PRISM_NONNULL(1, 2, 3); + +#endif + +#endif |
