| Cparse_regular_expression_error_data_t | This struct is used to pass information between the regular expression parser and the error callback |
| Cparse_regular_expression_named_capture_data_t | This struct is used to pass information between the regular expression parser and the named capture callback |
| Cpm_alias_global_variable_node | AliasGlobalVariableNode |
| Cpm_alias_method_node | AliasMethodNode |
| Cpm_alternation_pattern_node | AlternationPatternNode |
| Cpm_and_node | AndNode |
| Cpm_arguments_node | ArgumentsNode |
| Cpm_arguments_t | This is a special out parameter to the parse_arguments_list function that includes opening and closing parentheses in addition to the arguments since it's so common |
| Cpm_array_node | ArrayNode |
| Cpm_array_pattern_node | ArrayPatternNode |
| Cpm_assoc_node | AssocNode |
| Cpm_assoc_splat_node | AssocSplatNode |
| Cpm_back_reference_read_node | BackReferenceReadNode |
| Cpm_begin_node | BeginNode |
| Cpm_binding_powers_t | This struct represents a set of binding powers used for a given token |
| Cpm_block_argument_node | BlockArgumentNode |
| Cpm_block_local_variable_node | BlockLocalVariableNode |
| Cpm_block_node | BlockNode |
| Cpm_block_parameter_node | BlockParameterNode |
| Cpm_block_parameters_node | BlockParametersNode |
| Cpm_break_node | BreakNode |
| Cpm_buffer_t | A pm_buffer_t is a simple memory buffer that stores data in a contiguous block of memory |
| Cpm_call_and_write_node | CallAndWriteNode |
| Cpm_call_node | CallNode |
| Cpm_call_operator_write_node | CallOperatorWriteNode |
| Cpm_call_or_write_node | CallOrWriteNode |
| Cpm_call_target_node | CallTargetNode |
| Cpm_capture_pattern_node | CapturePatternNode |
| Cpm_case_match_node | CaseMatchNode |
| Cpm_case_node | CaseNode |
| Cpm_class_node | ClassNode |
| Cpm_class_variable_and_write_node | ClassVariableAndWriteNode |
| Cpm_class_variable_operator_write_node | ClassVariableOperatorWriteNode |
| Cpm_class_variable_or_write_node | ClassVariableOrWriteNode |
| Cpm_class_variable_read_node | ClassVariableReadNode |
| Cpm_class_variable_target_node | ClassVariableTargetNode |
| Cpm_class_variable_write_node | ClassVariableWriteNode |
| Cpm_comment | This is a node in the linked list of comments that we've found while parsing |
| Cpm_constant_and_write_node | ConstantAndWriteNode |
| Cpm_constant_id_list_t | A list of constant IDs |
| Cpm_constant_operator_write_node | ConstantOperatorWriteNode |
| Cpm_constant_or_write_node | ConstantOrWriteNode |
| Cpm_constant_path_and_write_node | ConstantPathAndWriteNode |
| Cpm_constant_path_node | ConstantPathNode |
| Cpm_constant_path_operator_write_node | ConstantPathOperatorWriteNode |
| Cpm_constant_path_or_write_node | ConstantPathOrWriteNode |
| Cpm_constant_path_target_node | ConstantPathTargetNode |
| Cpm_constant_path_write_node | ConstantPathWriteNode |
| Cpm_constant_pool_bucket_t | A bucket in the hash map |
| Cpm_constant_pool_t | The overall constant pool, which stores constants found while parsing |
| Cpm_constant_read_node | ConstantReadNode |
| Cpm_constant_t | A constant in the pool which effectively stores a string |
| Cpm_constant_target_node | ConstantTargetNode |
| Cpm_constant_write_node | ConstantWriteNode |
| Cpm_context_node | This is a node in a linked list of contexts |
| Cpm_def_node | DefNode |
| Cpm_defined_node | DefinedNode |
| Cpm_diagnostic_data_t | This struct holds the data for each diagnostic |
| Cpm_diagnostic_t | This struct represents a diagnostic generated during parsing |
| Cpm_else_node | ElseNode |
| Cpm_embedded_statements_node | EmbeddedStatementsNode |
| Cpm_embedded_variable_node | EmbeddedVariableNode |
| Cpm_encoding_t | This struct defines the functions necessary to implement the encoding interface so we can determine how many bytes the subsequent character takes |
| Cpm_ensure_node | EnsureNode |
| Cpm_false_node | FalseNode |
| Cpm_find_pattern_node | FindPatternNode |
| Cpm_flip_flop_node | FlipFlopNode |
| Cpm_float_node | FloatNode |
| Cpm_for_node | ForNode |
| Cpm_forwarding_arguments_node | ForwardingArgumentsNode |
| Cpm_forwarding_parameter_node | ForwardingParameterNode |
| Cpm_forwarding_super_node | ForwardingSuperNode |
| Cpm_global_variable_and_write_node | GlobalVariableAndWriteNode |
| Cpm_global_variable_operator_write_node | GlobalVariableOperatorWriteNode |
| Cpm_global_variable_or_write_node | GlobalVariableOrWriteNode |
| Cpm_global_variable_read_node | GlobalVariableReadNode |
| Cpm_global_variable_target_node | GlobalVariableTargetNode |
| Cpm_global_variable_write_node | GlobalVariableWriteNode |
| Cpm_hash_node | HashNode |
| Cpm_hash_pattern_node | HashPatternNode |
| Cpm_heredoc_lex_mode_t | All of the information necessary to store to lexing a heredoc |
| Cpm_if_node | IfNode |
| Cpm_imaginary_node | ImaginaryNode |
| Cpm_implicit_node | ImplicitNode |
| Cpm_implicit_rest_node | ImplicitRestNode |
| Cpm_in_node | InNode |
| Cpm_index_and_write_node | IndexAndWriteNode |
| Cpm_index_operator_write_node | IndexOperatorWriteNode |
| Cpm_index_or_write_node | IndexOrWriteNode |
| Cpm_index_target_node | IndexTargetNode |
| Cpm_instance_variable_and_write_node | InstanceVariableAndWriteNode |
| Cpm_instance_variable_operator_write_node | InstanceVariableOperatorWriteNode |
| Cpm_instance_variable_or_write_node | InstanceVariableOrWriteNode |
| Cpm_instance_variable_read_node | InstanceVariableReadNode |
| Cpm_instance_variable_target_node | InstanceVariableTargetNode |
| Cpm_instance_variable_write_node | InstanceVariableWriteNode |
| Cpm_integer_node | IntegerNode |
| Cpm_integer_t | A structure represents an arbitrary-sized integer |
| Cpm_interpolated_match_last_line_node | InterpolatedMatchLastLineNode |
| Cpm_interpolated_regular_expression_node | InterpolatedRegularExpressionNode |
| Cpm_interpolated_string_node | InterpolatedStringNode |
| Cpm_interpolated_symbol_node | InterpolatedSymbolNode |
| Cpm_interpolated_x_string_node | InterpolatedXStringNode |
| Cpm_it_local_variable_read_node | ItLocalVariableReadNode |
| Cpm_it_parameters_node | ItParametersNode |
| Cpm_keyword_hash_node | KeywordHashNode |
| Cpm_keyword_rest_parameter_node | KeywordRestParameterNode |
| Cpm_lambda_node | LambdaNode |
| Cpm_lex_callback_t | When you are lexing through a file, the lexer needs all of the information that the parser additionally provides (for example, the local table) |
| Cpm_lex_mode | When lexing Ruby source, the lexer has a small amount of state to tell which kind of token it is currently lexing |
| Cpm_line_column_t | A line and column in a string |
| Cpm_list_node | This struct represents an abstract linked list that provides common functionality |
| Cpm_list_t | This represents the overall linked list |
| Cpm_local_t | This tracks an individual local variable in a certain lexical context, as well as the number of times is it read |
| Cpm_local_variable_and_write_node | LocalVariableAndWriteNode |
| Cpm_local_variable_operator_write_node | LocalVariableOperatorWriteNode |
| Cpm_local_variable_or_write_node | LocalVariableOrWriteNode |
| Cpm_local_variable_read_node | LocalVariableReadNode |
| Cpm_local_variable_target_node | LocalVariableTargetNode |
| Cpm_local_variable_write_node | LocalVariableWriteNode |
| Cpm_locals | This is a set of local variables in a certain lexical context (method, class, module, etc.) |
| Cpm_location_t | This represents a range of bytes in the source string to which a node or token corresponds |
| Cpm_magic_comment_t | This is a node in the linked list of magic comments that we've found while parsing |
| Cpm_match_last_line_node | MatchLastLineNode |
| Cpm_match_predicate_node | MatchPredicateNode |
| Cpm_match_required_node | MatchRequiredNode |
| Cpm_match_write_node | MatchWriteNode |
| Cpm_missing_node | MissingNode |
| Cpm_module_node | ModuleNode |
| Cpm_multi_target_node | MultiTargetNode |
| Cpm_multi_write_node | MultiWriteNode |
| Cpm_newline_list_t | A list of offsets of newlines in a string |
| Cpm_next_node | NextNode |
| Cpm_nil_node | NilNode |
| Cpm_no_keywords_parameter_node | NoKeywordsParameterNode |
| Cpm_node | This is the base structure that represents a node in the syntax tree |
| Cpm_node_hash_t | An internal hash table for a set of nodes |
| Cpm_node_list | A list of nodes in the source, most often used for lists of children |
| Cpm_numbered_parameters_node | NumberedParametersNode |
| Cpm_numbered_reference_read_node | NumberedReferenceReadNode |
| Cpm_optional_keyword_parameter_node | OptionalKeywordParameterNode |
| Cpm_optional_parameter_node | OptionalParameterNode |
| Cpm_options | The options that can be passed to the parser |
| Cpm_options_scope | A scope of locals surrounding the code that is being parsed |
| Cpm_or_node | OrNode |
| Cpm_parameters_node | ParametersNode |
| Cpm_parentheses_node | ParenthesesNode |
| Cpm_parser | This struct represents the overall parser |
| Cpm_pinned_expression_node | PinnedExpressionNode |
| Cpm_pinned_variable_node | PinnedVariableNode |
| Cpm_post_execution_node | PostExecutionNode |
| Cpm_pre_execution_node | PreExecutionNode |
| Cpm_program_node | ProgramNode |
| Cpm_range_node | RangeNode |
| Cpm_rational_node | RationalNode |
| Cpm_redo_node | RedoNode |
| Cpm_regexp_options_t | This is the set of options that are configurable on the regular expression |
| Cpm_regexp_parser_t | This is the parser that is going to handle parsing regular expressions |
| Cpm_regexp_token_buffer_t | In order to properly set a regular expression's encoding and to validate the byte sequence for the underlying encoding we must process any escape sequences |
| Cpm_regular_expression_node | RegularExpressionNode |
| Cpm_required_keyword_parameter_node | RequiredKeywordParameterNode |
| Cpm_required_parameter_node | RequiredParameterNode |
| Cpm_rescue_modifier_node | RescueModifierNode |
| Cpm_rescue_node | RescueNode |
| Cpm_rest_parameter_node | RestParameterNode |
| Cpm_retry_node | RetryNode |
| Cpm_return_node | ReturnNode |
| Cpm_scope | This struct represents a node in a linked list of scopes |
| Cpm_self_node | SelfNode |
| Cpm_shareable_constant_node | ShareableConstantNode |
| Cpm_singleton_class_node | SingletonClassNode |
| Cpm_source_encoding_node | SourceEncodingNode |
| Cpm_source_file_node | SourceFileNode |
| Cpm_source_line_node | SourceLineNode |
| Cpm_splat_node | SplatNode |
| Cpm_statements_node | StatementsNode |
| Cpm_static_literals_metadata_t | A small struct used for passing around a subset of the information that is stored on the parser |
| Cpm_static_literals_t | Certain sets of nodes (hash keys and when clauses) check for duplicate nodes to alert the user of potential issues |
| Cpm_string_node | StringNode |
| Cpm_string_t | A generic string type that can have various ownership semantics |
| Cpm_super_node | SuperNode |
| Cpm_symbol_node | SymbolNode |
| Cpm_token_buffer_t | When we're lexing certain types (strings, symbols, lists, etc.) we have string content associated with the tokens |
| Cpm_token_t | This struct represents a token in the Ruby source |
| Cpm_true_node | TrueNode |
| Cpm_undef_node | UndefNode |
| Cpm_unless_node | UnlessNode |
| Cpm_until_node | UntilNode |
| Cpm_when_node | WhenNode |
| Cpm_while_node | WhileNode |
| Cpm_x_string_node | XStringNode |
| Cpm_yield_node | YieldNode |