Ruby 4.1.0dev (2026-03-28 revision 634707a7255f132eb486eaf57473925c288ef7bd)
Data Fields
pm_parser_t Struct Reference

Data Fields

pm_arena_tarena
 
pm_arena_t metadata_arena
 
uint32_t node_id
 
struct { 
 
   const uint8_t *   start 
 
   const uint8_t *   end 
 
   pm_constant_id_t   id 
 
constant_cache 
 
pm_lex_state_t lex_state
 
int enclosure_nesting
 
int lambda_enclosure_nesting
 
int brace_nesting
 
pm_state_stack_t do_loop_stack
 
pm_state_stack_t accepts_block_stack
 
struct { 
 
   pm_lex_mode_t *   current 
 
   pm_lex_mode_t   stack [PM_LEX_STACK_SIZE] 
 
   size_t   index 
 
lex_modes 
 
pm_token_t previous
 
pm_token_t current
 
const uint8_t * next_start
 
const uint8_t * heredoc_end
 
pm_list_t comment_list
 
pm_list_t magic_comment_list
 
pm_location_t data_loc
 
pm_list_t warning_list
 
pm_list_t error_list
 
pm_scope_tcurrent_scope
 
pm_context_node_tcurrent_context
 
pm_static_literals_tcurrent_hash_keys
 
const pm_encoding_tencoding
 
pm_encoding_changed_callback_t encoding_changed_callback
 
const uint8_t * encoding_comment_start
 
struct { 
 
   pm_lex_callback_t   callback 
 
   void *   data 
 
lex_callback 
 
pm_string_t filepath
 
pm_constant_pool_t constant_pool
 
pm_line_offset_list_t line_offsets
 
struct { 
 
   pm_node_flags_t   base 
 
   uint32_t   value 
 
   bool   lexed 
 
integer 
 
pm_string_t current_string
 
int32_t start_line
 
const pm_encoding_texplicit_encoding
 
pm_node_list_tcurrent_block_exits
 
pm_options_version_t version
 
uint8_t command_line
 
int8_t frozen_string_literal
 
bool parsing_eval
 
bool partial_script
 
bool command_start
 
bool in_endless_def_body
 
bool recovering
 
bool continuable
 
bool encoding_locked
 
bool encoding_changed
 
bool pattern_matching_newlines
 
bool in_keyword_arg
 
bool semantic_token_seen
 
bool warn_mismatched_indentation
 

Detailed Description

Definition at line 571 of file parser.h.

Field Documentation

◆ accepts_block_stack

pm_state_stack_t pm_parser_t::accepts_block_stack

Definition at line 625 of file parser.h.

◆ arena

pm_arena_t* pm_parser_t::arena

Definition at line 573 of file parser.h.

◆ base

pm_node_flags_t pm_parser_t::base

Definition at line 766 of file parser.h.

◆ brace_nesting

int pm_parser_t::brace_nesting

Definition at line 613 of file parser.h.

◆ callback

pm_lex_callback_t pm_parser_t::callback

Definition at line 733 of file parser.h.

◆ command_line

uint8_t pm_parser_t::command_line

Definition at line 840 of file parser.h.

◆ command_start

bool pm_parser_t::command_start

Definition at line 866 of file parser.h.

◆ comment_list

pm_list_t pm_parser_t::comment_list

Definition at line 667 of file parser.h.

◆ constant_pool

pm_constant_pool_t pm_parser_t::constant_pool

Definition at line 753 of file parser.h.

◆ continuable

bool pm_parser_t::continuable

Definition at line 884 of file parser.h.

◆ current [1/2]

pm_lex_mode_t* pm_parser_t::current

Definition at line 630 of file parser.h.

◆ current [2/2]

pm_token_t pm_parser_t::current

Definition at line 649 of file parser.h.

◆ current_block_exits

pm_node_list_t* pm_parser_t::current_block_exits

Definition at line 834 of file parser.h.

◆ current_context

pm_context_node_t* pm_parser_t::current_context

Definition at line 689 of file parser.h.

◆ current_hash_keys

pm_static_literals_t* pm_parser_t::current_hash_keys

Definition at line 698 of file parser.h.

◆ current_scope

pm_scope_t* pm_parser_t::current_scope

Definition at line 686 of file parser.h.

◆ current_string

pm_string_t pm_parser_t::current_string

Definition at line 784 of file parser.h.

◆ data

void* pm_parser_t::data

Definition at line 740 of file parser.h.

◆ data_loc

pm_location_t pm_parser_t::data_loc

Definition at line 677 of file parser.h.

◆ do_loop_stack

pm_state_stack_t pm_parser_t::do_loop_stack

Definition at line 619 of file parser.h.

◆ enclosure_nesting

int pm_parser_t::enclosure_nesting

Definition at line 601 of file parser.h.

◆ encoding

const pm_encoding_t* pm_parser_t::encoding

Definition at line 704 of file parser.h.

◆ encoding_changed

bool pm_parser_t::encoding_changed

Definition at line 899 of file parser.h.

◆ encoding_changed_callback

pm_encoding_changed_callback_t pm_parser_t::encoding_changed_callback

Definition at line 711 of file parser.h.

◆ encoding_comment_start

const uint8_t* pm_parser_t::encoding_comment_start

Definition at line 717 of file parser.h.

◆ encoding_locked

bool pm_parser_t::encoding_locked

Definition at line 892 of file parser.h.

◆ end

const uint8_t * pm_parser_t::end

Definition at line 593 of file parser.h.

◆ error_list

pm_list_t pm_parser_t::error_list

Definition at line 683 of file parser.h.

◆ explicit_encoding

const pm_encoding_t* pm_parser_t::explicit_encoding

Definition at line 821 of file parser.h.

◆ filepath

pm_string_t pm_parser_t::filepath

Definition at line 747 of file parser.h.

◆ frozen_string_literal

int8_t pm_parser_t::frozen_string_literal

Definition at line 850 of file parser.h.

◆ heredoc_end

const uint8_t* pm_parser_t::heredoc_end

Definition at line 664 of file parser.h.

◆ id

pm_constant_id_t pm_parser_t::id

Definition at line 594 of file parser.h.

◆ in_endless_def_body

bool pm_parser_t::in_endless_def_body

Definition at line 873 of file parser.h.

◆ in_keyword_arg

bool pm_parser_t::in_keyword_arg

Definition at line 908 of file parser.h.

◆ index

size_t pm_parser_t::index

Definition at line 636 of file parser.h.

◆ lambda_enclosure_nesting

int pm_parser_t::lambda_enclosure_nesting

Definition at line 607 of file parser.h.

◆ lex_state

pm_lex_state_t pm_parser_t::lex_state

Definition at line 598 of file parser.h.

◆ lexed

bool pm_parser_t::lexed

Definition at line 777 of file parser.h.

◆ line_offsets

pm_line_offset_list_t pm_parser_t::line_offsets

Definition at line 756 of file parser.h.

◆ magic_comment_list

pm_list_t pm_parser_t::magic_comment_list

Definition at line 670 of file parser.h.

◆ metadata_arena

pm_arena_t pm_parser_t::metadata_arena

Definition at line 576 of file parser.h.

◆ next_start

const uint8_t* pm_parser_t::next_start

Definition at line 656 of file parser.h.

◆ node_id

uint32_t pm_parser_t::node_id

Definition at line 583 of file parser.h.

◆ parsing_eval

bool pm_parser_t::parsing_eval

Definition at line 856 of file parser.h.

◆ partial_script

bool pm_parser_t::partial_script

Definition at line 863 of file parser.h.

◆ pattern_matching_newlines

bool pm_parser_t::pattern_matching_newlines

Definition at line 905 of file parser.h.

◆ previous

pm_token_t pm_parser_t::previous

Definition at line 646 of file parser.h.

◆ recovering

bool pm_parser_t::recovering

Definition at line 876 of file parser.h.

◆ semantic_token_seen

bool pm_parser_t::semantic_token_seen

Definition at line 914 of file parser.h.

◆ stack

pm_lex_mode_t pm_parser_t::stack[PM_LEX_STACK_SIZE]

Definition at line 633 of file parser.h.

◆ start

const uint8_t * pm_parser_t::start

Definition at line 592 of file parser.h.

◆ start_line

int32_t pm_parser_t::start_line

Definition at line 790 of file parser.h.

◆ value

uint32_t pm_parser_t::value

Definition at line 774 of file parser.h.

◆ version

pm_options_version_t pm_parser_t::version

Definition at line 837 of file parser.h.

◆ warn_mismatched_indentation

bool pm_parser_t::warn_mismatched_indentation

Definition at line 920 of file parser.h.

◆ warning_list

pm_list_t pm_parser_t::warning_list

Definition at line 680 of file parser.h.


The documentation for this struct was generated from the following file: