 				when 'undeclared_is_error'
 					debug "[meta] error on undeclared var enabled"
 					$pragma['undeclared_is_error'] = on
+				when 'allow_override_declarations'
+					debug "[meta] Enabling declaration overriding"
+					$pragma['allow_override_declarations'] = on
 				else
 					debug "[meta] unknown pragma: #{params[0]}"
 

				return
		err "Variable #{x} not found in any context!"
	else
		_context[_context.length-1][x] = val
		debug "Created new variable #{x} = #{val} in context ##{_context.length-1}", 2


	_program = []
	_programsrclines = []
	_labels = {}
	_context = [Object.assign({}, STD_CONTEXT)]
	_lineno = 1
	$pragma = {}
	debug "Program reset.", 3

# reads the whole program in a table { lineno: line }
