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[]);
}