Exemple #1
0
 public Tools(Tools other)
 {
     this.Settings             = new Dictionary <string, string>(other.Settings);
     this._rand                = other.Rand; //new Random();
     this._p                   = other._p;
     this.Quiet                = other.Quiet;
     this.ShowUndefConstraints = other.ShowUndefConstraints;
     this.StateConfig          = other.StateConfig;
 }
Exemple #2
0
 public Tools(Dictionary <string, string> settings)
 {
     this.Settings             = settings;
     this._rand                = new Random();
     this._p                   = new AsmParameters();
     this.Quiet                = true;
     this.ShowUndefConstraints = false;
     this.StateConfig          = new StateConfig();
     this.StateConfig.GetRegOn();
 }
Exemple #3
0
 public Tools(Dictionary <string, string> contextSettings, string solverSetting = "")
 {
     this.ContextSettings = contextSettings;
     this.SolverSetting   = solverSetting;
     this.rand_           = new Random();
     this.p_    = new AsmParameters();
     this.Quiet = true;
     this.ShowUndefConstraints = false;
     this.StateConfig          = new StateConfig();
     this.StateConfig.GetRegOn();
 }
Exemple #4
0
        public Tools(Tools other)
        {
            Contract.Requires(other != null);

            this.ContextSettings = new Dictionary <string, string>(other.ContextSettings);
            this.rand_           = other.Rand; //new Random();
            this.p_    = other.p_;
            this.Quiet = other.Quiet;
            this.ShowUndefConstraints = other.ShowUndefConstraints;
            this.StateConfig          = other.StateConfig;
        }
Exemple #5
0
        private AsmSimulator(ITextBuffer buffer, IBufferTagAggregatorFactoryService aggregatorFactory, AsmParameters p = null)
        {
            this._buffer            = buffer;
            this._aggregatorFactory = aggregatorFactory;
            this._cflow             = new CFlow(this._buffer.CurrentSnapshot.GetText());
            this._cachedStates      = new Dictionary <int, IState_R>();
            this.Is_Enabled         = true;
            this._scheduled         = new HashSet <int>();

            Dictionary <string, string> settings = new Dictionary <string, string>
            {
                /*
                 *      Legal parameters are:
                 *          auto_config(bool)(default: true)
                 *          debug_ref_count(bool)(default: false)
                 *          dump_models(bool)(default: false)
                 *          model(bool)(default: true)
                 *          model_validate(bool)(default: false)
                 *          proof(bool)(default: false)
                 *          rlimit(unsigned int)(default: 4294967295)
                 *          smtlib2_compliant(bool)(default: false)
                 *          timeout(unsigned int)(default: 4294967295)
                 *          trace(bool)(default: false)
                 *          trace_file_name(string)(default: z3.log)
                 *          type_check(bool)(default: true)
                 *          unsat_core(bool)(default: false)
                 *          well_sorted_check(bool)(default: false)
                 */
                { "unsat-core", "false" },   // enable generation of unsat cores
                { "model", "false" },        // enable model generation
                { "proof", "false" }         // enable proof generation
            };
            Context ctx = new Context(settings);

            if (p == null)
            {
                p = new AsmParameters();
            }
            bool useForward = true;
            bool useUndef   = true;

            this._runner = new RunnerZ3(p, ctx, useForward, useUndef, true)
            {
                OutputPane = AsmDudeToolsStatic.GetOutputPane()
            };
            this._buffer.Changed += this.Buffer_Changed;
        }