2023-10-31 20:26:31 +03:00
|
|
|
/**
|
|
|
|
* @file prettyprint.h
|
|
|
|
*
|
|
|
|
* An AST node pretty-printer.
|
|
|
|
*/
|
2023-10-24 19:28:53 +03:00
|
|
|
#ifndef PRISM_PRETTYPRINT_H
|
|
|
|
#define PRISM_PRETTYPRINT_H
|
|
|
|
|
2024-03-25 17:08:21 +03:00
|
|
|
#include "prism/defines.h"
|
|
|
|
|
2024-03-20 17:08:13 +03:00
|
|
|
#ifdef PRISM_EXCLUDE_PRETTYPRINT
|
|
|
|
|
|
|
|
void pm_prettyprint(void);
|
|
|
|
|
|
|
|
#else
|
|
|
|
|
2023-10-24 19:28:53 +03:00
|
|
|
#include <stdio.h>
|
|
|
|
|
|
|
|
#include "prism/ast.h"
|
|
|
|
#include "prism/parser.h"
|
|
|
|
#include "prism/util/pm_buffer.h"
|
|
|
|
|
2023-10-31 18:38:06 +03:00
|
|
|
/**
|
|
|
|
* 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.
|
|
|
|
*/
|
2023-10-24 19:28:53 +03:00
|
|
|
PRISM_EXPORTED_FUNCTION void pm_prettyprint(pm_buffer_t *output_buffer, const pm_parser_t *parser, const pm_node_t *node);
|
|
|
|
|
|
|
|
#endif
|
2024-03-20 17:08:13 +03:00
|
|
|
|
|
|
|
#endif
|