One AST node. Active fields depend on kind (noted per field).
More...
#include <ast.hpp>
|
| node_kind | kind {node_kind::empty} |
| | Which fields below are meaningful.
|
| |
| std::uint8_t | byte {} |
| | byte: the exact byte value.
|
| |
| anchor_kind | anchor {anchor_kind::caret} |
| | anchor: the assertion kind.
|
| |
| bool | negated {} |
| | klass: written as [^...] / \D \W \S.
|
| |
| bool | lazy {} |
| | repeat: prefer the shortest expansion.
|
| |
| look_dir | direction {look_dir::ahead} |
| | lookaround: ahead (?=/(?! or behind (?<=/(?<!.
|
| |
| std::int32_t | klass {-1} |
| | klass: index into ast::classes.
|
| |
| std::int32_t | min {} |
| | repeat: minimum count.
|
| |
| std::int32_t | max {-1} |
| | repeat: maximum count (-1 = unbounded).
|
| |
| std::int32_t | group {-1} |
| | group: capture number, -1 for (?:...).
|
| |
| std::int32_t | child {-1} |
| | First child (concat, repeat, alternation, group).
|
| |
| std::int32_t | next {-1} |
| | Next sibling in the parent's child list.
|
| |
| std::uint8_t | effective_flags {} |
| | Flag set in force where this node was parsed (see flags). Stamped from the scope stack; carried for scoped-flag semantics.
|
| |
One AST node. Active fields depend on kind (noted per field).
Definition at line 78 of file ast.hpp.
◆ anchor
anchor: the assertion kind.
Definition at line 82 of file ast.hpp.
◆ byte
| std::uint8_t real::detail::ast_node::byte {} |
byte: the exact byte value.
Definition at line 81 of file ast.hpp.
◆ child
| std::int32_t real::detail::ast_node::child {-1} |
First child (concat, repeat, alternation, group).
Definition at line 90 of file ast.hpp.
◆ direction
lookaround: ahead (?=/(?! or behind (?<=/(?<!.
Definition at line 85 of file ast.hpp.
◆ effective_flags
| std::uint8_t real::detail::ast_node::effective_flags {} |
Flag set in force where this node was parsed (see flags). Stamped from the scope stack; carried for scoped-flag semantics.
Definition at line 92 of file ast.hpp.
◆ group
| std::int32_t real::detail::ast_node::group {-1} |
group: capture number, -1 for (?:...).
Definition at line 89 of file ast.hpp.
◆ kind
Which fields below are meaningful.
Definition at line 80 of file ast.hpp.
◆ klass
| std::int32_t real::detail::ast_node::klass {-1} |
◆ lazy
| bool real::detail::ast_node::lazy {} |
repeat: prefer the shortest expansion.
Definition at line 84 of file ast.hpp.
◆ max
| std::int32_t real::detail::ast_node::max {-1} |
repeat: maximum count (-1 = unbounded).
Definition at line 88 of file ast.hpp.
◆ min
| std::int32_t real::detail::ast_node::min {} |
repeat: minimum count.
Definition at line 87 of file ast.hpp.
◆ negated
| bool real::detail::ast_node::negated {} |
klass: written as [^...] / \D \W \S.
Definition at line 83 of file ast.hpp.
◆ next
| std::int32_t real::detail::ast_node::next {-1} |
Next sibling in the parent's child list.
Definition at line 91 of file ast.hpp.
The documentation for this struct was generated from the following file: