Professional Documents
Culture Documents
De Sistemas e Informática
3° Informe del laboratorio De Lenguajes
y Traductores
Pregrado
Arzapalo Caldas, César Kennedy Rousseau 17200134
Diego Martín Santillán Chávez 17200242
07 de setiembre 2018
Gramática para definir una clase
Leyenda:
: Significa derivación.
||| : Significa “O”,
ejem: <A> “a” ||| “b”
Quiere decir que A puede derivar en a o en b
< >: lo que se encuentre dentro del menor mayor es un no terminal.
“ ” : lo que se encuentre dentro de las comillas es un terminal.
dec: declaración.
Aclaraciones:
En los no terminales:
<herencia_simple>, <herencia_multiple>, <dec> ,<idp>, <ide-d>
Al inicio de la producción de la gramática estos tenían derivación nula, por lo cual se eliminó la derivación
nula.
En las declaraciones <dec> en su derivación siempre debe estar presente el <idtd>, por ende este no debería
presentar en primera instancia derivación nula.
Al momento de definir la gramática dentro del conjunto de los no terminales y terminales, se optó por no
poner el < > y “ ” en los conjunto de los no terminales y terminales respectivamente, para que sea más
digerible su declaración; sin embargo, en la derivación esta incluido estos para poder diferenciarlos.
Los identificadores idclass y idclass los definimos como no terminales para hacer genérico la declaración de
nombres en las variables, ojo que esto no es viable de hacer o no es correcto, solo que lo presentamos así
para hacerlo más fácil de entender.
“clase” <idclass>
“,” <idclass>
<met> <idp> <idtd> <idn> “(” <dec> “)” “;” <met> |||
<idclass> “nombre_de_clases”
<idn> “nombre”