- 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).