Kompilátor kompilátor je program, který vezme syntaktický nebo sémantický popis programovacího jazyka a generuje kompilátor pro tento jazyk [1] .
Syntaxe je vyjádřena jako BNF nebo jeho odvozenina a musí splňovat pravidla metody analýzy , která bude použita ve vygenerovaném kompilátoru.
Sémantika jazyka je obvykle popsána přidružením procedury generování kódu ke každému syntaktickému konstruktu, s nezbytnou procedurou volanou vždy, když je odpovídající konstrukt rozpoznán analyzátorem. Uživatel kompilátorů tedy v každém případě potřebuje vyvinout prováděcí struktury a zvolit způsob, jak převést každý vstupní syntaktický konstrukt na operace výstupního jazyka nebo na strojové operace , po kterých je nutné napsat vlastní procedury generování kódu. Proto je kompilátor kompilátorů užitečným nástrojem, který vám pomůže napsat kompilátory, ale nic víc.
Přísně vzato, generátor parseru je součástí kompilátoru kompilátorů, nicméně tyto dva termíny se často používají zaměnitelně.