示例#1
0
文件: VM.cs 项目: d3m0n5/GDB
 public VMState(VMState vMState)
 {
     if_depth      = vMState.if_depth;
     foreach_depth = vMState.foreach_depth;
     ip            = 0;
     target        = vMState.target;
     muted         = vMState.muted;
 }
示例#2
0
文件: VM.cs 项目: d3m0n5/GDB
 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;
 }
示例#3
0
文件: VM.cs 项目: d3m0n5/GDB
 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;
 }