Ruby: prism/prettyprint.h Source File

Ruby 3.4.8p72 (2025-12-17 revision 995b59f66677d44767ce9faac6957e5543617ff9)

prettyprint.h
Go to the documentation of this file.
1
6#ifndef PRISM_PRETTYPRINT_H
7#define PRISM_PRETTYPRINT_H
8
9#include "prism/defines.h"
10
11#ifdef PRISM_EXCLUDE_PRETTYPRINT
12
13void pm_prettyprint(void);
14
15#else
16
17#include <stdio.h>
18
19#include "prism/ast.h"
20#include "prism/parser.h"
21#include "prism/util/pm_buffer.h"
22
30 PRISM_EXPORTED_FUNCTION void pm_prettyprint(pm_buffer_t *output_buffer, const pm_parser_t *parser, const pm_node_t *node);
31
32#endif
33
34#endif
parser.h
The parser used to parse Ruby source.
pm_buffer.h
A wrapper around a contiguous block of allocated memory.
pm_prettyprint
PRISM_EXPORTED_FUNCTION void pm_prettyprint(pm_buffer_t *output_buffer, const pm_parser_t *parser, const pm_node_t *node)
Pretty-prints the AST represented by the given node to the given buffer.
Definition prettyprint.c:8935
defines.h
Macro definitions used throughout the prism library.
PRISM_EXPORTED_FUNCTION
#define PRISM_EXPORTED_FUNCTION
By default, we compile with -fvisibility=hidden.
Definition defines.h:53
pm_buffer_t
A pm_buffer_t is a simple memory buffer that stores data in a contiguous block of memory.
Definition pm_buffer.h:22
pm_node
This is the base structure that represents a node in the syntax tree.
Definition ast.h:1068
pm_parser
This struct represents the overall parser.
Definition parser.h:640