1. A method comprising: generating, using a computing device, an intermediate representation of a first implementation represented by a source language, where the intermediate representation includes: a data flow graph at a first hierarchical level of the intermediate representation, the data flow graph including a plurality of nodes, and the data flow graph representing a parallel semantic of the first implementation in which operations of the data flow graph are executed in parallel with each other, and a control flow graph at a second hierarchical level of the intermediate representation, where: the control flow graph specifies a behavior of a single node of the plurality of nodes of the data flow graph, and the control flow graph represents a sequential semantic of the first implementation; and generating a second implementation from the intermediate representation, the second implementation being represented by a target language and including: the parallel semantic of the first implementation, and the sequential semantic of the first implementation.