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