Análisis sintáctico

Páginas: 6 (1259 palabras) Publicado: 25 de mayo de 2014
ANALISIS SINTACTICO

1. Dada la siguiente gramática: S  ( S * S ) | x
Realizar el análisis sintáctico de las siguientes sentencias:
(x*x)
(x*(x*x))

2. Dada la siguiente gramática, construir el árbol de análisis sintáctico mas la derecha y mas la izquierda para la cadena not (true or false). Es una gramática ambigua?

Bexp  Bexp or Bterm | Bterm
Bterm  Bterm and Bfact | Bfact
Bfact not Bfact | ( Bexp ) | true | false

3. Una gramática de contexto libre G posee el siguiente conjunto de producciones:
P = { S  A | B, A  a A b | a b, B  a b B | λ }
a) Indica el lenguaje que genera esta gramática.
b) Comprueba que la gramática es ambigua y diseña otra equivalente que no lo sea.

4. Demuestra que las siguientes gramáticas son ambiguas:
a) S → AA , A → AAA | bA |Ab | a
b) S → bA | aB , A → a | aS | bAA, B → b | bS | aBB
c) S → aA, A → Ba, B → Cb, C → c

5. Diseñar una gramática no ambigua para el lenguaje de las expresiones Zaskal usando únicamente “true”, “false” y operadores booleanos. Los operadores de Zaskal son: “or” (binario, infijo), “and” (binario, infijo), “not” (unario, postfijo), “(“ y “)”. Sin contar los paréntesis, la precedenciarelativa de los operadores es not > and > or además, “and” y “or” son asociativos por la derecha.

6. Diseñar una gramática libre de contexto que represente la sintaxis de un lenguaje de expresiones, con las siguientes características:
Las únicas operaciones permitidas serán suma, resta y multiplicación, las tres con notación binaria infija.
Todas tendrán el mismo nivel de precedencia y laasociatividad será por la derecha.
Suma y resta se representaran mediante los símbolos habituales; la multiplicación, mediante una equis mayúscula o minúscula.
Podrán utilizarse paréntesis de la forma habitual y, además, también podrán utilizarse corchetes para parentizar expresiones.
Sin embargo, no se podrá utilizar un corchete para cerrar un paréntesis, ni un paréntesis para cerrar un corchete.
Losnúmeros serán todos enteros y se representarán mediante literales octales (es decir, en base ocho) sin signo.
En las expresiones también podrán intervenir identificadores de variable, donde cada uno de estos identificadores será una letra minúscula distinta de equis.
Una cadena válida del lenguaje no podrá contener ningún blanco y consistirá en una expresión doblemente parentizadas porcorchetes.

Las cadenas [[aX12-b+0]] y [[c+[10-7]x(c)]] son expresiones válidas.

7. Se desea modelar un lenguaje de matrices numéricas en el que, por ejemplo, la matriz de dos filas y tres columnas



Quedaría representada como sigue: ( 1 -3 0 ; -1 0 -2 ; )

Mediante una gramática incontextual represente la sintaxis de dicho lenguaje considerando lo siguiente:
Una cadena correcta del lenguajees aquella que representa a una única matriz.
Una matriz empieza con un componente léxico ( y acaba con ).
Una matriz tiene una o más filas.
Cada fila consta de uno o más componentes léxicos número y acaba con ”;”

8. Diseñar gramáticas de contexto libre que permitan generar las siguientes partes del lenguaje Java:

a) Declaraciones de atributos:

[ModificadorDeAcceso] tipo nombreAtributo;

b) Declaraciones de métodos:

[modificadorDeAcceso] tipoDevuelto nombreMetodo([lista parámetros]) [throws listaExcepciones]
{ instrucciones
[return valor;]
}

c) Declaraciones de clases:

[modificadorDeAcceso] class NombreClase [extends NombreSuperClase] [implements NombreInterface1, NombreInterface2, … ] {

//atributos de la clase (0 ó más atributos)
[modificadorDeAcceso]tipo nombreAtributo;

//métodos de la clase (0 ó más métodos)
[modificadorDeAcceso] tipoDevuelto nombreMetodo([lista parámetros])
[throws listaExcepciones] {
// instrucciones del método
[return valor;]
}
}

Todo lo que aparece entre corchetes es opcional

d) Instrucción condicional

if (EXPBOOL) IST [else IST2]

e) Instrucción switch:

switch ( EXP )
{
case CST1: IST1
case...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Analisis Sintactico
  • analisis sintactico
  • Análisis Sintáctico
  • Analisis sintactico
  • Análisis Sintáctico
  • Análisis sintáctico
  • Analisis Sintactico
  • ANALISIS SINTACTICO

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS