Skip to main content

Module encoding

Module encoding 

Expand description

The main component of libLISA’s semantics is an Encoding. An encoding represents a group of instructions with similar semantics.

An encoding consists of two components: a bitpattern (for grouping instructions) and Dataflows.

Modules§

bitpattern
Types representing the bitpattern in an Encoding.
dataflows
Types representing the dataflows in an Encoding.
indexed
Provides a collection type for crate::encoding::Encodings that can be used in self-referential structures and can be serialized to disk.
mcs
Methods for splitting encodings into overlapping groups and finding mimimum covering subsets of encodings.

Structs§

Encoding
Dataflows and semantics for a group of similar instructions. An encoding matches at least one instruction. If an encoding matches an instruction, it can be instantiated for that instruction.
EncodingWithFilters
An Encoding with pre-computed filters.
WriteOrdering
Describes the order in which outputs should be written, if the part_values match.

Enums§

InstantiationError
An error returned when instantiating an Encoding fails.
IntegrityError
Error returned by Encoding::integrity_check.
RestrictError
An error returned when Encoding::restrict_to fails.

Functions§

merge_encodings_semantically
Performs an eager merging of a collection of crate::encoding::Encodings.
merge_encodings_structurally
Performs a conservative merging of a collection of crate::encoding::Encodings.