예제 #1
0
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="subSequence"></param>
        public Runner(SubSequence subSequence)
        {
            EventTimeLine    = new Events.EventTimeLine();
            SubSequence      = subSequence;
            EFSSystem.Runner = this;

            // Compile everything
            Interpreter.Compiler compiler = new Interpreter.Compiler(EFSSystem, EFSSystem.ShouldRebuild);
            compiler.Compile();
            EFSSystem.ShouldRebuild = false;

            Setup();
        }
예제 #2
0
        /// <summary>
        ///     A simple runner
        /// </summary>
        public Runner(bool explain, int step = 100, int storeEventCount = 0)
        {
            EventTimeLine = new EventTimeLine();
            SubSequence = null;
            Step = step;
            EventTimeLine.MaxNumberOfEvents = storeEventCount;
            EfsSystem.Instance.Runner = this;
            Explain = explain;

            // Compile everything
            EfsSystem.Instance.Compiler.Compile_Synchronous(EfsSystem.Instance.ShouldRebuild);
            EfsSystem.Instance.ShouldRebuild = false;

            Setup();
        }
예제 #3
0
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="subSequence"></param>
        /// <param name="explain"></param>
        /// <param name="ensureCompilation">Indicates that the runner should make sure that the system is compiled</param>
        /// <param name="checkForCompatibleChanges">Indicates that the runner should check that no variables are accessed twice during the same cycle</param>
        public Runner(SubSequence subSequence, bool explain, bool ensureCompilation, bool checkForCompatibleChanges = false)
        {
            EventTimeLine = new EventTimeLine();
            SubSequence = subSequence;
            EfsSystem.Instance.Runner = this;
            Explain = explain;
            CheckForCompatibleChanges = checkForCompatibleChanges;

            if (ensureCompilation)
            {
                // Compile everything
                EfsSystem.Instance.Compiler.Compile_Synchronous(EfsSystem.Instance.ShouldRebuild);
                EfsSystem.Instance.ShouldRebuild = false;
            }

            Setup();
            PleaseWait = true;
        }
예제 #4
0
        /// <summary>
        ///     Constructor
        /// </summary>
        /// <param name="subSequence"></param>
        /// <param name="explain"></param>
        /// <param name="logEvents">Indicates whether events should be logged</param>
        /// <param name="ensureCompilation">Indicates that the runner should make sure that the system is compiled</param>
        public Runner(SubSequence subSequence, bool explain, bool logEvents, bool ensureCompilation)
        {
            EventTimeLine = new EventTimeLine();
            SubSequence = subSequence;
            EFSSystem.INSTANCE.Runner = this;
            LogEvents = logEvents;
            Explain = explain;

            if (ensureCompilation)
            {
                // Compile everything
                EFSSystem.INSTANCE.Compiler.Compile_Synchronous(EFSSystem.INSTANCE.ShouldRebuild);
                EFSSystem.INSTANCE.ShouldRebuild = false;
            }

            Setup();
            PleaseWait = true;
        }
예제 #5
0
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="subSequence"></param>
        public Runner(SubSequence subSequence)
        {
            EventTimeLine = new Events.EventTimeLine();
            SubSequence = subSequence;
            EFSSystem.Runner = this;

            // Compile everything
            Interpreter.Compiler compiler = new Interpreter.Compiler(EFSSystem, EFSSystem.ShouldRebuild);
            compiler.Compile();
            EFSSystem.ShouldRebuild = false;

            Setup();
        }