The document discusses three address code, which is an intermediate code used by optimizing compilers. Three address code breaks expressions down into separate instructions that use at most three operands. Each instruction performs an assignment or binary operation on the operands. The code is implemented using quadruple, triple, or indirect triple representations. Quadruple representation stores each instruction in four fields for the operator, two operands, and result. Triple avoids temporaries by making two instructions. Indirect triple uses pointers to freely reorder subexpressions.