## Intermediate Representations

**Graphical**: encode knowledge as a graph. Algorithms are expressed in terms of edges, nodes, lists or trees.**Linear**: represent knowledge as pseudo–code for an abstract machine; operations are thus iterative operations of linear sequences of instructions.**Hybrid**: combine the aforementioned representations, attempting to capture the advantages of both approaches. Linear representation is used to represent basic–blocks, while a graphical representation represents the flow of control among said blocks.

Control flow graphs (CFGs) are instances of both graphical and hybrid intermediate representations (IRs).