public VMState(VMState vMState) { if_depth = vMState.if_depth; foreach_depth = vMState.foreach_depth; ip = 0; target = vMState.target; muted = vMState.muted; }
private void Reset() { stack = new Stack <MetaToken>(); separator_stack = new Stack <string>(); state = new VMState(); d_var = new Dictionary <string, string>(); d_var_explicit_host = new Dictionary <string, string>(); d_list = new Dictionary <string, string>(); d_list_iterator_depth = new Dictionary <string, int>(); d_list_explicit_host = new Dictionary <string, string>(); d_metavar_depth = new Dictionary <string, int>(); //TODO should be able to pop meta var? d_iteratable_target = new Dictionary <MetaToken, MetaToken>(); l_literal_buffer = new List <string>(); b_is_sub_vm = false; }
public VM(VM vM, StringBuilder sub_vm_literal, List <MetaToken> meta_tokens) { source = sub_vm_literal; instructions = meta_tokens; name = vM.name; stack = new Stack <MetaToken>(); separator_stack = new Stack <string>(vM.separator_stack); state = new VMState(vM.state); d_var = new Dictionary <string, string>(vM.d_var); d_var_explicit_host = new Dictionary <string, string>(vM.d_var_explicit_host); d_list = new Dictionary <string, string>(vM.d_list); d_list_iterator_depth = new Dictionary <string, int>(vM.d_list_iterator_depth); d_list_explicit_host = new Dictionary <string, string>(vM.d_list_explicit_host); d_metavar_depth = new Dictionary <string, int>(vM.d_metavar_depth); d_iteratable_target = new Dictionary <MetaToken, MetaToken>(vM.d_iteratable_target); l_literal_buffer = new List <string>(); b_is_sub_vm = true; }