|
Ruby 3.3.6p108 (2024-11-05 revision 75015d4c1f6965b5e85e96fb309f1f2129f933c0)
|
The abstract syntax tree. More...
#include "prism/defines.h"#include "prism/util/pm_constant_pool.h"#include "prism/util/pm_string.h"#include <assert.h>#include <stddef.h>#include <stdint.h>Go to the source code of this file.
Data Structures | |
| struct | pm_token_t |
| This struct represents a token in the Ruby source. More... | |
| struct | pm_location_t |
| This represents a range of bytes in the source string to which a node or token corresponds. More... | |
| struct | pm_node_list |
| A list of nodes in the source, most often used for lists of children. More... | |
| struct | pm_node |
| This is the base structure that represents a node in the syntax tree. More... | |
| struct | pm_alias_global_variable_node |
| AliasGlobalVariableNode. More... | |
| struct | pm_alias_method_node |
| AliasMethodNode. More... | |
| struct | pm_alternation_pattern_node |
| AlternationPatternNode. More... | |
| struct | pm_and_node |
| AndNode. More... | |
| struct | pm_arguments_node |
| ArgumentsNode. More... | |
| struct | pm_array_node |
| ArrayNode. More... | |
| struct | pm_array_pattern_node |
| ArrayPatternNode. More... | |
| struct | pm_assoc_node |
| AssocNode. More... | |
| struct | pm_assoc_splat_node |
| AssocSplatNode. More... | |
| struct | pm_back_reference_read_node |
| BackReferenceReadNode. More... | |
| struct | pm_begin_node |
| BeginNode. More... | |
| struct | pm_block_argument_node |
| BlockArgumentNode. More... | |
| struct | pm_block_local_variable_node |
| BlockLocalVariableNode. More... | |
| struct | pm_block_node |
| BlockNode. More... | |
| struct | pm_block_parameter_node |
| BlockParameterNode. More... | |
| struct | pm_block_parameters_node |
| BlockParametersNode. More... | |
| struct | pm_break_node |
| BreakNode. More... | |
| struct | pm_call_and_write_node |
| CallAndWriteNode. More... | |
| struct | pm_call_node |
| CallNode. More... | |
| struct | pm_call_operator_write_node |
| CallOperatorWriteNode. More... | |
| struct | pm_call_or_write_node |
| CallOrWriteNode. More... | |
| struct | pm_call_target_node |
| CallTargetNode. More... | |
| struct | pm_capture_pattern_node |
| CapturePatternNode. More... | |
| struct | pm_case_match_node |
| CaseMatchNode. More... | |
| struct | pm_case_node |
| CaseNode. More... | |
| struct | pm_class_node |
| ClassNode. More... | |
| struct | pm_class_variable_and_write_node |
| ClassVariableAndWriteNode. More... | |
| struct | pm_class_variable_operator_write_node |
| ClassVariableOperatorWriteNode. More... | |
| struct | pm_class_variable_or_write_node |
| ClassVariableOrWriteNode. More... | |
| struct | pm_class_variable_read_node |
| ClassVariableReadNode. More... | |
| struct | pm_class_variable_target_node |
| ClassVariableTargetNode. More... | |
| struct | pm_class_variable_write_node |
| ClassVariableWriteNode. More... | |
| struct | pm_constant_and_write_node |
| ConstantAndWriteNode. More... | |
| struct | pm_constant_operator_write_node |
| ConstantOperatorWriteNode. More... | |
| struct | pm_constant_or_write_node |
| ConstantOrWriteNode. More... | |
| struct | pm_constant_path_and_write_node |
| ConstantPathAndWriteNode. More... | |
| struct | pm_constant_path_node |
| ConstantPathNode. More... | |
| struct | pm_constant_path_operator_write_node |
| ConstantPathOperatorWriteNode. More... | |
| struct | pm_constant_path_or_write_node |
| ConstantPathOrWriteNode. More... | |
| struct | pm_constant_path_target_node |
| ConstantPathTargetNode. More... | |
| struct | pm_constant_path_write_node |
| ConstantPathWriteNode. More... | |
| struct | pm_constant_read_node |
| ConstantReadNode. More... | |
| struct | pm_constant_target_node |
| ConstantTargetNode. More... | |
| struct | pm_constant_write_node |
| ConstantWriteNode. More... | |
| struct | pm_def_node |
| DefNode. More... | |
| struct | pm_defined_node |
| DefinedNode. More... | |
| struct | pm_else_node |
| ElseNode. More... | |
| struct | pm_embedded_statements_node |
| EmbeddedStatementsNode. More... | |
| struct | pm_embedded_variable_node |
| EmbeddedVariableNode. More... | |
| struct | pm_ensure_node |
| EnsureNode. More... | |
| struct | pm_false_node |
| FalseNode. More... | |
| struct | pm_find_pattern_node |
| FindPatternNode. More... | |
| struct | pm_flip_flop_node |
| FlipFlopNode. More... | |
| struct | pm_float_node |
| FloatNode. More... | |
| struct | pm_for_node |
| ForNode. More... | |
| struct | pm_forwarding_arguments_node |
| ForwardingArgumentsNode. More... | |
| struct | pm_forwarding_parameter_node |
| ForwardingParameterNode. More... | |
| struct | pm_forwarding_super_node |
| ForwardingSuperNode. More... | |
| struct | pm_global_variable_and_write_node |
| GlobalVariableAndWriteNode. More... | |
| struct | pm_global_variable_operator_write_node |
| GlobalVariableOperatorWriteNode. More... | |
| struct | pm_global_variable_or_write_node |
| GlobalVariableOrWriteNode. More... | |
| struct | pm_global_variable_read_node |
| GlobalVariableReadNode. More... | |
| struct | pm_global_variable_target_node |
| GlobalVariableTargetNode. More... | |
| struct | pm_global_variable_write_node |
| GlobalVariableWriteNode. More... | |
| struct | pm_hash_node |
| HashNode. More... | |
| struct | pm_hash_pattern_node |
| HashPatternNode. More... | |
| struct | pm_if_node |
| IfNode. More... | |
| struct | pm_imaginary_node |
| ImaginaryNode. More... | |
| struct | pm_implicit_node |
| ImplicitNode. More... | |
| struct | pm_implicit_rest_node |
| ImplicitRestNode. More... | |
| struct | pm_in_node |
| InNode. More... | |
| struct | pm_index_and_write_node |
| IndexAndWriteNode. More... | |
| struct | pm_index_operator_write_node |
| IndexOperatorWriteNode. More... | |
| struct | pm_index_or_write_node |
| IndexOrWriteNode. More... | |
| struct | pm_index_target_node |
| IndexTargetNode. More... | |
| struct | pm_instance_variable_and_write_node |
| InstanceVariableAndWriteNode. More... | |
| struct | pm_instance_variable_operator_write_node |
| InstanceVariableOperatorWriteNode. More... | |
| struct | pm_instance_variable_or_write_node |
| InstanceVariableOrWriteNode. More... | |
| struct | pm_instance_variable_read_node |
| InstanceVariableReadNode. More... | |
| struct | pm_instance_variable_target_node |
| InstanceVariableTargetNode. More... | |
| struct | pm_instance_variable_write_node |
| InstanceVariableWriteNode. More... | |
| struct | pm_integer_node |
| IntegerNode. More... | |
| struct | pm_interpolated_match_last_line_node |
| InterpolatedMatchLastLineNode. More... | |
| struct | pm_interpolated_regular_expression_node |
| InterpolatedRegularExpressionNode. More... | |
| struct | pm_interpolated_string_node |
| InterpolatedStringNode. More... | |
| struct | pm_interpolated_symbol_node |
| InterpolatedSymbolNode. More... | |
| struct | pm_interpolated_x_string_node |
| InterpolatedXStringNode. More... | |
| struct | pm_keyword_hash_node |
| KeywordHashNode. More... | |
| struct | pm_keyword_rest_parameter_node |
| KeywordRestParameterNode. More... | |
| struct | pm_lambda_node |
| LambdaNode. More... | |
| struct | pm_local_variable_and_write_node |
| LocalVariableAndWriteNode. More... | |
| struct | pm_local_variable_operator_write_node |
| LocalVariableOperatorWriteNode. More... | |
| struct | pm_local_variable_or_write_node |
| LocalVariableOrWriteNode. More... | |
| struct | pm_local_variable_read_node |
| LocalVariableReadNode. More... | |
| struct | pm_local_variable_target_node |
| LocalVariableTargetNode. More... | |
| struct | pm_local_variable_write_node |
| LocalVariableWriteNode. More... | |
| struct | pm_match_last_line_node |
| MatchLastLineNode. More... | |
| struct | pm_match_predicate_node |
| MatchPredicateNode. More... | |
| struct | pm_match_required_node |
| MatchRequiredNode. More... | |
| struct | pm_match_write_node |
| MatchWriteNode. More... | |
| struct | pm_missing_node |
| MissingNode. More... | |
| struct | pm_module_node |
| ModuleNode. More... | |
| struct | pm_multi_target_node |
| MultiTargetNode. More... | |
| struct | pm_multi_write_node |
| MultiWriteNode. More... | |
| struct | pm_next_node |
| NextNode. More... | |
| struct | pm_nil_node |
| NilNode. More... | |
| struct | pm_no_keywords_parameter_node |
| NoKeywordsParameterNode. More... | |
| struct | pm_numbered_parameters_node |
| NumberedParametersNode. More... | |
| struct | pm_numbered_reference_read_node |
| NumberedReferenceReadNode. More... | |
| struct | pm_optional_keyword_parameter_node |
| OptionalKeywordParameterNode. More... | |
| struct | pm_optional_parameter_node |
| OptionalParameterNode. More... | |
| struct | pm_or_node |
| OrNode. More... | |
| struct | pm_parameters_node |
| ParametersNode. More... | |
| struct | pm_parentheses_node |
| ParenthesesNode. More... | |
| struct | pm_pinned_expression_node |
| PinnedExpressionNode. More... | |
| struct | pm_pinned_variable_node |
| PinnedVariableNode. More... | |
| struct | pm_post_execution_node |
| PostExecutionNode. More... | |
| struct | pm_pre_execution_node |
| PreExecutionNode. More... | |
| struct | pm_program_node |
| ProgramNode. More... | |
| struct | pm_range_node |
| RangeNode. More... | |
| struct | pm_rational_node |
| RationalNode. More... | |
| struct | pm_redo_node |
| RedoNode. More... | |
| struct | pm_regular_expression_node |
| RegularExpressionNode. More... | |
| struct | pm_required_keyword_parameter_node |
| RequiredKeywordParameterNode. More... | |
| struct | pm_required_parameter_node |
| RequiredParameterNode. More... | |
| struct | pm_rescue_modifier_node |
| RescueModifierNode. More... | |
| struct | pm_rescue_node |
| RescueNode. More... | |
| struct | pm_rest_parameter_node |
| RestParameterNode. More... | |
| struct | pm_retry_node |
| RetryNode. More... | |
| struct | pm_return_node |
| ReturnNode. More... | |
| struct | pm_self_node |
| SelfNode. More... | |
| struct | pm_singleton_class_node |
| SingletonClassNode. More... | |
| struct | pm_source_encoding_node |
| SourceEncodingNode. More... | |
| struct | pm_source_file_node |
| SourceFileNode. More... | |
| struct | pm_source_line_node |
| SourceLineNode. More... | |
| struct | pm_splat_node |
| SplatNode. More... | |
| struct | pm_statements_node |
| StatementsNode. More... | |
| struct | pm_string_node |
| StringNode. More... | |
| struct | pm_super_node |
| SuperNode. More... | |
| struct | pm_symbol_node |
| SymbolNode. More... | |
| struct | pm_true_node |
| TrueNode. More... | |
| struct | pm_undef_node |
| UndefNode. More... | |
| struct | pm_unless_node |
| UnlessNode. More... | |
| struct | pm_until_node |
| UntilNode. More... | |
| struct | pm_when_node |
| WhenNode. More... | |
| struct | pm_while_node |
| WhileNode. More... | |
| struct | pm_x_string_node |
| XStringNode. More... | |
| struct | pm_yield_node |
| YieldNode. More... | |
Macros | |
| #define | PM_NODE_FLAG_BITS (sizeof(pm_node_flags_t) * 8) |
| We store the flags enum in every node in the tree. | |
| #define | PM_NODE_TYPE(node) |
| Cast the type to an enum to allow the compiler to provide exhaustiveness checking. | |
| #define | PM_NODE_TYPE_P(node, type) |
| Return true if the type of the given node matches the given type. | |
| #define | PM_NODE_FLAG_P(node, flag) |
| Return true if the given flag is set on the given node. | |
| #define | PRISM_SERIALIZE_ONLY_SEMANTICS_FIELDS false |
| When we're serializing to Java, we want to skip serializing the location fields as they won't be used by JRuby or TruffleRuby. | |
Variables | |
| static const pm_node_flags_t | PM_NODE_FLAG_NEWLINE = (1 << (PM_NODE_FLAG_BITS - 1)) |
| static const pm_node_flags_t | PM_NODE_FLAG_STATIC_LITERAL = (1 << (PM_NODE_FLAG_BITS - 2)) |
| static const pm_node_flags_t | PM_NODE_FLAG_COMMON_MASK = (1 << (PM_NODE_FLAG_BITS - 1)) | (1 << (PM_NODE_FLAG_BITS - 2)) |
The abstract syntax tree.
Definition in file ast.h.
| #define PM_NODE_FLAG_BITS (sizeof(pm_node_flags_t) * 8) |
| #define PM_NODE_FLAG_P | ( | node, | |
| flag ) |
Return true if the given flag is set on the given node.
| #define PM_NODE_TYPE | ( | node | ) |
Cast the type to an enum to allow the compiler to provide exhaustiveness checking.
Definition at line 1045 of file ast.h.
Referenced by pm_node_destroy().
| #define PM_NODE_TYPE_P | ( | node, | |
| type ) |
Return true if the type of the given node matches the given type.
| #define PRISM_SERIALIZE_ONLY_SEMANTICS_FIELDS false |
| typedef struct pm_alias_global_variable_node pm_alias_global_variable_node_t |
AliasGlobalVariableNode.
Type: PM_ALIAS_GLOBAL_VARIABLE_NODE
| typedef struct pm_alias_method_node pm_alias_method_node_t |
AliasMethodNode.
Type: PM_ALIAS_METHOD_NODE
| typedef struct pm_alternation_pattern_node pm_alternation_pattern_node_t |
AlternationPatternNode.
Type: PM_ALTERNATION_PATTERN_NODE
| typedef struct pm_and_node pm_and_node_t |
AndNode.
Type: PM_AND_NODE
| typedef enum pm_arguments_node_flags pm_arguments_node_flags_t |
Flags for arguments nodes.
| typedef struct pm_arguments_node pm_arguments_node_t |
ArgumentsNode.
Type: PM_ARGUMENTS_NODE Flags: PM_ARGUMENTS_NODE_FLAGS_CONTAINS_KEYWORD_SPLAT
| typedef enum pm_array_node_flags pm_array_node_flags_t |
Flags for array nodes.
| typedef struct pm_array_node pm_array_node_t |
ArrayNode.
Type: PM_ARRAY_NODE Flags: PM_ARRAY_NODE_FLAGS_CONTAINS_SPLAT
| typedef struct pm_array_pattern_node pm_array_pattern_node_t |
ArrayPatternNode.
Type: PM_ARRAY_PATTERN_NODE
| typedef struct pm_assoc_node pm_assoc_node_t |
AssocNode.
Type: PM_ASSOC_NODE
| typedef struct pm_assoc_splat_node pm_assoc_splat_node_t |
AssocSplatNode.
Type: PM_ASSOC_SPLAT_NODE
| typedef struct pm_back_reference_read_node pm_back_reference_read_node_t |
BackReferenceReadNode.
Type: PM_BACK_REFERENCE_READ_NODE
| typedef struct pm_begin_node pm_begin_node_t |
BeginNode.
Type: PM_BEGIN_NODE
| typedef struct pm_block_argument_node pm_block_argument_node_t |
BlockArgumentNode.
Type: PM_BLOCK_ARGUMENT_NODE
| typedef struct pm_block_local_variable_node pm_block_local_variable_node_t |
BlockLocalVariableNode.
Type: PM_BLOCK_LOCAL_VARIABLE_NODE
| typedef struct pm_block_node pm_block_node_t |
BlockNode.
Type: PM_BLOCK_NODE
| typedef struct pm_block_parameter_node pm_block_parameter_node_t |
BlockParameterNode.
Type: PM_BLOCK_PARAMETER_NODE
| typedef struct pm_block_parameters_node pm_block_parameters_node_t |
BlockParametersNode.
Type: PM_BLOCK_PARAMETERS_NODE
| typedef struct pm_break_node pm_break_node_t |
BreakNode.
Type: PM_BREAK_NODE
| typedef struct pm_call_and_write_node pm_call_and_write_node_t |
CallAndWriteNode.
Type: PM_CALL_AND_WRITE_NODE Flags: PM_CALL_NODE_FLAGS_SAFE_NAVIGATION PM_CALL_NODE_FLAGS_VARIABLE_CALL PM_CALL_NODE_FLAGS_ATTRIBUTE_WRITE
| typedef enum pm_call_node_flags pm_call_node_flags_t |
Flags for call nodes.
| typedef struct pm_call_node pm_call_node_t |
Type: PM_CALL_NODE Flags: PM_CALL_NODE_FLAGS_SAFE_NAVIGATION PM_CALL_NODE_FLAGS_VARIABLE_CALL PM_CALL_NODE_FLAGS_ATTRIBUTE_WRITE
| typedef struct pm_call_operator_write_node pm_call_operator_write_node_t |
CallOperatorWriteNode.
Type: PM_CALL_OPERATOR_WRITE_NODE Flags: PM_CALL_NODE_FLAGS_SAFE_NAVIGATION PM_CALL_NODE_FLAGS_VARIABLE_CALL PM_CALL_NODE_FLAGS_ATTRIBUTE_WRITE
| typedef struct pm_call_or_write_node pm_call_or_write_node_t |
CallOrWriteNode.
Type: PM_CALL_OR_WRITE_NODE Flags: PM_CALL_NODE_FLAGS_SAFE_NAVIGATION PM_CALL_NODE_FLAGS_VARIABLE_CALL PM_CALL_NODE_FLAGS_ATTRIBUTE_WRITE
| typedef struct pm_call_target_node pm_call_target_node_t |
CallTargetNode.
Type: PM_CALL_TARGET_NODE Flags: PM_CALL_NODE_FLAGS_SAFE_NAVIGATION PM_CALL_NODE_FLAGS_VARIABLE_CALL PM_CALL_NODE_FLAGS_ATTRIBUTE_WRITE
| typedef struct pm_capture_pattern_node pm_capture_pattern_node_t |
CapturePatternNode.
Type: PM_CAPTURE_PATTERN_NODE
| typedef struct pm_case_match_node pm_case_match_node_t |
CaseMatchNode.
Type: PM_CASE_MATCH_NODE
| typedef struct pm_case_node pm_case_node_t |
CaseNode.
Type: PM_CASE_NODE
| typedef struct pm_class_node pm_class_node_t |
ClassNode.
Type: PM_CLASS_NODE
ClassVariableAndWriteNode.
Type: PM_CLASS_VARIABLE_AND_WRITE_NODE
ClassVariableOperatorWriteNode.
Type: PM_CLASS_VARIABLE_OPERATOR_WRITE_NODE
| typedef struct pm_class_variable_or_write_node pm_class_variable_or_write_node_t |
ClassVariableOrWriteNode.
Type: PM_CLASS_VARIABLE_OR_WRITE_NODE
| typedef struct pm_class_variable_read_node pm_class_variable_read_node_t |
ClassVariableReadNode.
Type: PM_CLASS_VARIABLE_READ_NODE
| typedef struct pm_class_variable_target_node pm_class_variable_target_node_t |
ClassVariableTargetNode.
Type: PM_CLASS_VARIABLE_TARGET_NODE
| typedef struct pm_class_variable_write_node pm_class_variable_write_node_t |
ClassVariableWriteNode.
Type: PM_CLASS_VARIABLE_WRITE_NODE
| typedef struct pm_constant_and_write_node pm_constant_and_write_node_t |
ConstantAndWriteNode.
Type: PM_CONSTANT_AND_WRITE_NODE
| typedef struct pm_constant_operator_write_node pm_constant_operator_write_node_t |
ConstantOperatorWriteNode.
Type: PM_CONSTANT_OPERATOR_WRITE_NODE
| typedef struct pm_constant_or_write_node pm_constant_or_write_node_t |
ConstantOrWriteNode.
Type: PM_CONSTANT_OR_WRITE_NODE
| typedef struct pm_constant_path_and_write_node pm_constant_path_and_write_node_t |
ConstantPathAndWriteNode.
Type: PM_CONSTANT_PATH_AND_WRITE_NODE
| typedef struct pm_constant_path_node pm_constant_path_node_t |
ConstantPathNode.
Type: PM_CONSTANT_PATH_NODE
ConstantPathOperatorWriteNode.
Type: PM_CONSTANT_PATH_OPERATOR_WRITE_NODE
| typedef struct pm_constant_path_or_write_node pm_constant_path_or_write_node_t |
ConstantPathOrWriteNode.
Type: PM_CONSTANT_PATH_OR_WRITE_NODE
| typedef struct pm_constant_path_target_node pm_constant_path_target_node_t |
ConstantPathTargetNode.
Type: PM_CONSTANT_PATH_TARGET_NODE
| typedef struct pm_constant_path_write_node pm_constant_path_write_node_t |
ConstantPathWriteNode.
Type: PM_CONSTANT_PATH_WRITE_NODE
| typedef struct pm_constant_read_node pm_constant_read_node_t |
ConstantReadNode.
Type: PM_CONSTANT_READ_NODE
| typedef struct pm_constant_target_node pm_constant_target_node_t |
ConstantTargetNode.
Type: PM_CONSTANT_TARGET_NODE
| typedef struct pm_constant_write_node pm_constant_write_node_t |
ConstantWriteNode.
Type: PM_CONSTANT_WRITE_NODE
| typedef struct pm_def_node pm_def_node_t |
DefNode.
Type: PM_DEF_NODE
| typedef struct pm_defined_node pm_defined_node_t |
DefinedNode.
Type: PM_DEFINED_NODE
| typedef struct pm_else_node pm_else_node_t |
ElseNode.
Type: PM_ELSE_NODE
| typedef struct pm_embedded_statements_node pm_embedded_statements_node_t |
EmbeddedStatementsNode.
Type: PM_EMBEDDED_STATEMENTS_NODE
| typedef struct pm_embedded_variable_node pm_embedded_variable_node_t |
EmbeddedVariableNode.
Type: PM_EMBEDDED_VARIABLE_NODE
| typedef enum pm_encoding_flags pm_encoding_flags_t |
Flags for nodes that have unescaped content.
| typedef struct pm_ensure_node pm_ensure_node_t |
EnsureNode.
Type: PM_ENSURE_NODE
| typedef struct pm_false_node pm_false_node_t |
FalseNode.
Type: PM_FALSE_NODE
| typedef struct pm_find_pattern_node pm_find_pattern_node_t |
FindPatternNode.
Type: PM_FIND_PATTERN_NODE
| typedef struct pm_flip_flop_node pm_flip_flop_node_t |
FlipFlopNode.
Type: PM_FLIP_FLOP_NODE Flags: PM_RANGE_FLAGS_EXCLUDE_END
| typedef struct pm_float_node pm_float_node_t |
FloatNode.
Type: PM_FLOAT_NODE
| typedef struct pm_for_node pm_for_node_t |
ForNode.
Type: PM_FOR_NODE
| typedef struct pm_forwarding_arguments_node pm_forwarding_arguments_node_t |
ForwardingArgumentsNode.
Type: PM_FORWARDING_ARGUMENTS_NODE
| typedef struct pm_forwarding_parameter_node pm_forwarding_parameter_node_t |
ForwardingParameterNode.
Type: PM_FORWARDING_PARAMETER_NODE
| typedef struct pm_forwarding_super_node pm_forwarding_super_node_t |
ForwardingSuperNode.
Type: PM_FORWARDING_SUPER_NODE
GlobalVariableAndWriteNode.
Type: PM_GLOBAL_VARIABLE_AND_WRITE_NODE
GlobalVariableOperatorWriteNode.
Type: PM_GLOBAL_VARIABLE_OPERATOR_WRITE_NODE
GlobalVariableOrWriteNode.
Type: PM_GLOBAL_VARIABLE_OR_WRITE_NODE
| typedef struct pm_global_variable_read_node pm_global_variable_read_node_t |
GlobalVariableReadNode.
Type: PM_GLOBAL_VARIABLE_READ_NODE
| typedef struct pm_global_variable_target_node pm_global_variable_target_node_t |
GlobalVariableTargetNode.
Type: PM_GLOBAL_VARIABLE_TARGET_NODE
| typedef struct pm_global_variable_write_node pm_global_variable_write_node_t |
GlobalVariableWriteNode.
Type: PM_GLOBAL_VARIABLE_WRITE_NODE
| typedef struct pm_hash_node pm_hash_node_t |
HashNode.
Type: PM_HASH_NODE
| typedef struct pm_hash_pattern_node pm_hash_pattern_node_t |
HashPatternNode.
Type: PM_HASH_PATTERN_NODE
| typedef struct pm_if_node pm_if_node_t |
IfNode.
Type: PM_IF_NODE
| typedef struct pm_imaginary_node pm_imaginary_node_t |
ImaginaryNode.
Type: PM_IMAGINARY_NODE
| typedef struct pm_implicit_node pm_implicit_node_t |
ImplicitNode.
Type: PM_IMPLICIT_NODE
| typedef struct pm_implicit_rest_node pm_implicit_rest_node_t |
ImplicitRestNode.
Type: PM_IMPLICIT_REST_NODE
| typedef struct pm_in_node pm_in_node_t |
InNode.
Type: PM_IN_NODE
| typedef struct pm_index_and_write_node pm_index_and_write_node_t |
IndexAndWriteNode.
Type: PM_INDEX_AND_WRITE_NODE Flags: PM_CALL_NODE_FLAGS_SAFE_NAVIGATION PM_CALL_NODE_FLAGS_VARIABLE_CALL PM_CALL_NODE_FLAGS_ATTRIBUTE_WRITE
| typedef struct pm_index_operator_write_node pm_index_operator_write_node_t |
IndexOperatorWriteNode.
Type: PM_INDEX_OPERATOR_WRITE_NODE Flags: PM_CALL_NODE_FLAGS_SAFE_NAVIGATION PM_CALL_NODE_FLAGS_VARIABLE_CALL PM_CALL_NODE_FLAGS_ATTRIBUTE_WRITE
| typedef struct pm_index_or_write_node pm_index_or_write_node_t |
IndexOrWriteNode.
Type: PM_INDEX_OR_WRITE_NODE Flags: PM_CALL_NODE_FLAGS_SAFE_NAVIGATION PM_CALL_NODE_FLAGS_VARIABLE_CALL PM_CALL_NODE_FLAGS_ATTRIBUTE_WRITE
| typedef struct pm_index_target_node pm_index_target_node_t |
IndexTargetNode.
Type: PM_INDEX_TARGET_NODE Flags: PM_CALL_NODE_FLAGS_SAFE_NAVIGATION PM_CALL_NODE_FLAGS_VARIABLE_CALL PM_CALL_NODE_FLAGS_ATTRIBUTE_WRITE
InstanceVariableAndWriteNode.
Type: PM_INSTANCE_VARIABLE_AND_WRITE_NODE
InstanceVariableOperatorWriteNode.
Type: PM_INSTANCE_VARIABLE_OPERATOR_WRITE_NODE
InstanceVariableOrWriteNode.
Type: PM_INSTANCE_VARIABLE_OR_WRITE_NODE
| typedef struct pm_instance_variable_read_node pm_instance_variable_read_node_t |
InstanceVariableReadNode.
Type: PM_INSTANCE_VARIABLE_READ_NODE
InstanceVariableTargetNode.
Type: PM_INSTANCE_VARIABLE_TARGET_NODE
| typedef struct pm_instance_variable_write_node pm_instance_variable_write_node_t |
InstanceVariableWriteNode.
Type: PM_INSTANCE_VARIABLE_WRITE_NODE
| typedef enum pm_integer_base_flags pm_integer_base_flags_t |
Flags for integer nodes that correspond to the base of the integer.
| typedef struct pm_integer_node pm_integer_node_t |
IntegerNode.
Type: PM_INTEGER_NODE Flags: PM_INTEGER_BASE_FLAGS_BINARY PM_INTEGER_BASE_FLAGS_DECIMAL PM_INTEGER_BASE_FLAGS_OCTAL PM_INTEGER_BASE_FLAGS_HEXADECIMAL
InterpolatedMatchLastLineNode.
Type: PM_INTERPOLATED_MATCH_LAST_LINE_NODE Flags: PM_REGULAR_EXPRESSION_FLAGS_IGNORE_CASE PM_REGULAR_EXPRESSION_FLAGS_EXTENDED PM_REGULAR_EXPRESSION_FLAGS_MULTI_LINE PM_REGULAR_EXPRESSION_FLAGS_ONCE PM_REGULAR_EXPRESSION_FLAGS_EUC_JP PM_REGULAR_EXPRESSION_FLAGS_ASCII_8BIT PM_REGULAR_EXPRESSION_FLAGS_WINDOWS_31J PM_REGULAR_EXPRESSION_FLAGS_UTF_8 PM_REGULAR_EXPRESSION_FLAGS_FORCED_UTF8_ENCODING PM_REGULAR_EXPRESSION_FLAGS_FORCED_BINARY_ENCODING PM_REGULAR_EXPRESSION_FLAGS_FORCED_US_ASCII_ENCODING
InterpolatedRegularExpressionNode.
Type: PM_INTERPOLATED_REGULAR_EXPRESSION_NODE Flags: PM_REGULAR_EXPRESSION_FLAGS_IGNORE_CASE PM_REGULAR_EXPRESSION_FLAGS_EXTENDED PM_REGULAR_EXPRESSION_FLAGS_MULTI_LINE PM_REGULAR_EXPRESSION_FLAGS_ONCE PM_REGULAR_EXPRESSION_FLAGS_EUC_JP PM_REGULAR_EXPRESSION_FLAGS_ASCII_8BIT PM_REGULAR_EXPRESSION_FLAGS_WINDOWS_31J PM_REGULAR_EXPRESSION_FLAGS_UTF_8 PM_REGULAR_EXPRESSION_FLAGS_FORCED_UTF8_ENCODING PM_REGULAR_EXPRESSION_FLAGS_FORCED_BINARY_ENCODING PM_REGULAR_EXPRESSION_FLAGS_FORCED_US_ASCII_ENCODING
| typedef struct pm_interpolated_string_node pm_interpolated_string_node_t |
InterpolatedStringNode.
Type: PM_INTERPOLATED_STRING_NODE
| typedef struct pm_interpolated_symbol_node pm_interpolated_symbol_node_t |
InterpolatedSymbolNode.
Type: PM_INTERPOLATED_SYMBOL_NODE
| typedef struct pm_interpolated_x_string_node pm_interpolated_x_string_node_t |
InterpolatedXStringNode.
Type: PM_INTERPOLATED_X_STRING_NODE
| typedef enum pm_keyword_hash_node_flags pm_keyword_hash_node_flags_t |
Flags for keyword hash nodes.
| typedef struct pm_keyword_hash_node pm_keyword_hash_node_t |
KeywordHashNode.
Type: PM_KEYWORD_HASH_NODE Flags: PM_KEYWORD_HASH_NODE_FLAGS_STATIC_KEYS
| typedef struct pm_keyword_rest_parameter_node pm_keyword_rest_parameter_node_t |
KeywordRestParameterNode.
Type: PM_KEYWORD_REST_PARAMETER_NODE
| typedef struct pm_lambda_node pm_lambda_node_t |
LambdaNode.
Type: PM_LAMBDA_NODE
LocalVariableAndWriteNode.
Type: PM_LOCAL_VARIABLE_AND_WRITE_NODE
LocalVariableOperatorWriteNode.
Type: PM_LOCAL_VARIABLE_OPERATOR_WRITE_NODE
| typedef struct pm_local_variable_or_write_node pm_local_variable_or_write_node_t |
LocalVariableOrWriteNode.
Type: PM_LOCAL_VARIABLE_OR_WRITE_NODE
| typedef struct pm_local_variable_read_node pm_local_variable_read_node_t |
LocalVariableReadNode.
Type: PM_LOCAL_VARIABLE_READ_NODE
| typedef struct pm_local_variable_target_node pm_local_variable_target_node_t |
LocalVariableTargetNode.
Type: PM_LOCAL_VARIABLE_TARGET_NODE
| typedef struct pm_local_variable_write_node pm_local_variable_write_node_t |
LocalVariableWriteNode.
Type: PM_LOCAL_VARIABLE_WRITE_NODE
| typedef enum pm_loop_flags pm_loop_flags_t |
Flags for while and until loop nodes.
| typedef struct pm_match_last_line_node pm_match_last_line_node_t |
MatchLastLineNode.
Type: PM_MATCH_LAST_LINE_NODE Flags: PM_REGULAR_EXPRESSION_FLAGS_IGNORE_CASE PM_REGULAR_EXPRESSION_FLAGS_EXTENDED PM_REGULAR_EXPRESSION_FLAGS_MULTI_LINE PM_REGULAR_EXPRESSION_FLAGS_ONCE PM_REGULAR_EXPRESSION_FLAGS_EUC_JP PM_REGULAR_EXPRESSION_FLAGS_ASCII_8BIT PM_REGULAR_EXPRESSION_FLAGS_WINDOWS_31J PM_REGULAR_EXPRESSION_FLAGS_UTF_8 PM_REGULAR_EXPRESSION_FLAGS_FORCED_UTF8_ENCODING PM_REGULAR_EXPRESSION_FLAGS_FORCED_BINARY_ENCODING PM_REGULAR_EXPRESSION_FLAGS_FORCED_US_ASCII_ENCODING
| typedef struct pm_match_predicate_node pm_match_predicate_node_t |
MatchPredicateNode.
Type: PM_MATCH_PREDICATE_NODE
| typedef struct pm_match_required_node pm_match_required_node_t |
MatchRequiredNode.
Type: PM_MATCH_REQUIRED_NODE
| typedef struct pm_match_write_node pm_match_write_node_t |
MatchWriteNode.
Type: PM_MATCH_WRITE_NODE
| typedef struct pm_missing_node pm_missing_node_t |
MissingNode.
Type: PM_MISSING_NODE
| typedef struct pm_module_node pm_module_node_t |
ModuleNode.
Type: PM_MODULE_NODE
| typedef struct pm_multi_target_node pm_multi_target_node_t |
MultiTargetNode.
Type: PM_MULTI_TARGET_NODE
| typedef struct pm_multi_write_node pm_multi_write_node_t |
MultiWriteNode.
Type: PM_MULTI_WRITE_NODE
| typedef struct pm_next_node pm_next_node_t |
NextNode.
Type: PM_NEXT_NODE
| typedef struct pm_nil_node pm_nil_node_t |
NilNode.
Type: PM_NIL_NODE
| typedef struct pm_no_keywords_parameter_node pm_no_keywords_parameter_node_t |
NoKeywordsParameterNode.
Type: PM_NO_KEYWORDS_PARAMETER_NODE
| typedef uint16_t pm_node_flags_t |
| typedef struct pm_node_list pm_node_list_t |
A list of nodes in the source, most often used for lists of children.
This is the base structure that represents a node in the syntax tree.
It is embedded into every node type.
| typedef uint16_t pm_node_type_t |
| typedef struct pm_numbered_parameters_node pm_numbered_parameters_node_t |
NumberedParametersNode.
Type: PM_NUMBERED_PARAMETERS_NODE
| typedef struct pm_numbered_reference_read_node pm_numbered_reference_read_node_t |
NumberedReferenceReadNode.
Type: PM_NUMBERED_REFERENCE_READ_NODE
OptionalKeywordParameterNode.
Type: PM_OPTIONAL_KEYWORD_PARAMETER_NODE
| typedef struct pm_optional_parameter_node pm_optional_parameter_node_t |
OptionalParameterNode.
Type: PM_OPTIONAL_PARAMETER_NODE
| typedef struct pm_or_node pm_or_node_t |
OrNode.
Type: PM_OR_NODE
| typedef struct pm_parameters_node pm_parameters_node_t |
ParametersNode.
Type: PM_PARAMETERS_NODE
| typedef struct pm_parentheses_node pm_parentheses_node_t |
ParenthesesNode.
Type: PM_PARENTHESES_NODE
| typedef struct pm_pinned_expression_node pm_pinned_expression_node_t |
PinnedExpressionNode.
Type: PM_PINNED_EXPRESSION_NODE
| typedef struct pm_pinned_variable_node pm_pinned_variable_node_t |
PinnedVariableNode.
Type: PM_PINNED_VARIABLE_NODE
| typedef struct pm_post_execution_node pm_post_execution_node_t |
PostExecutionNode.
Type: PM_POST_EXECUTION_NODE
| typedef struct pm_pre_execution_node pm_pre_execution_node_t |
PreExecutionNode.
Type: PM_PRE_EXECUTION_NODE
| typedef struct pm_program_node pm_program_node_t |
ProgramNode.
Type: PM_PROGRAM_NODE
| typedef enum pm_range_flags pm_range_flags_t |
Flags for range and flip-flop nodes.
| typedef struct pm_range_node pm_range_node_t |
RangeNode.
Type: PM_RANGE_NODE Flags: PM_RANGE_FLAGS_EXCLUDE_END
| typedef struct pm_rational_node pm_rational_node_t |
RationalNode.
Type: PM_RATIONAL_NODE
| typedef struct pm_redo_node pm_redo_node_t |
RedoNode.
Type: PM_REDO_NODE
| typedef enum pm_regular_expression_flags pm_regular_expression_flags_t |
Flags for regular expression and match last line nodes.
| typedef struct pm_regular_expression_node pm_regular_expression_node_t |
RegularExpressionNode.
Type: PM_REGULAR_EXPRESSION_NODE Flags: PM_REGULAR_EXPRESSION_FLAGS_IGNORE_CASE PM_REGULAR_EXPRESSION_FLAGS_EXTENDED PM_REGULAR_EXPRESSION_FLAGS_MULTI_LINE PM_REGULAR_EXPRESSION_FLAGS_ONCE PM_REGULAR_EXPRESSION_FLAGS_EUC_JP PM_REGULAR_EXPRESSION_FLAGS_ASCII_8BIT PM_REGULAR_EXPRESSION_FLAGS_WINDOWS_31J PM_REGULAR_EXPRESSION_FLAGS_UTF_8 PM_REGULAR_EXPRESSION_FLAGS_FORCED_UTF8_ENCODING PM_REGULAR_EXPRESSION_FLAGS_FORCED_BINARY_ENCODING PM_REGULAR_EXPRESSION_FLAGS_FORCED_US_ASCII_ENCODING
RequiredKeywordParameterNode.
Type: PM_REQUIRED_KEYWORD_PARAMETER_NODE
| typedef struct pm_required_parameter_node pm_required_parameter_node_t |
RequiredParameterNode.
Type: PM_REQUIRED_PARAMETER_NODE
| typedef struct pm_rescue_modifier_node pm_rescue_modifier_node_t |
RescueModifierNode.
Type: PM_RESCUE_MODIFIER_NODE
| typedef struct pm_rescue_node pm_rescue_node_t |
RescueNode.
Type: PM_RESCUE_NODE
| typedef struct pm_rest_parameter_node pm_rest_parameter_node_t |
RestParameterNode.
Type: PM_REST_PARAMETER_NODE
| typedef struct pm_retry_node pm_retry_node_t |
RetryNode.
Type: PM_RETRY_NODE
| typedef struct pm_return_node pm_return_node_t |
ReturnNode.
Type: PM_RETURN_NODE
| typedef struct pm_self_node pm_self_node_t |
SelfNode.
Type: PM_SELF_NODE
| typedef struct pm_singleton_class_node pm_singleton_class_node_t |
SingletonClassNode.
Type: PM_SINGLETON_CLASS_NODE
| typedef struct pm_source_encoding_node pm_source_encoding_node_t |
SourceEncodingNode.
Type: PM_SOURCE_ENCODING_NODE
| typedef struct pm_source_file_node pm_source_file_node_t |
SourceFileNode.
Type: PM_SOURCE_FILE_NODE
| typedef struct pm_source_line_node pm_source_line_node_t |
SourceLineNode.
Type: PM_SOURCE_LINE_NODE
| typedef struct pm_splat_node pm_splat_node_t |
SplatNode.
Type: PM_SPLAT_NODE
| typedef struct pm_statements_node pm_statements_node_t |
StatementsNode.
Type: PM_STATEMENTS_NODE
| typedef enum pm_string_flags pm_string_flags_t |
Flags for string nodes.
| typedef struct pm_string_node pm_string_node_t |
StringNode.
Type: PM_STRING_NODE Flags: PM_STRING_FLAGS_FORCED_UTF8_ENCODING PM_STRING_FLAGS_FORCED_BINARY_ENCODING PM_STRING_FLAGS_FROZEN
| typedef struct pm_super_node pm_super_node_t |
SuperNode.
Type: PM_SUPER_NODE
| typedef enum pm_symbol_flags pm_symbol_flags_t |
Flags for symbol nodes.
| typedef struct pm_symbol_node pm_symbol_node_t |
SymbolNode.
Type: PM_SYMBOL_NODE Flags: PM_SYMBOL_FLAGS_FORCED_UTF8_ENCODING PM_SYMBOL_FLAGS_FORCED_BINARY_ENCODING PM_SYMBOL_FLAGS_FORCED_US_ASCII_ENCODING
| typedef enum pm_token_type pm_token_type_t |
This enum represents every type of token in the Ruby source.
| typedef struct pm_true_node pm_true_node_t |
TrueNode.
Type: PM_TRUE_NODE
| typedef struct pm_undef_node pm_undef_node_t |
UndefNode.
Type: PM_UNDEF_NODE
| typedef struct pm_unless_node pm_unless_node_t |
UnlessNode.
Type: PM_UNLESS_NODE
| typedef struct pm_until_node pm_until_node_t |
UntilNode.
Type: PM_UNTIL_NODE Flags: PM_LOOP_FLAGS_BEGIN_MODIFIER
| typedef struct pm_when_node pm_when_node_t |
WhenNode.
Type: PM_WHEN_NODE
| typedef struct pm_while_node pm_while_node_t |
WhileNode.
Type: PM_WHILE_NODE Flags: PM_LOOP_FLAGS_BEGIN_MODIFIER
| typedef struct pm_x_string_node pm_x_string_node_t |
XStringNode.
Type: PM_X_STRING_NODE Flags: PM_ENCODING_FLAGS_FORCED_UTF8_ENCODING PM_ENCODING_FLAGS_FORCED_BINARY_ENCODING
| typedef struct pm_yield_node pm_yield_node_t |
YieldNode.
Type: PM_YIELD_NODE
| enum pm_array_node_flags |
| enum pm_call_node_flags |
| enum pm_encoding_flags |
| enum pm_loop_flags |
| enum pm_node_type |
This enum represents every type of node in the Ruby syntax tree.
| enum pm_range_flags |
Flags for regular expression and match last line nodes.
| enum pm_string_flags |
| enum pm_symbol_flags |
| enum pm_token_type |
This enum represents every type of token in the Ruby source.
|
static |
|
static |
|
static |