loki.backend.maxgen
Functions
  | 
|
  | 
|
  | 
Generate Maxeler maxj kernel code from one or many IR objects/trees.  | 
Classes
  | 
|
  | 
Tree visitor to generate Maxeler maxj kernel code from IR.  | 
- maxjgen(ir)
 Generate Maxeler maxj kernel code from one or many IR objects/trees.
- class MaxjCodegen(depth=0, indent=' ', linewidth=90)
 Bases:
StringifierTree visitor to generate Maxeler maxj kernel code from IR.
- visit_Sourcefile(o, **kwargs)
 Format as
...modules... ...subroutines...
- visit_Module(o, **kwargs)
 Format modules for a kernel as:
package <name without Kernel>; ...imports... class <name> extends Kernel { ...spec without imports... ...routines... }Format modules for the manager as:
package <name without Manager>; ...imports... public interface <name> extends ManagerPCIe, ManagerKernel { ...spec without imports... ...routines... }
or for the platform-specific instantiation:
package <name without ManagerMAX5C>; ...imports... public class <name> extends MAX5CManager implements <name without MAX5C> { ...spec without imports... ...routines... }
- visit_Subroutine(o, **kwargs)
 Format as:
<name>(<args>) { ...spec without arg declarations... ...body... }
- visit_Node(o, **kwargs)
 Format non-supported nodes as
// <repr(Node)>
- visit_Intrinsic(o, **kwargs)
 Format intrinsic nodes.
- visit_Comment(o, **kwargs)
 Format comments.
- visit_CommentBlock(o, **kwargs)
 Format comment blocks.
- visit_VariableDeclaration(o, **kwargs)
 Format declaration as
<type> <name> = <initial>
- visit_Loop(o, **kwargs)
 Format loop with explicit range as
for (<var> = <start>; <var> <= <end>; <var> += <incr>) { ...body... }
- visit_Assignment(o, **kwargs)
 Format statement as
<target> = <expr>
or
<dfe_target> <== <expr>
- visit_ConditionalAssignment(o, **kwargs)
 Format conditional statement as
<target> = <condition> ? <expr> : <else_expr>
- visit_Section(o, **kwargs)
 Format the section’s body.
- visit_CallStatement(o, **kwargs)
 Format call statement as
<name>(<args>)
- visit_Import(o, **kwargs)
 Format imports as
import <name>;
- visit_SymbolAttributes(o, **kwargs)
 
- visit_TypeDef(o)
 
- class MaxjCodeMapper(*args, **kwargs)
 Bases:
LokiStringifyMapper- map_logic_literal(expr, enclosing_prec, *args, **kwargs)
 
- map_string_literal(expr, enclosing_prec, *args, **kwargs)
 
- map_variable_symbol(expr, enclosing_prec, *args, **kwargs)
 
- map_meta_symbol(expr, enclosing_prec, *args, **kwargs)
 
- map_scalar(expr, enclosing_prec, *args, **kwargs)
 
- map_array(expr, enclosing_prec, *args, **kwargs)
 
- map_array_subscript(expr, enclosing_prec, *args, **kwargs)
 
- map_string_subscript(expr, enclosing_prec, *args, **kwargs)
 
- map_range_index(expr, enclosing_prec, *args, **kwargs)
 
- map_cast(expr, enclosing_prec, *args, **kwargs)
 
- map_comparison(expr, enclosing_prec, *args, **kwargs)