예제 #1
0
def p_locals_1(p):
	'''locals : dec_list SEMICOLON'''
	p[0] = p[1]
	if hasattr(p[1], "typ"):
		typ = p[1].typ
	else:
		typ=None
	symtab.banf(p[1].name,typ)
예제 #2
0
def p_param_5(p):
	'''param : ID COLON type'''
	p[0] = Node('',[p[3]],p[1])
	p[0].name = p[1]
	p[0].value = p[1]
	p[0].typ=p[3].typ

	a=symtab.banf(p[0].name,p[3].typ)
	if a :
		print "#Error# redeclaracion de identificador '%s' en linea %i" % (p[0].name,a.lineno)
예제 #3
0
def p_param_4(p):
	'''param : ID COLON FLOAT'''
	p[0] = Node('',[],[p[1],p[3]])
	p[0] = Node('',[],[p[1],p[3]])
	p[0].clase = "ident"
	p[0].typ = p[3]
	p[0].name = p[1]

	a=symtab.banf(p[0].name,p[0].typ)
	if a :
		print "#Error# redeclaracion de identificador '%s' en linea %i" % (p[0].name,a.lineno)