A11 (C++ runtime)
Native C++ implementation of the A11 streaming action runtime
Loading...
Searching...
No Matches
a11::flow::graph::Expr Struct Reference

One resolved expression, and the streams it reads. More...

#include <cpp/a11/flow/graph.h>

Public Attributes

const syntax::Node *absl_nullable node = nullptr
 
std::vector< std::pair< const syntax::Node *absl_nonnull, RefId > > bound
 
std::vector< RefId > refs
 The same refs, in the order they were first mentioned, for the analysis.
 

Detailed Description

One resolved expression, and the streams it reads.

node is borrowed from the parse tree, which the graph does not own – see [Graph]. bound is how a name inside an expression becomes a value: the runtime reads each ref's first value and hands [Evaluate] a map keyed by the syntax node that named it. Keying on the node rather than rewriting the tree is what lets the tree stay immutable and shared.

Member Data Documentation

◆ bound

std::vector<std::pair<const syntax::Node* absl_nonnull, RefId> > a11::flow::graph::Expr::bound

◆ node

const syntax::Node* absl_nullable a11::flow::graph::Expr::node = nullptr

◆ refs

std::vector<RefId> a11::flow::graph::Expr::refs

The same refs, in the order they were first mentioned, for the analysis.


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