Free cookie consent management tool by TermsFeed Policy Generator

source: branches/2886_SymRegGrammarEnumeration/HeuristicLab.Algorithms.DataAnalysis.SymRegGrammarEnumeration/GrammarEnumeration/Grammar.cs @ 15712

Last change on this file since 15712 was 15712, checked in by lkammere, 6 years ago

#2886 Add basic class structure, grammar and grammar iteration.

File size: 924 bytes
Line 
1namespace HeuristicLab.Algorithms.DataAnalysis.SymRegGrammarEnumeration {
2  public class Grammar {
3
4    public Symbol StartSymbol;
5
6    public Grammar(string[] variables) {
7      #region Define Symbols
8      VariableSymbol var = new VariableSymbol("var", variables);
9
10      NonterminalSymbol expr = new NonterminalSymbol("Expr");
11      NonterminalSymbol term = new NonterminalSymbol("Expr");
12      NonterminalSymbol factor = new NonterminalSymbol("Expr");
13
14      TerminalSymbol addition = new TerminalSymbol("+");
15      TerminalSymbol multiplication = new TerminalSymbol("*");
16      #endregion
17
18
19      #region Production ruless
20      StartSymbol = expr;
21
22      expr.AddProduction(term, expr, addition);
23      expr.AddProduction(term);
24
25      term.AddProduction(factor, term, multiplication);
26      term.AddProduction(factor);
27
28      factor.AddProduction(var);
29      #endregion
30    }
31  }
32}
Note: See TracBrowser for help on using the repository browser.