package jazz.circuit.esterel; ////////////////////////////////////////////////////////////////////////////// // // Esterel module (module <name>: <stmt>.) // // The Syntax is that of "A Hardware Implementation of Pure Esterel" by // Gérard Berry, except for brackets which are used to parenthesize the // parallel construct // // [ stmt ; ... ; stmt || stmt ; ... ; stmt ] // // instead of being the grouping symbols for statements. // ////////////////////////////////////////////////////////////////////////////// import jazz.circuit.*; import jazz.util.List; public final class Module { // Module parameters public name: String; public inputs: List<String>; public outputs: List<String>; public stmt: Stmt; // Parse a Pure Esterel module public static parse(fileName: String): Module; // Compile a Pure Esterel module into a circuit public compile()(inputs: Net[]): (outputs: Net[]); }