Free cookie consent management tool by TermsFeed Policy Generator

source: branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis/Push/Interpreter/IPushInterpreter.cs @ 14834

Last change on this file since 14834 was 14834, checked in by pkimmesw, 7 years ago

#2665 LexicaseSelector, Performance improvements, UI Fixes, Debugger only shows used stacks, fixed Debugger stepping, Added vector expressions, ERCOptions,

File size: 1.5 KB
Line 
1namespace HeuristicLab.Problems.ProgramSynthesis.Push.Interpreter {
2  using System.Collections.Generic;
3  using System.Threading;
4  using System.Threading.Tasks;
5  using Core;
6  using Expressions;
7
8  using HeuristicLab.Problems.ProgramSynthesis.Push.Configuration;
9
10  using Stack;
11
12  public interface IPushInterpreter {
13    IRandom Random { get; set; }
14    IPushStack<Expression> CodeStack { get; }
15    IPushStack<Expression> ExecStack { get; }
16    IPushStack<string> NameStack { get; }
17    IPushStack<bool> BooleanStack { get; }
18    IPushStack<long> IntegerStack { get; }
19    IPushStack<double> FloatStack { get; }
20    IPushStack<char> CharStack { get; }
21    IPushStack<string> StringStack { get; }
22    IPushStack<List<long>> IntegerVectorStack { get; }
23    IPushStack<List<double>> FloatVectorStack { get; }
24    IPushStack<List<bool>> BooleanVectorStack { get; }
25    IPushStack<List<string>> StringVectorStack { get; }
26    IDictionary<string, Expression> CustomExpressions { get; }
27    IReadOnlyPushConfiguration Configuration { get; }
28    void Clear();
29    void Run(string code, bool stepwise = false);
30    void Run(Expression expression, bool stepwise = false);
31    Task RunAsync(Expression expression, CancellationToken token = default(CancellationToken));
32    Task RunAsync(string code, CancellationToken token = default(CancellationToken));
33    Task AbortAndResetAsync();
34    Task AbortAsync();
35    Task PauseAsync();
36    void Resume();
37    Task ResumeAsync();
38    bool Step();
39  }
40}
Note: See TracBrowser for help on using the repository browser.