6#ifndef PRISM_SERIALIZE_H
7#define PRISM_SERIALIZE_H
14#ifndef PRISM_EXCLUDE_SERIALIZATION
A header file that defines macros to exclude certain features of the prism library.
#define PRISM_EXPORTED_FUNCTION
By default, we compile with -fvisibility=hidden.
The parser used to parse Ruby source.
A wrapper around a contiguous block of allocated memory.
#define PRISM_NONNULL(...)
Mark the parameters of a function as non-null.
PRISM_EXPORTED_FUNCTION void pm_serialize(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) PRISM_NONNULL(1
Serialize the AST represented by the given node to the given buffer.
PRISM_EXPORTED_FUNCTION void PRISM_EXPORTED_FUNCTION void PRISM_EXPORTED_FUNCTION void PRISM_EXPORTED_FUNCTION void PRISM_EXPORTED_FUNCTION void PRISM_EXPORTED_FUNCTION void PRISM_EXPORTED_FUNCTION bool pm_serialize_parse_success_p(const uint8_t *source, size_t size, const char *data) PRISM_NONNULL(1)
Parse the source and return true if it parses without errors or warnings.
PRISM_EXPORTED_FUNCTION void PRISM_EXPORTED_FUNCTION void PRISM_EXPORTED_FUNCTION void PRISM_EXPORTED_FUNCTION void PRISM_EXPORTED_FUNCTION void PRISM_EXPORTED_FUNCTION void pm_serialize_parse_lex(pm_buffer_t *buffer, const uint8_t *source, size_t size, const char *data) PRISM_NONNULL(1
Parse and serialize both the AST and the tokens represented by the given source to the given buffer.
PRISM_EXPORTED_FUNCTION void PRISM_EXPORTED_FUNCTION void PRISM_EXPORTED_FUNCTION void PRISM_EXPORTED_FUNCTION void PRISM_EXPORTED_FUNCTION void pm_serialize_lex(pm_buffer_t *buffer, const uint8_t *source, size_t size, const char *data) PRISM_NONNULL(1
Lex the given source and serialize to the given buffer.
PRISM_EXPORTED_FUNCTION void PRISM_EXPORTED_FUNCTION void PRISM_EXPORTED_FUNCTION void PRISM_EXPORTED_FUNCTION void pm_serialize_parse_comments(pm_buffer_t *buffer, const uint8_t *source, size_t size, const char *data) PRISM_NONNULL(1
Parse and serialize the comments in the given source to the given buffer.
PRISM_EXPORTED_FUNCTION void PRISM_EXPORTED_FUNCTION void pm_serialize_parse(pm_buffer_t *buffer, const uint8_t *source, size_t size, const char *data) PRISM_NONNULL(1
Parse the given source to the AST and dump the AST to the given buffer.
PRISM_EXPORTED_FUNCTION void PRISM_EXPORTED_FUNCTION void PRISM_EXPORTED_FUNCTION void pm_serialize_parse_stream(pm_buffer_t *buffer, pm_source_t *source, const char *data) PRISM_NONNULL(1
Parse and serialize the AST represented by the given source into the given buffer.
An opaque type representing the source code being parsed, regardless of origin (constant memory,...
Functions for parsing streams.
This is the base structure that represents a node in the syntax tree.