Free cookie consent management tool by TermsFeed Policy Generator

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

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

#2665 Added Dictionary of stacks to interperter, clear all stacks

File size: 1.6 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    IPushStack<string> PrintStack { get; }
27    IDictionary<string, Expression> CustomExpressions { get; }
28    IReadOnlyDictionary<StackTypes, IPushStack> Stacks { get; }
29    IReadOnlyPushConfiguration Configuration { get; }
30    void Clear();
31    void Reset();
32    void Run(string code, bool stepwise = false);
33    void Run(Expression expression, bool stepwise = false);
34    Task RunAsync(Expression expression, CancellationToken token = default(CancellationToken));
35    Task RunAsync(string code, CancellationToken token = default(CancellationToken));
36    Task AbortAndResetAsync();
37    Task AbortAsync();
38    Task PauseAsync();
39    void Resume();
40    Task ResumeAsync();
41    bool Step();
42  }
43}
Note: See TracBrowser for help on using the repository browser.