Sintaxis bnf

Solo disponible en BuenasTareas
  • Páginas : 3 (715 palabras )
  • Descarga(s) : 0
  • Publicado : 31 de mayo de 2011
Leer documento completo
Vista previa del texto
Sintaxis de los Lenguajes de Programación
• Metalenguaje B.N.F.
– Notación para especificar una gramática generativa: define el conjunto de cadenas que son programas del LP sujeto, junto con suestructura sintáctica – Permite describir lenguajes con una sintaxis “independiente del contexto”

Metalenguaje B.N.F. (Forma de Backus-Naur)
símbolos no-terminales (uno de ellos distinguido)
• •para describir los constructores sintácticos del LP sujeto para describir los símbolos (texto) del LP sujeto

símbolos terminales reglas de producción
• una regla con (alternativas) para cada símb.no-terminal • cada alternativa: cadena de terminales y/o no-terminales Ejemplos: ::= if then fi | if then else fi ::=
FLP 2009/10 - Marisa Navarro 2

• Gramáticas de atributos
– Extensiónde B.N.F. mediante atributos y reglas de evaluación de dichos atributos. – Permite describir lenguajes con hechos sintácticos “dependientes del contexto”
FLP 2009/10 - Marisa Navarro 1

• Se permiterecursión en las reglas de producción
– a izquierdas: ::= | ; – a derechas: ::= | ;

• Gramática ambigua:
– Para una cadena terminal hay más de un árbol sintáctico Ejemplo: ::= x | y | z| () | + | * (recursión a izquierda y derecha para un mismo símbolo no-term.) Dos árboles sintácticos para la cadena x + y * z : + x * z

• Estructura sintáctica

=>

árbol sintácticoEjemplo (parte de un árbol): if then ; fi

* y z

+ x y

FLP 2009/10 - Marisa Navarro

3

FLP 2009/10 - Marisa Navarro

4

• Evitar la doble recursividad:
– introduciendonuevos símbolos no-terminales (dejando * y + al mismo nivel) ::= | + | * ::= x | y | z | () misma prioridad para * y + , y asociatividad a izquierdas – introduciendo nuevos símbolos no-terminales(dejando * y + a distinto nivel) ::= | + ::= | * ::= x | y | z | () prioridad de * respecto de + , y asociatividad a izquierdas para ambas operaciones.
FLP 2009/10 - Marisa Navarro 5

–...
tracking img