A fordító-fordító olyan program, amely egy programozási nyelv szintaktikai vagy szemantikai leírását veszi fel, és fordítóprogramot állít elő az adott nyelvhez [1] .
A szintaxis BNF -ként vagy származékaként van kifejezve, és meg kell felelnie a generált fordítóprogramban használt elemzési módszer szabályainak.
Egy nyelv szemantikáját általában úgy írják le, hogy minden szintaktikai konstrukcióhoz kódgeneráló eljárást rendelnek, a szükséges eljárással pedig akkor hívják meg, amikor az elemző felismeri a megfelelő konstrukciót. Így a fordító-fordítók felhasználójának minden esetben ki kell dolgoznia a végrehajtó struktúrákat, és meg kell választania azt a módot, hogy az egyes bemeneti szintaktikai konstrukciókat kimeneti nyelvi műveletekké vagy gépi műveletekké alakítsa , majd meg kell írni a tényleges kódgenerálási eljárásokat. Ezért a Compiler of Compilers hasznos eszköz a fordítók írásában, de semmi több.
Szigorúan véve az értelmező generátor a fordítóprogramok fordítóprogramjának része, azonban a két kifejezést gyakran felcserélhetően használják.