Ruby: prism/extension.h Source File

Ruby 3.4.1p0 (2024-12-25 revision 48d4efcb85000e1ebae42004e963b5d0cedddcf2)

extension.h
1#ifndef PRISM_EXT_NODE_H
2#define PRISM_EXT_NODE_H
3
4#define EXPECTED_PRISM_VERSION "1.2.0"
5
6#include <ruby.h>
7#include <ruby/encoding.h>
8#include "prism.h"
9
10 VALUE pm_source_new(const pm_parser_t *parser, rb_encoding *encoding);
11 VALUE pm_token_new(const pm_parser_t *parser, const pm_token_t *token, rb_encoding *encoding, VALUE source);
12 VALUE pm_ast_new(const pm_parser_t *parser, const pm_node_t *node, rb_encoding *encoding, VALUE source);
13 VALUE pm_integer_new(const pm_integer_t *integer);
14
15void Init_prism_api_node(void);
16void Init_prism_pack(void);
17RUBY_FUNC_EXPORTED void Init_prism(void);
18
19#endif
pm_node_t
struct pm_node pm_node_t
This is the base structure that represents a node in the syntax tree.
encoding.h
Encoding relates APIs.
pm_parser_t
struct pm_parser pm_parser_t
The parser used to parse Ruby source.
Definition parser.h:267
prism.h
The main header file for the prism parser.
pm_integer_t
A structure represents an arbitrary-sized integer.
Definition pm_integer.h:20
pm_token_t
This struct represents a token in the Ruby source.
Definition ast.h:530
VALUE
uintptr_t VALUE
Type that represents a Ruby object.
Definition value.h:40