Exemplo n.º 1
0
		addDirData(int(qactual[3]), tmp)

	elif qactual[0] == 'goTo':
		#print qactual[0], qactual[3]
		ip = int(qactual[3]) - 2

	elif qactual[0] == 'goToF':
		#print qactual[0], getDirData(int(qactual[1])), qactual[3]
		if getDirData(int(qactual[1])) == False:
			ip = int(qactual[3]) - 2

	elif qactual[0] == 'era':
		#print qactual[0], qactual[1]
		actual = directory[qactual[1]]
		#print "ERA--", actual
		memoria.newLocalMemory(actual[2], actual[3], actual[4], actual[5], actual[6], actual[7], actual[8])
		if directory[qactual[1]][0] != None:
			parametros = directory[qactual[1]][0]
		else:
			parametros = []
		num_parametros = 0
		paramint = 12000
		paramfloat = 14000
		parambool = 16000

	elif qactual[0] == 'param':
		#print qactual[0], qactual[1]
		if int(qactual[1]) >= 40000:
			tmp = getDirData(getDirData(int(qactual[1])))
		else:
			tmp = getDirData(int(qactual[1]))
Exemplo n.º 2
0
			print "----->", tmp #Despliega una variable de tipo entero, flotante o booleano

	elif qactual[0] == '+dir': #Operacion suma direccion base
		tmp = getDirData(int(qactual[1])) + int(qactual[2]) #Suma el valor de la direccion base y la casilla correspondiente.
		addDirData(int(qactual[3]), tmp) #Se guarda el apuntador a dimension en la memoria

	elif qactual[0] == 'goTo': #Operacion salto
		ip = int(qactual[3]) - 2

	elif qactual[0] == 'goToF': #Operacion de salto en falso
		if getDirData(int(qactual[1])) == False:
			ip = int(qactual[3]) - 2

	elif qactual[0] == 'era': #Operacion era / reservacion de memoria
		actual = directory[qactual[1]] #Obtiene el directorio actual del procedimiento
		memoria.newLocalMemory(actual[2], actual[3], actual[4], actual[5], actual[6], actual[7], actual[8]) #Crear un nuevo espacio de memoria nueva
		if directory[qactual[1]][0] != None:
			parametros = directory[qactual[1]][0] #Recibe la lista de parametros del modulo
		else:
			parametros = [] #Si no hay parametros que enviar la lista es nula
		num_parametros = 0 #Inicializa el contador de parametros
		paramint = 12000
		paramfloat = 14000
		parambool = 16000

	elif qactual[0] == 'param': #Operacion paso de parametros
		if int(qactual[1]) >= 40000:
			tmp = getDirData(getDirData(int(qactual[1])))
		else:
			tmp = getDirData(int(qactual[1]))
		if parametros[num_parametros] == 'int':