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§
Structs§
- Attributes
- Attributes associated with a specific IR structure.
- Library
Signatures - 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.
- Bool
Attr - Attributes that are only allowed to take boolean values.
- Direction
- Direction of a port on a cell.
- Internal
Attr - Internal attributes that cannot be parsed back from the IL.
- NumAttr
- Attributes that can take numeric values
- Primitive
Info - 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.