Ruby: prism/extension.h Source File

Ruby 3.3.4p94 (2024-07-09 revision be1089c8ec5ba40e09b1553e36b3174bf4014d9d)

extension.h
1#ifndef PRISM_EXT_NODE_H
2#define PRISM_EXT_NODE_H
3
4#define EXPECTED_PRISM_VERSION "0.19.0"
5
6#include <ruby.h>
7#include <ruby/encoding.h>
8#include "prism.h"
9
10 VALUE pm_source_new(pm_parser_t *parser, rb_encoding *encoding);
11 VALUE pm_token_new(pm_parser_t *parser, pm_token_t *token, rb_encoding *encoding, VALUE source);
12 VALUE pm_ast_new(pm_parser_t *parser, pm_node_t *node, rb_encoding *encoding);
13
14void Init_prism_api_node(void);
15void Init_prism_pack(void);
16 PRISM_EXPORTED_FUNCTION void Init_prism(void);
17
18#endif
encoding.h
Encoding relates APIs.
PRISM_EXPORTED_FUNCTION
#define PRISM_EXPORTED_FUNCTION
By default, we compile with -fvisibility=hidden.
Definition defines.h:32
prism.h
The main header file for the prism parser.
OnigEncodingTypeST
Definition onigmo.h:160
pm_node
This is the base structure that represents a node in the syntax tree.
Definition ast.h:1061
pm_parser
This struct represents the overall parser.
Definition parser.h:489
pm_token_t
This struct represents a token in the Ruby source.
Definition ast.h:528
VALUE
uintptr_t VALUE
Type that represents a Ruby object.
Definition value.h:40