BNF GENERAL

Páginas: 4 (891 palabras) Publicado: 3 de febrero de 2015
Agenda
BNF y EBNF
Brevemente, lo necesario para especificar el lenguaje sobre
el que vamos a trabajar.
JLEX y JCUP
Breve descripción del las herramientas para generar el parser
o analizadorsintáctico.
2do obligatorio
Vamos a ver la letra, el entorno de trabajo, los textos que se
imprimen, y un ejemplo de entrada y salida.

BNF
(Backus–Naur Form)
• Notación formal para definir lasintaxis de un lenguaje
• Usada para especificar la mayoría de los lenguajes de
programación
• Metasímbolos:
::=

se define como

|

or

{}

repetición

[]

opcional

• Losterminales entre comillas y negrita, por ejemplo: 'if', '5'

Ejemplo BNF
Gramática para representar números con decimales
numero

::= entPos
| entPos '.' entPos

entPos

::= digito
| digito entPosdigito

::= '0' | '1' | '2' | '3' | '4'
| '5' | '6' | '7' | '8' | '9'

E-BNF
(Extended BNF)
Se agrega:
?

Opcional

*

0 a n veces

+

1 a n veces

Ejemplo anterior con E-BNFnumero ::= digito + ( '.' digito + ) ?

digito ::= '0' | '1' | '2' | '3' | '4'
| '5' | '6' | '7' | '8' | '9'

JLEX y JCUP
JLEX
Generador de analizadores lexicográficos para Java.
Usaexpresiones regulares para reconocer los terminales del
lenguaje, por ejemplo: palabras claves, identificadores,
números, strings, etc. Se entrega hecho en el archivo:
Principal.java

JCUP
Generadorde analizadores sintácticos (parsers) en Java.
Manual de JCUP (versón 0.10j)

Terminales
JLEX

Principal.java
javac

Gramática
Sintactico.sin
parser.java
JCUP
sym.java

Principal.class+
*.class

Archivo
de entrada

Principal.class
+
*.class

Tira (o código fuente) del
lenguaje definido en la letra
del obligatorio.

java

Archivo
de salida

Si reconoce, devuelve0 error,
e imprime las estructuras
reconocidas.
Sino, imprime: “Error
sintactico” donde se trancó.

Scripts útiles
seteos.bat

configura el PATH y el CLASSPATH, hay que personalizarlo...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Notación Bnf
  • bnf
  • Sintaxis bnf
  • gkjgcbv bnf
  • Bnf
  • Como hacer una bnf
  • Metalenguaje BNF
  • General

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS