Crate calyx_frontend

Source
Expand description

Frontend parsing and AST representation.

Defines the frontend AST and the parser. The frontend representation is transformed into the representation defined in the ir module.

Re-exports§

pub use ast::NamespaceDef;

Modules§

ast
Abstract Syntax Tree for Calyx
parser
Parser for Calyx programs.

Structs§

Attributes
Attributes associated with a specific IR structure.
LibrarySignatures
A representation of all the primitive definitions found while parsing the root program.
PortDef
Definition of a port parameterized by a width type. Ports on Primitives can be parameteris and use Width. Ports on Components cannot be parameterized and therefore use u64.
Primitive
Representation of a external primitive definition.
Workspace
A Workspace represents all Calyx files transitively discovered while trying to compile a top-level file.

Enums§

Attribute
Defines the known attributes that can be attached to IR nodes. All caps names represent attributes that are internal to the compiler and cannot be parsed back.
BoolAttr
Attributes that are only allowed to take boolean values.
Direction
Direction of a port on a cell.
InternalAttr
Internal attributes that cannot be parsed back from the IL.
NumAttr
Attributes that can take numeric values
PrimitiveInfo
Tracks the information for Primitives defined in the program.
Width
Represents an abstract width of a primitive signature.

Constants§

DEPRECATED_ATTRIBUTES
Attributes that have been deprecated.

Traits§

GetAttributes
Structs that can return an Attributes instance.