Browse Source

Fixed other bug related to constructors no longer outputting the variables

Yentl Van Tendeloo 9 years ago
parent
commit
e07d8bd0bb
3 changed files with 6 additions and 92917 deletions
  1. 0 92848
      bootstrap/bootstrap.m
  2. 6 1
      bootstrap/constructors.alc
  3. 0 68
      bootstrap/minimal.m

File diff suppressed because it is too large
+ 0 - 92848
bootstrap/bootstrap.m


+ 6 - 1
bootstrap/constructors.alc

@@ -58,12 +58,17 @@ Action function construct_top_funcdef():
 	Element func
 	Element params
 	Action global
+	String name
 
 	global = create_value(!global)
 	assign = create_value(!assign)
 	resolve = create_value(!resolve)
 	constant = create_value(!constant)
-	formal = dict_read(variable_map, input())
+	name = input()
+	if (dict_in(variable_map, name)):
+		formal = dict_read(variable_map, name)
+	else:
+		formal = name
 	func = create_node()
 	params = create_node()
 	dict_add(global, "var", formal)

+ 0 - 68
bootstrap/minimal.m

@@ -1789,71 +1789,3 @@ Node _name_deserialize("deserialize")
 Edge _primitives_name_deserialize(_primitives_deserialize, _name_deserialize)
 Node _body_deserialize("body")
 Edge _signature_body_deserialize(_func_signature_deserialize, _func_body_deserialize)
-Edge _signature_body_str_deserialize(_signature_body_deserialize, _body_deserialize)
-Node _params_deserialize("params")
-Edge _signature_params_deserialize(_func_signature_deserialize, _func_params_deserialize)
-Edge _signature_params_str_deserialize(_signature_params_deserialize, _params_deserialize)
-Node _func_params_deserialize_a()
-Node _name_deserialize_a("a")
-Edge _param_link_deserialize_a(_func_params_deserialize, _func_params_deserialize_a)
-Edge _param_link_str_deserialize_a(_param_link_deserialize_a, _name_deserialize_a)
-Node _name_str_deserialize_a("name")
-Edge _param_name_deserialize_a(_func_params_deserialize_a, _name_deserialize_a)
-Edge _param_name_str_deserialize_a(_param_name_deserialize_a, _name_str_deserialize_a)
-Node _func_signature_log()
-Node _func_params_log()
-Node _func_body_log()
-Edge _primitives_log(primitives, _func_signature_log)
-Node _name_log("log")
-Edge _primitives_name_log(_primitives_log, _name_log)
-Node _body_log("body")
-Edge _signature_body_log(_func_signature_log, _func_body_log)
-Edge _signature_body_str_log(_signature_body_log, _body_log)
-Node _params_log("params")
-Edge _signature_params_log(_func_signature_log, _func_params_log)
-Edge _signature_params_str_log(_signature_params_log, _params_log)
-Node _func_params_log_a()
-Node _name_log_a("a")
-Edge _param_link_log_a(_func_params_log, _func_params_log_a)
-Edge _param_link_str_log_a(_param_link_log_a, _name_log_a)
-Node _name_str_log_a("name")
-Edge _param_name_log_a(_func_params_log_a, _name_log_a)
-Edge _param_name_str_log_a(_param_name_log_a, _name_str_log_a)
-Node user_root()
-Node user_input()
-Node ___user_input("input")
-Edge _user_input(user_root, user_input)
-Edge __user_input(_user_input, ___user_input)
-Node user_output()
-Node ___user_output("output")
-Edge _user_output(user_root, user_output)
-Edge __user_output(_user_output, ___user_output)
-Node user_globals()
-Node ___user_globals("globals")
-Edge _user_globals(user_root, user_globals)
-Edge __user_globals(_user_globals, ___user_globals)
-Node user_frame()
-Node ___user_frame("frame")
-Edge _user_frame(user_root, user_frame)
-Edge __user_frame(_user_frame, ___user_frame)
-Node user_evalstack()
-Node ___user_evalstack("evalstack")
-Edge _user_evalstack(user_frame, user_evalstack)
-Edge __user_evalstack(_user_evalstack, ___user_evalstack)
-Node user_symbols()
-Node ___user_symbols("symbols")
-Edge _user_symbols(user_frame, user_symbols)
-Edge __user_symbols(_user_symbols, ___user_symbols)
-Node user_returnvalue()
-Node ___user_returnvalue("returnvalue")
-Edge _user_returnvalue(user_frame, user_returnvalue)
-Edge __user_returnvalue(_user_returnvalue, ___user_returnvalue)
-Node ___user_last_input("last_input")
-Edge _user_last_input(user_root, user_input)
-Edge __user_last_input(_user_last_input, ___user_last_input)
-Node ___user_last_output("last_output")
-Edge _user_last_output(user_root, user_output)
-Edge __user_last_output(_user_last_output, ___user_last_output)
-Node ___new_user("user_manager")
-Edge _new_user(root, user_root)
-Edge __new_user(_new_user, ___new_user)