Crate leo_ast[][src]

Expand description

The abstract syntax tree (ast) for a Leo program.

This module contains the Ast type, a wrapper around the Program type. The Ast type is intended to be parsed and modified by different passes of the Leo compiler. The Leo compiler can generate a set of R1CS constraints from any Ast.

Re-exports

pub use self::annotation::*;
pub use self::circuits::*;
pub use self::common::*;
pub use self::errors::*;
pub use self::expression::*;
pub use self::functions::*;
pub use self::groups::*;
pub use self::imports::*;
pub use self::input::*;
pub use self::program::*;
pub use self::reducer::*;
pub use self::statements::*;
pub use self::types::*;

Modules

annotation
circuits
common
errors
expression
functions
groups
imports
input
program

A Leo program consists of import, circuit, and function definitions. Each defined type consists of ast statements and expressions.

reducer
statements
types

Macros

main_input_section

Constructs an input section to store data parsed from a Leo input file. Constructs sections that pass variables directly to the main function.

record_input_section

Constructs an input section to store data parsed from a Leo input file. Constructs sections that pass variables to the main function through the input keyword.

Structs

Ast

The abstract syntax tree (AST) for a Leo program.

Traits

Node