m2isar.backends.etiss.instruction_transform =========================================== .. py:module:: m2isar.backends.etiss.instruction_transform .. autoapi-nested-parse:: Recursive tree traversal methods to generate behavior code. Attributes ---------- .. autoapisummary:: m2isar.backends.etiss.instruction_transform.logger Functions --------- .. autoapisummary:: m2isar.backends.etiss.instruction_transform.operation m2isar.backends.etiss.instruction_transform.block m2isar.backends.etiss.instruction_transform.return_ m2isar.backends.etiss.instruction_transform.break_ m2isar.backends.etiss.instruction_transform.scalar_definition m2isar.backends.etiss.instruction_transform.procedure_call m2isar.backends.etiss.instruction_transform.function_call m2isar.backends.etiss.instruction_transform.conditional m2isar.backends.etiss.instruction_transform.loop m2isar.backends.etiss.instruction_transform.ternary m2isar.backends.etiss.instruction_transform.assignment m2isar.backends.etiss.instruction_transform.binary_operation m2isar.backends.etiss.instruction_transform.unary_operation m2isar.backends.etiss.instruction_transform.slice_operation m2isar.backends.etiss.instruction_transform.concat_operation m2isar.backends.etiss.instruction_transform.named_reference m2isar.backends.etiss.instruction_transform.indexed_reference m2isar.backends.etiss.instruction_transform.type_conv m2isar.backends.etiss.instruction_transform.int_literal m2isar.backends.etiss.instruction_transform.number_literal m2isar.backends.etiss.instruction_transform.group m2isar.backends.etiss.instruction_transform.operator m2isar.backends.etiss.instruction_transform.code_literal Module Contents --------------- .. py:data:: logger .. py:function:: operation(self: m2isar.metamodel.behav.Operation, context: m2isar.backends.etiss.instruction_utils.TransformerContext) Generate an `Operation` model object. Essentially generate all children, concatenate their code, and add exception behavior if needed. .. py:function:: block(self: m2isar.metamodel.behav.Block, context: m2isar.backends.etiss.instruction_utils.TransformerContext) .. py:function:: return_(self: m2isar.metamodel.behav.Return, context: m2isar.backends.etiss.instruction_utils.TransformerContext) .. py:function:: break_(self: m2isar.metamodel.behav.Break, context: m2isar.backends.etiss.instruction_utils.TransformerContext) .. py:function:: scalar_definition(self: m2isar.metamodel.behav.ScalarDefinition, context: m2isar.backends.etiss.instruction_utils.TransformerContext) Generate a scalar definition. Calculates the actual required data width and generates a variable instantiation. .. py:function:: procedure_call(self: m2isar.metamodel.behav.ProcedureCall, context: m2isar.backends.etiss.instruction_utils.TransformerContext) Generate a procedure call (Function call without usage of the return value). .. py:function:: function_call(self: m2isar.metamodel.behav.FunctionCall, context: m2isar.backends.etiss.instruction_utils.TransformerContext) Generate a regular function call (with further use of return value). .. py:function:: conditional(self: m2isar.metamodel.behav.Conditional, context: m2isar.backends.etiss.instruction_utils.TransformerContext) Generate a conditional ('if' with optional 'else if' and 'else' blocks) .. py:function:: loop(self: m2isar.metamodel.behav.Loop, context: m2isar.backends.etiss.instruction_utils.TransformerContext) Generate 'while' and 'do .. while' loops. .. py:function:: ternary(self: m2isar.metamodel.behav.Ternary, context: m2isar.backends.etiss.instruction_utils.TransformerContext) Generate a ternary expression. .. py:function:: assignment(self: m2isar.metamodel.behav.Assignment, context: m2isar.backends.etiss.instruction_utils.TransformerContext) Generate an assignment expression .. py:function:: binary_operation(self: m2isar.metamodel.behav.BinaryOperation, context: m2isar.backends.etiss.instruction_utils.TransformerContext) Generate a binary expression .. py:function:: unary_operation(self: m2isar.metamodel.behav.UnaryOperation, context: m2isar.backends.etiss.instruction_utils.TransformerContext) .. py:function:: slice_operation(self: m2isar.metamodel.behav.SliceOperation, context: m2isar.backends.etiss.instruction_utils.TransformerContext) Generate a slice expression .. py:function:: concat_operation(self: m2isar.metamodel.behav.ConcatOperation, context: m2isar.backends.etiss.instruction_utils.TransformerContext) Generate a concatenation expression .. py:function:: named_reference(self: m2isar.metamodel.behav.NamedReference, context: m2isar.backends.etiss.instruction_utils.TransformerContext) Generate a named reference .. py:function:: indexed_reference(self: m2isar.metamodel.behav.IndexedReference, context: m2isar.backends.etiss.instruction_utils.TransformerContext) Generate an indexed reference expression (for register banks or memory). .. py:function:: type_conv(self: m2isar.metamodel.behav.TypeConv, context: m2isar.backends.etiss.instruction_utils.TransformerContext) Generate a type cast expression .. py:function:: int_literal(self: m2isar.metamodel.behav.IntLiteral, context: m2isar.backends.etiss.instruction_utils.TransformerContext) Generate an integer literal. .. py:function:: number_literal(self: m2isar.metamodel.behav.NumberLiteral, context: m2isar.backends.etiss.instruction_utils.TransformerContext) Generate generic number literal. Currently unused. .. py:function:: group(self: m2isar.metamodel.behav.Group, context: m2isar.backends.etiss.instruction_utils.TransformerContext) Generate a group of expressions. .. py:function:: operator(self: m2isar.metamodel.behav.Operator, context: m2isar.backends.etiss.instruction_utils.TransformerContext) .. py:function:: code_literal(self: m2isar.metamodel.behav.CodeLiteral, context: m2isar.backends.etiss.instruction_utils.TransformerContext)