kompiliatorkompilator
Kompiliatorkompilator, sering disebut juga sebagai generator kompiler, adalah perangkat lunak yang menerima spesifikasi bahasa pemrograman dalam bentuk tata bahasa formal dan menghasilkan kode sumber sebuah kompiler atau bagian-bagian kompiler untuk bahasa tersebut. Alat semacam ini biasanya dapat menghasilkan komponen utama seperti scanner (lexer) dan parser, serta, dalam beberapa kasus, bagian backend seperti generator kode, optimisasi, dan manajemen kesalahan.
Cara kerjanya umumnya melibatkan pengguna yang menyediakan grammar dalam notasi yang didukung (misalnya BNF atau EBNF)
Kompiliatorkompilator berperan penting dalam desain bahasa baru, pengembangan bahasa domain-spesifik, dan proses pembelajaran tentang rekayasa bahasa
Contoh alat yang sering dianggap sebagai kompiliatorkompilator meliputi YACC/Bison, ANTLR, JavaCC, dan Coco/R. Meski demikian, beberapa