Crate sunscreen_compiler_common
source ·Expand description
This crate contains common types and infrastructure for Sunscreen’s compilers.
Modules
- Helper methods for macros.
- A set of generic compiler transforms.
Structs
- The result of a frontend compiler.
- A compilation context. This stores the current parse graph.
- A wrapper for ascertaining the structure of the underlying graph. This type is used in
forward_traverse
andreverse_traverse
callbacks. - Information about a node in the compilation graph.
- A type which represents the fully qualified name and version of a datatype.
Enums
- Information about how one compiler graph node relates to another.
- An error that can occur when querying various aspects about an operation graph.
Traits
- A supertrait that concisely contains all the traits needed to serve as an operation for
NodeInfo
. - Renders this object into a format that can be viewed by external tooling (e.g. DotViz, HTML, etc.)
- A list of transformations that should be applied to the graph.
- A trait the gives a name an version to a given type
Functions
- Call the supplied callback for each node in the given graph in topological order.
- A specialized topological DAG traversal that allows the following graph mutations during traversal:
- Call the supplied callback for each node in the given graph in reverse topological order.
- A specialized reverse topological DAG traversal that allows the following graph mutations during traversal: