public override void mix_env(plt_list arg) { if (arg_name == null) { return; } plt_list env = new plt_list(); for (int i = 0; i < arg_name._member.Count; i++) { string name = ((plt_symbol)arg_name.get_member(i)).name; plt_node value = arg.get_member(i + 1); env.set_member(name, value); } update_all_symbol(exp as plt_list, env); }
public static void set_all_symbol_env(plt_list e, plt_list env) { if (e == null) { return; } foreach (plt_node i in e._member) { plt_symbol if_symbol = i as plt_symbol; if (if_symbol != null) { if (env.name_map.ContainsKey(if_symbol.name)) { if_symbol.point_to = env.get_member(if_symbol.name); } continue;; } set_all_symbol_env(i as plt_list, env); } }
public override void mix_env(plt_list arg) { a = (plt_int)arg.get_member(1); b = (plt_int)arg.get_member(2); }
public static void set_all_symbol_env(plt_list e,plt_list env) { if (e == null) { return; } foreach (plt_node i in e._member) { plt_symbol if_symbol = i as plt_symbol; if (if_symbol != null) { if (env.name_map.ContainsKey(if_symbol.name)) if_symbol.point_to = env.get_member(if_symbol.name); continue; ; } set_all_symbol_env(i as plt_list, env); } }