PDF de programación - Notación BNF (MR 110-112)

Imágen de pdf Notación BNF (MR 110-112)

Notación BNF (MR 110-112)gráfica de visualizaciones

Publicado el 5 de Julio del 2017
1.805 visualizaciones desde el 5 de Julio del 2017
99,8 KB
3 paginas
Creado hace 15a (22/11/2008)
::=

|

( a | b )

[ algo ]

{ algo }

'xyz'

.

Se define como

Opción alternativa

a ó b, pero no ambos

0 ó 1 vez algo

0 ó más veces algo

símbolo terminal

final de la regla

Notación BNF (MR 110-112)

La notación BNF fue creada por J. Backus y P.Naur 
para describir la sintaxis del lenguaje ALGOL 60.
Utiliza reglas que se construyen con 
tres tipos de símbolos
metasímbolos : son los propios de la BNF. 
símbolos terminales : son los que se usan en 
el texto del programa tal como aparecen en la 
regla (sin las comillas). 
símbolos no terminales : son los demás. Se definen 
usando combinaciones de símbolos terminales,  
no terminales y metasímbolos 

Metasímbolos
Una  tabla de metasímbolos puede ser 

metasímbolo

Significado

::=

|

( a | b )

[ algo ]

{ algo }

'xyz'

.

Se define como

Opción alternativa

a ó b, pero no ambos

0 ó 1 vez algo

0 ó más veces algo

símbolo terminal

final de la regla

Para  definir un dígito  hacen falta 10 reglas

digito ::= '0'.
digito ::= '1'.
---
digito ::= '9'.

También se puede abreviar con una regla con alternativas

digito ::= '0' | '1' | '2' | .. | '9'.

Esta última regla se leería en español como 'un digito se define como un cero o un uno o un dos ... o un nueve.
La  definición de un signo

signo ::= '+' | '-' .

La  definición de un entero_sin_signo

entero_sin_signo ::= digito | digito entero_sin_signo.

También se puede definir el entero_sin_signo usando las llaves de EBNF

entero_sin_signo ::= digito { digito }

La definición de un entero

http://arca.tic.udc.es/y/01Algor/11bnf.htm

entero ::= [ signo ] entero_sin_signo

La definición de un  identificador  es

identificador ::= letra { [ guión_bajo ] (letra | digito) }

Definición de sentencia

sentencia ::= [etiqueta ':'](sentencia simple | sentencia estructurada).

sentencia_vacía ::= .

La sentencia vacía NO es el espacio

sentencia_de_asignación ::= (variable | función) ':=' expresión.

sentencia_goto ::= 'goto' etiqueta.

sentencia_simple ::=
sentencia_vacia |
sentencia_de_asignación |
sentencia_goto |
sentencia_de_procedimiento.

Una  secuencia de sentencias  es

secuencia_de_sentencias ::= sentencia {; sentencia}.

La definición para la  sentencia compuesta  es

sentencia_compuesta ::= 'begin' secuencia_de_sentencias 'end'.

La definición de la  sentencia if  es

sentencia_if ::=
'if' exp_log
'then' sentencia
['else' sentencia].

La definición de la  sentencia while  es

sentencia_while ::= 'while' exp_log 'do' sentencia.

La definición de la  sentencia repeat  es

sentencia_repeat ::=
'repeat'
secuencia_de_sentencias
'until' exp_log.

La definición de la  sentencia for  es

sentencia_for ::=
'for' identificador ':=' exp_ord
('to' | 'downto') exp_ord 'do' sentencia

La definición de  case  es

sentencia_case ::= 'case' selector 'of'
elemento_case
{';' elemento_case}
[ [';'] completador_case ]
'end'

donde

completador_case ::= 'otherwise' secuencia_de_sentencias.

elemento_de_case ::= lista_constantes_case ':' sentencia.

lista_constantes_case ::= grupo_case {',' grupo_case}.

grupo_case ::= constante_case | constante_case '..' constante_case.

 

http://arca.tic.udc.es/y/01Algor/11bnf.htm

Ejercicios

Consultando la BNF del manual de referencia impreso, responda a las siguientes preguntas. ¡Razone la respuesta!
1) Una secuencia de sentencias tiene como mínimo.
A. 0 sentencias. 
B. 1 sentencia. 
C. 2 sentencias. 
2) Para el estándar, el número máximo de dígitos de un entero es
A. 8 
B. 10 
C. indefinido 
3) Un identificador puede comenzar por
A. Un dígito 
B. Una letra 
C. El símbolo de guión bajo  (_) 
4) Un identificador NO puede terminar por
A. Dígito 
B. Letra 
C. El símbolo de guión bajo  (_) 
5) La parte entera de un número real debe constar de al menos
A. 0 dígitos (no es obligatoria). 
B. 1 dígito. 
C. 2 dígitos. 
 

 

  

http://arca.tic.udc.es/y/01Algor/11bnf.htm
  • Links de descarga
http://lwp-l.com/pdf4838

Comentarios de: Notación BNF (MR 110-112) (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad