Free cookie consent management tool by TermsFeed Policy Generator

source: branches/HeuristicLab.Problems.GPDL/HeuristicLab.Problems.GPDL/3.4/SymbolBuilder.cs @ 9528

Last change on this file since 9528 was 9430, checked in by gkronber, 11 years ago

initial import of GPDL parser plugin

File size: 1.4 KB
Line 
1using System.Collections.Generic;
2using System;
3
4public class SymbolBuilder {
5  private static HashSet<string> symbols;
6 
7  private static Dictionary<string, string> formalParameter;
8  private static Dictionary<string, string> init;
9  private static Dictionary<string, string> mutate;
10  private static Dictionary<string, string> code;
11 
12  public static void Initialize()
13  {
14    symbols = new HashSet<string>();
15    formalParameter = new Dictionary<string, string>();
16    init = new Dictionary<string, string>();
17    mutate = new Dictionary<string, string>();
18    code = new Dictionary<string, string>();
19  }
20 
21  public static void CreateSymbol(string ident, string formalParameterList) {
22    symbols.Add(ident);
23    formalParameter[ident] = formalParameterList;
24    init[ident] = "";
25    mutate[ident] = "";
26    code[ident] = "";
27  }
28 
29  public static void DefineInitialization(string ident, string code) {
30    init[ident] = code;
31  }
32 
33  public static void DefineMutation(string ident, string code) {
34    mutate[ident] = code;
35  }
36 
37  public static void AddCode(string ident, string c) {
38    code[ident] = c;
39  }
40 
41  public static void WriteSymbols() {
42    foreach(var s in symbols) {
43      Console.WriteLine(s);
44      Console.WriteLine(init[s]);
45      Console.WriteLine(mutate[s]);
46      Console.WriteLine(code[s]);
47    }
48  }
49}
Note: See TracBrowser for help on using the repository browser.