Exemplo n.º 1
0
def p_assignment(p):
	'''assignment : field_list '=' expr'''
#	if len(p[1]) == 1:
#		p[0] = assignment(p[1][0], p[3])
#	else:
	struct_name = p[1].popleft()
	p[0] = assignment(struct_name, field_update(variable(struct_name), p[1], p[3]))
Exemplo n.º 2
0
def p_field_access_field_list(p):
	'''expr0 : field_list'''
	struct = variable(p[1].popleft())
	fields = p[1]
	while fields:
		struct = field_access(struct, fields.popleft())
	p[0] = struct