Yacc

Páginas: 2 (306 palabras) Publicado: 2 de mayo de 2012
YACC
Yacc es un programa para generar analizadores sintácticos. Las siglas del nombre significan Yet Another Compiler-Compiler, es decir, "Otro generador de compiladores más". Genera unanalizador sintáctico (la parte de un compilador que comprueba que la estructura del código fuente se ajusta a la especificacion sintáctica del lenguaje) basado en una gramáticaanalítica escrita en una notación similar a la BNF. Yacc genera el código para el analizador sintáctico en el Lenguaje de programación C.
Igual que sucedía con lex, yacc no es directamente un analizador sinoun generador de analizadores. A partir de un fichero fuente en yacc, se genera un fichero fuente en C que contiene el analizador sintáctico. Sin embargo, un analizador sintáctico de yacc nopuede funcionar por sí solo, sino que necesita un analizador léxico externo para funcionar. Dicho de otra manera, el fuente en C que genera yacc contiene llamadas a una función yylex() quedebe estar definida y debe devolver el tipo de lexema encontrado. Además, es necesario incorporar también una función yyerror(), que será invocada cuando el analizador sintáctico encuentre unsímbolo que no encaja en la gramática.
Un programa fuente de Yacc se parece bastante a uno de lex. La diferencia principal está en la sección de reglas, que en vez de expresiones regularescontiene las reglas de la gramática:
<sección de definiciones>
%%
<sección de reglas>
%%
<sección de rutinas
Yacc genera una función llamada yyparse() que contieneel analizador sintáctico. Esta función se comporta como una máquina de estados cuya misión es intentar reducir todo el fichero de entrada al símbolo inicial de la gramática (el primero quese haya definido). Si yacc lo consigue, el analizador sintáctico volverá sin error, y en caso contrario, se invocará a la función yyerror(), que debe estar definida también en algún sitio.
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • lex con yacc
  • EXPOSICION YACC
  • Yacc Bison
  • Yacc
  • Generadores yacc y bison
  • Uso de yacc
  • lex y yacc
  • Lex Y Yacc

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS