handles directives: adds the reference and allocates space for the content

def handle_directive(self, words):
		"""
		handles directives: adds the reference and allocates space for the content	
		"""
		refname = words[1]
		logging.debug("Handling directive " + str(self.getdirective(words[0])))
		logging.debug("First argument is " + str(words[1]))

		if(self.getdirective(words[0]).isstatic()):
			if(refname in self.static_refs):
				raise ReferenceError("[line {}]:{} already defined here (word) {} (line) {}".format(self.line_count,
							refname, self.static_refs[refname][0], self.static_refs[refname][1]))
			self.static_refs[refname] = (self.word_count, self.line_count)
		else:
			if(refname in self.refs):
				raise ReferenceError("[line {}]:{} already defined here (word) {} (line) {}".format(self.line_count,
							refname, self.refs[refname][0], self.refs[refname][1]))
			self.refs[refname] = (self.word_count, self.line_count)
		directive = self.getdirective(words[0])
		self.word_count += directive.get_word_count(words[2:])
		logging.debug("Directive allocates {} words.".format(directive.get_word_count(words[2:])))
		return (self.line_count, "data", directive, words[2:])