Prism Ruby parser
Loading...
Searching...
No Matches
Data Fields
pm_node Struct Reference

This is the base structure that represents a node in the syntax tree. More...

#include <ast.h>

Inheritance diagram for pm_node:
Inheritance graph
[legend]
Collaboration diagram for pm_node:
Collaboration graph
[legend]

Data Fields

pm_node_type_t type
 This represents the type of the node.
 
pm_node_flags_t flags
 This represents any flags on the node.
 
uint32_t node_id
 The unique identifier for this node, which is deterministic based on the source.
 
pm_location_t location
 This is the location of the node in the source.
 

Detailed Description

This is the base structure that represents a node in the syntax tree.

It is embedded into every node type.

Field Documentation

◆ type

pm_node_type_t pm_node::type

This represents the type of the node.

It somewhat maps to the nodes that existed in the original grammar and ripper, but it's not a 1:1 mapping.

◆ flags

pm_node_flags_t pm_node::flags

This represents any flags on the node.

Some are common to all nodes, and some are specific to the type of node.

◆ node_id

uint32_t pm_node::node_id

The unique identifier for this node, which is deterministic based on the source.

It is used to identify unique nodes across parses.

◆ location

pm_location_t pm_node::location

This is the location of the node in the source.

It's a range of bytes containing a start and an end.


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