1#ifndef INTERNAL_RUBY_PARSE_H
2#define INTERNAL_RUBY_PARSE_H
5#include "internal/bignum.h"
6#include "internal/compilers.h"
7#include "internal/complex.h"
8#include "internal/parse.h"
9#include "internal/rational.h"
10#include "rubyparser.h"
18RUBY_SYMBOL_EXPORT_BEGIN
19#ifdef UNIVERSAL_PARSER
20const rb_parser_config_t *rb_ruby_parser_config(
void);
24VALUE rb_parser_new(
void);
30VALUE rb_node_str_string_val(
const NODE *);
31VALUE rb_node_sym_string_val(
const NODE *);
32VALUE rb_node_dstr_string_val(
const NODE *);
33VALUE rb_node_regx_string_val(
const NODE *);
34VALUE rb_node_dregx_string_val(
const NODE *);
35VALUE rb_node_line_lineno_val(
const NODE *);
39VALUE rb_node_integer_literal_val(
const NODE *);
40VALUE rb_node_float_literal_val(
const NODE *);
41VALUE rb_node_rational_literal_val(
const NODE *);
42VALUE rb_node_imaginary_literal_val(
const NODE *);
53void rb_parser_set_options(
VALUE,
int,
int,
int,
int);
55void rb_parser_set_script_lines(
VALUE vparser);
56void rb_parser_error_tolerant(
VALUE vparser);
57void rb_parser_keep_tokens(
VALUE vparser);
61VALUE rb_parser_compile_generic(
VALUE vparser, rb_parser_lex_gets_func *lex_gets,
VALUE fname,
VALUE input,
int line);
63bool rb_ast_node_source_location(
VALUE source,
VALUE path,
int first_lineno,
64 int node_id,
bool block_iseq,
int iseq_node_id,
85#define DEF_EXPR(n) EXPR_##n = (1 << EXPR_##n##_bit)
99 EXPR_VALUE = EXPR_BEG,
100 EXPR_BEG_ANY = (EXPR_BEG | EXPR_MID | EXPR_CLASS),
101 EXPR_ARG_ANY = (EXPR_ARG | EXPR_CMDARG),
102 EXPR_END_ANY = (EXPR_END | EXPR_ENDARG | EXPR_ENDFN),
106VALUE rb_ruby_ast_new(
const NODE *
const root);
int len
Length of the buffer.
uintptr_t VALUE
Type that represents a Ruby object.