Prism Ruby parser
|
This is the base structure that represents a node in the syntax tree. More...
#include <ast.h>
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. | |
This is the base structure that represents a node in the syntax tree.
It is embedded into every node 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.
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.
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.
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.