Trình_biên_dịch_của_trình_biên_dịch

Một "trình biên dịch của trình biên dịch" hay "chương trình sinh trình biên dịch" (tiếng Anh: compiler-compiler) là một công cụ tạo ra bộ phân tích cú pháp, trình thông dịch hoặc trình biên dịch từ một dạng mô tả hình thức nào đó của một ngôn ngữ và máy tính. Dạng sơ khai nhất nhưng vẫn phổ biến của chương trình sinh trình biên dịch là trình sinh bộ phân tích cú pháp với đầu vào là một văn phạm (thường dưới dạng BNF của một ngôn ngữ lập trình và đầu ra là mã nguồn của một bộ phân tích cú pháp thường được sử dụng như một thành phần của trình biên dịch.Compiler-compiler lý tưởng nhận một mô tả của ngôn ngữ lập trình và một kiến trúc tập lệnh đầu ra và tự động sinh ra một trình biên dịch có thể sử dụng được. Trong thực tế, mức độ phát triển hiện tại vẫn chưa đạt đến độ phức tạp này và hầu hết trình sinh trình biên dịch không thể xử lý được ngữ nghĩa của thông tin về kiến trúc đầu ra.