TAC Three address code Three-address code (TAC) will be the intermediate representation used in our Decaf compiler. It is essentially a generic assembly language that falls in the lower-end of the mid-level IRs. Many compilers use an IR similar to TAC. It is a sequence of instructions, each of which can have at most three operands. The operands could be
Special Notations for Repetitive Constructs Repetition – A → A | (left recursive), and – A → A | (right recursive) where and are arbitrary strings of terminals and non-terminals, and – In the first rule does not begin with A and