Foundationপ্রথম নীতি থেকে
LEVEL 5 · Compilers

Three-Address Code

থ্রি-অ্যাড্রেস কোড

Flat IR — প্রতি instruction সর্বোচ্চ তিন address (দুই operand + এক result), complex expression ভেঙে temp variable-এ।

also: TAC, 3AC

a = b * c + d → TAC:

t1 = b * c
t2 = t1 + d
a  = t2
  • Machine-near কিন্তু machine-free: register count, instruction selection এখনো নেই — target-independent optimization-এর আদর্শ জায়গা
  • Quadruple (op, a, b, result) বা triple representation; label + jump control flow
  • AST-র nested structure flat list-এ নামানোই lowering — expression evaluation order এখানে explicit হয়ে যায়
  • Bytecode VM-এর instruction stream-ও কার্যত TAC — পার্থক্য encoding-এ, ভাবনায় না