Sei sulla pagina 1di 3

Universidad Central de Venezuela

Facultad de Ciencias
Escuela de Computacin
Lenguajes de Programacion

Prctica # 1
Tema 1: Descripcin de Lenguajes
BNF (BACKUS NAUS FORM)

1. Dado el alfabeto = {a, b}, sea L el lenguaje de las palabras en las que se
cumplen todas las condiciones siguientes:

Al menos tienen 2 smbolos b.


En ningn sitio tienen 2 o ms smbolos, a consecutivos.
Si la palabra empieza por b, no podr terminar por a.

Palabras vlidas: bb, bab, babbbabab, abba, abbbaba, abb


Palabras no vlidas: b, aabb, bba, baab.

Se desea que se proporcione una gramtica que describa el mismo lenguaje


mediante el uso de BNF.

2. Defina una gramtica utilizando notacin BNF para cada uno de los siguientes
conjuntos :
Identificadores comenzando por una letra seguida de cero o mas letras,
dgitos o caracteres de subrayado. Por ejemplo: Saldo_1.
Las constantes hexadecimales sin signo del Lenguaje C que comienzan con
0x o 0X seguido de uno o ms dgitos hexadecimales. Por ejemplo: 0x80,
0X1FA.
Constantes binarias enteras con signo opcional y terminado en la letra B. Por
ejemplo: 101B, +10010B.
Constantes reales hexadecimales con signo opcional. Por ejemplo: 1AF.2
Cadenas de letras minsculas que contienen las cinco vocales en orden. Por
ej.: lxacdeyyitoputt.

3. Para cada ejemplo del ejercicio 2, muestre el rbol de sintaxis asociado.

4. En el sistema operativo VENTANAS, los archivos se nombran de una forma


muy simple, con varios elementos escritos consecutivamente y sin blancos
intermedios:
Unidad: Es un elemento opcional, que consiste en una letra (normalmente
las primeras del alfabeto: A, B, C...) seguida de dos puntos :.
Directorio: Es un elemento opcional encerrado entre dos barras /, que
consta de nombres de directorios separados a su vez por barras /. El
nombre de un directorio es una secuencia cualquiera de caracteres
alfanumricos.
Nombre y extensin: El primero es obligatorio, mientras que la segunda es
opcional; en caso de escribirse la extensin, ambos elementos se separan con
un punto. Los dos campos estn formados por caracteres alfanumricos,
aunque el nombre del archivo no tiene restriccin de longitud y la extensin
del archivo se limita a un mximo de 3 caracteres.
Universidad Central de Venezuela
Facultad de Ciencias
Escuela de Computacin
Lenguajes de Programacion

Ejemplos:
C:/VENTANAS/TEMP/TRASH
PRACTICA_0.DOC
A:PRACTICA_0.DATA

a) Defina una gramtica que describa la sintaxis de los archivos del sistema
operativo VENTANAS, especificada en EBNF.
b) Para la gramtica definida en la parte (a) muestre el diagrama sintctico
equivalente.

5. En una lista de nombres en espaol, cada elemento se separan entre si con comas
y los dos ltimos con la conjuncin y. En el caso en el que se haga referencia
a un solo nombre, estar excluido de la regla anterior. Por ejemplo:

Ejemplos:
Luis
Luis y Lopy
Juan, Cesar y Sosa
Mata, Gil, Elisa, Sosa y Elisa

Escriba mediante BNF, una gramtica que permita describir estas listas.

6. Se tiene un archivo de texto que contiene un conjunto de referencias


bibliogrficas usadas con fines acadmicos. Las referencias bibliogrficas se
estructuran de la siguiente manera:
Se inicia con un autor o autores separados por punto y coma entre s, y
finaliza en punto; seguidamente el ttulo del libro, luego la edicin, despus
la editorial del libro y por ltimo el ao en que fue editado dicho libro.
El autor consta del apellido en letras maysculas y la inicial del nombre. El
apellido y la inicial del nombre estn separados por una coma.
El ttulo del libro comienza y termina con comillas dobles y est formado por
un conjunto de palabras que empiezan con letra mayscula. Las palabras
entre s se separan por espacios en blanco.
La edicin consta de un entero positivo seguido de la palabra edicin y
finaliza en un punto. La edicin y el ttulo se encuentran separados entre s
por una coma.
La editorial del libro es un conjunto de palabras en letras maysculas y
finaliza en coma.
El ao de la edicin es un entero positivo de cuatro dgitos.

Escriba una gramtica usando notacin EBNF que permita representar las
referencias del archivo de texto.

7. Escriba una gramtica usando BNF, que permita reconocer expresiones


matemticas de nmeros enteros positivos.
Universidad Central de Venezuela
Facultad de Ciencias
Escuela de Computacin
Lenguajes de Programacion

8. Proponga una definicin sintctica en la notacin EBNF para denotar URLs. Un


URL (Universal Resource Locator) es una alternativa para especificar recursos
en internet de una manera homognea. Para efectos de este problema, se
propone un subconjunto de lo que es realmente un URL, el cual es descrito a
continuacin:

Un URL puede comenzar con el protocolo mediante el cual se desea ubicar


el recurso (http://, ftp://, file://, news://).
Luego se dispone de una parte opcional donde se especifica la cuenta de
usuario y el password separados entre s por dos puntos (:). Esta parte
finaliza con @.
Seguidamente se especifica el identificador del host (ya sea una direccin IP
o un nombre).
Finalmente, restan componentes opcionales que permiten diferenciar el
recurso definido por el URL, los cuales son (en orden):
1. Camino o directorio
2. Nombre del documento
3. Espacio para argumentos: empieza con el carcter ?. La convencin
que se sigue para especificar los argumentos es mediante un par,
formado por el nombre del argumento y su valor (separados entre si
por el caracter =). Los pares de argumentos se separan entre si por
un & excepto el ltimo par que se separa con |.
Nota: Para Camino o Directorio y Nombre del Documento se usaran las
especificaciones del problema 4 para Directorio y Nombre y Extensin
respectivamente.

Ejemplos:
https://mail.google.com/mail
ftp://191.168.0.23/
http://localhost:8080/index.jsp
ftp://olp_estud:mi_passwd@ftp.ucv.edu.ve/pub/dos/compiladores/prolog.
zip
http://www.example.com/cgi-bin/count.cgi?display=counter&width=6|
file=olp.dat

Potrebbero piacerti anche