/// <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(); }
/// <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(); }
/// <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; }
/// <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; }