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 *);
49void rb_parser_set_options(
VALUE,
int,
int,
int,
int);
51void rb_parser_set_script_lines(
VALUE vparser);
52void rb_parser_error_tolerant(
VALUE vparser);
53void rb_parser_keep_tokens(
VALUE vparser);
57VALUE rb_parser_compile_generic(
VALUE vparser, rb_parser_lex_gets_func *lex_gets,
VALUE fname,
VALUE input,
int line);
78#define DEF_EXPR(n) EXPR_##n = (1 << EXPR_##n##_bit)
92 EXPR_VALUE = EXPR_BEG,
93 EXPR_BEG_ANY = (EXPR_BEG | EXPR_MID | EXPR_CLASS),
94 EXPR_ARG_ANY = (EXPR_ARG | EXPR_CMDARG),
95 EXPR_END_ANY = (EXPR_END | EXPR_ENDARG | EXPR_ENDFN),
99VALUE rb_ruby_ast_new(
const NODE *
const root);
uintptr_t VALUE
Type that represents a Ruby object.