Crate leo_asg[−][src]
Expand description
The abstract semantic graph (ASG) for a Leo program.
This module contains the Asg
type, an abstract data type that represents a Leo program
as a series of graph nodes. The Asg
type is at a greater level of abstraction than an Ast
.
A new Asg
type can be created from an Ast
.
Converting to an Asg
provides greater type safety by canonicalizing and checking program types.
Re-exports
pub use checks::*;
pub use const_value::*;
pub use error::*;
pub use expression::*;
pub use import::*;
pub use node::*;
pub use prelude::*;
pub use program::*;
pub use reducer::*;
pub use scope::*;
pub use statement::*;
pub use type_::*;
pub use variable::*;
pub use pass::*;
pub use context::*;
Modules
Helper methods to determine the correct return value path in an asg.
Errors encountered when attempting to convert to an asg from an ast.
This module defines an expression node in an asg.
Helper methods for resolving imported packages.
This module defines the program node for an asg.
This module contains the reducer which iterates through ast nodes - converting them into asg nodes and saving relevant information.
This module defines a statement node in an asg.
Structs
The abstract semantic graph (ASG) for a Leo program.
The abstract syntax tree (AST) for a Leo program.
An identifier in the constrained program.
Stores program input values as ASG nodes.