Compilador-compilador


En informática , un compilador-compilador o generador de compiladores es una herramienta de programación que crea un analizador , intérprete o compilador a partir de alguna forma de descripción formal de un lenguaje de programación y una máquina.

El tipo más común de compilador-compilador se llama más precisamente generador de analizador. Solo manejan análisis sintáctico.

La entrada de un generador de analizador es un archivo de gramática , típicamente escrito en forma Backus-Naur (BNF) o forma Backus-Naur extendida (EBNF) que define la sintaxis de un lenguaje de programación de destino;

La salida es un código fuente de un analizador para el lenguaje de programación. La salida del código fuente del analizador (compilado) es un analizador. Puede ser independiente o integrado. Este analizador toma como entrada un código fuente de la fuente del lenguaje de programación de destino y realiza alguna acción o genera un árbol de sintaxis abstracta (AST).

Los generadores de analizadores no manejan la semántica del AST ni la generación de código de máquina para la máquina de destino. [1]

Un metacompilador es una herramienta de desarrollo de software utilizada principalmente en la construcción de compiladores , traductores e intérpretes para otros lenguajes de programación. [2] La entrada a un metacompilador es un programa de computadora escrito en un metalenguaje de programación especializado diseñado principalmente con el propósito de construir compiladores. [2] [3] El lenguaje del compilador producido se llama lenguaje objeto . La entrada mínima que produce un compilador es un metaprograma que especifica la gramática y la semántica del lenguaje objeto.transformaciones en un programa objeto . [3] [4]