COMPILADORES

12
COMPILADORES Gramáticas libres de contexto y análisis sintáctico

description

compiladores

Transcript of COMPILADORES

COMPILADORESGramticas libres de contexto y anlisis sintcticoGramtica libre de contextoLas gramticas libres de contexto permiten describir la mayora de los lenguajes de programacin, de hecho, la sintaxis de la mayora de lenguajes de programacin est defnida mediante gramticas libres de contexto.Gramtica libre de contextoEn informtica, una gramtica libre de contexto es una gramatica formalen la ue cada regla de produccin es de la forma.VVVSmbolo NO TERMINALEs una cadena de terminales y/o no terminalesUna GIC esta compesta por ! elementos1) T: SIMBOLOS TERMINALES !Elementos ue no generan nada"2) T: NO TERMINALES !Elementos ue no generan nada"3) P: CONJUNTO DE PRODUCCIONES !#entencias ue se escriben en gramtica"$ada regla de produccin consta de%- $abe&a % 'ariable.- ((() %#mbolo de produccin. - $uerpo% cadena * o ms smbolos terminales y+o 'ariables.- Es decir una regla tiene la forma% $abe&a (()$uerpo, por ejemplo% ,a () -,4) S: SIMBOLO INICIAL !.rimer elemento de la gramtica".G = (! T ! "! S#$ No terminalesT$ Smbolos terminales"$ %on&unto de 'roduccionesS$ Smbolos inicialEjemploE () E * EE () E + EE() (E#E() id,ormalmente esta -ram.tica se e/'resa comoG = (! T! " ! S#G = (0E1! 0*!+!(!#! id1! "! E#23 Las letras may4scula A!5!%!6!E 7 S denotan variables : y S es el smbolo de inicio383 Las letras min4sculas a! b !c !d !e ! d-itos! y cadenas en letras ne-rillas son terminales.93 Las letras may4sculas :!7 y ; denotan smbolos