示例#1
0
def p_dec_list_init(p):

  # Descripción: Regla para el inicio de la lista de declaraciones.
  # Parámetros: - p: token

  ''' DEC_LIST_INIT : TkCreate DEC_LIST '''

  global simTabActual
  # Comienza un nuevo scope, se crea una nueva tabla de simbolos 
  simTabActual = SimTab(simTabActual)
  simTabActual.agregarDecInit(p[2],True)

  p[0] = ArbolDecListInit(p[2],p.lineno(1)+1-ContBot.numLines)
  p[0].check(simTabActual,p.lineno(1)+1-ContBot.numLines,True)
示例#2
0
	def __init__(self,decList,execute):
		self.h2 = execute
		if not(decList is None):
			self.h1 = decList
		else:
			self.h1 = None

		self.simTab = SimTab()
示例#3
0
class ArbolProgram(ArbolInst):
	def __init__(self,decList,execute):
		self.h2 = execute
		if not(decList is None):
			self.h1 = decList
		else:
			self.h1 = None

		self.simTab = SimTab()

	def printArb(self,tabs,usarTabs):
		if not(self.h1 is None):
			self.h2.printArb(tabs,usarTabs)
		else:
			self.h2.printArb(tabs,usarTabs)

	def run(self,simTab):
		if not(self.h1 is None):
			self.simTab.agregarDecInit(self.h1.h2,False)
		self.h2.run(self.simTab)