2.3.5 Funciones Automatas II
2.3.5 Funciones Automatas II
2.3.5 Funciones Automatas II
3 Esquemas de
generación
2.3.5 Funciones
Lenguajes y Autómatas II
10:00 - 11:00
2.3.5 Funciones
Lafunción podría ser definida como un conjunto
de instrucciones que permiten procesar las
variables para obtener un resultado
Declaración Llamada
entry “Nombre de la función” begin_args
<Bloque de código> <Bloque de código>
return call (nombre de la función)
Código de tres direcciones para la
representación de funciones
Ejemplo 1:
Declaración:
int funcion(a,b){
return 5*a+b-1;
}
Llamada:
funcion(4,2)
Ejemplo 2:
Declaración:
int f(x,y){
return (x+y)*4;
}
Llamada:
f(5,6)
Ejemplo 3:
Declaración:
int pago(int horas){
}
Llamada:
pago(3)
Código P: 2*a+(b-3)
ldc 2 ;carga la constante 2
lod a; carga el valor de la variable a
mpi; multiplicación entera
lod b ;carga el valor de la variable b
ldc 3;carga la constante 3
sbi ; sustracción o resta entera
adi ;adición de enteros
ldc 2
2
a
lod 2
ldc a
2
mpi
2*a
2*a
3
b lod b
ldc3
2*a
b-3 Sbi
2*a
adi
2*a+(b-
3)
Representación de una función
Código P
Declaración Llamada
ent “Nombre de la función” mst
<Bloque de código> <Bloque de código>
ret cup
Código P para la representación de
funciones