1. A method for compiling a cycle-based design comprising: generating a parsed cycle-based design from the cycle-based design; elaborating the parsed cycle-based design to an annotated syntax tree; translating the annotated syntax tree to an intermediate form; and converting the intermediate form to an executable form.