Ruby: pm_multi_target_state_t Struct Reference

Ruby 3.4.6p54 (2025-09-16 revision dbd83256b1cec76c69756ecb8758b9e1079833de)

Data Fields
pm_multi_target_state_t Struct Reference

As we're compiling a multi target, we need to track additional information whenever there is a parent expression on the left hand side of the target. More...

## Data Fields
size_t | stack_size
size_t | position
pm_multi_target_state_node_t * | head
pm_multi_target_state_node_t * | tail

## Detailed Description

As we're compiling a multi target, we need to track additional information whenever there is a parent expression on the left hand side of the target.

This is because we need to go back and tell the expression where to fetch its parent expression from the stack. We use a linked list of nodes to track this information.

Definition at line 4791 of file prism_compile.c.

## Field Documentation

## ◆ head

pm_multi_target_state_node_t* pm_multi_target_state_t::head

Definition at line 4800 of file prism_compile.c.

## ◆ position

size_t pm_multi_target_state_t::position

Definition at line 4797 of file prism_compile.c.

## ◆ stack_size

size_t pm_multi_target_state_t::stack_size

Definition at line 4793 of file prism_compile.c.

## ◆ tail

pm_multi_target_state_node_t* pm_multi_target_state_t::tail

Definition at line 4803 of file prism_compile.c.

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

- prism_compile.c