Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
03/15/11 13:34:38 (13 years ago)
Author:
mkommend
Message:

#1418: Finally added results from the grammar refactoring.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/DataAnalysis Refactoring/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Grammars/TypeCoherentExpressionGrammar.cs

    r5580 r5686  
    2929  [StorableClass]
    3030  [Item("TypeCoherentExpressionGrammar", "Represents a grammar for functional expressions in which special syntactic constraints are enforced so that boolean and real-valued expressions are not mixed.")]
    31   public class TypeCoherentExpressionGrammar : DefaultSymbolicExpressionGrammar, ISymbolicDataAnalysisGrammar {
     31  public class TypeCoherentExpressionGrammar : SymbolicExpressionGrammar, ISymbolicDataAnalysisGrammar {
    3232
    3333    [StorableConstructor]
     
    123123
    124124      foreach (var unaryFun in unaryFunctionSymbols.Concat(unaryBooleanFunctionSymbols)) {
    125         SetMinSubtreeCount(unaryFun, 1);
    126         SetMaxSubtreeCount(unaryFun, 1);
     125        SetSubtreeCount(unaryFun, 1, 1);
    127126      }
    128127      foreach (var binaryFun in binaryFunctionSymbols.Concat(binaryBooleanFunctionSymbols).Concat(relationalFunctionSymbols)) {
    129         SetMinSubtreeCount(binaryFun, 2);
    130         SetMaxSubtreeCount(binaryFun, 2);
     128        SetSubtreeCount(binaryFun, 2, 2);
    131129      }
    132130
    133131      foreach (var terminalSymbol in terminalSymbols) {
    134         SetMinSubtreeCount(terminalSymbol, 0);
    135         SetMaxSubtreeCount(terminalSymbol, 0);
     132        SetSubtreeCount(terminalSymbol, 0, 0);
    136133      }
    137134
    138       SetMinSubtreeCount(@if, 3);
    139       SetMaxSubtreeCount(@if, 3);
     135      SetSubtreeCount(@if, 3, 3);
    140136
    141137
    142138      // allow only real-valued expressions as child of the start symbol
    143139      foreach (var symb in realValuedSymbols) {
    144         SetAllowedChild(StartSymbol, symb, 0);
     140        AddAllowedChildSymbol(StartSymbol, symb);
    145141      }
    146142
    147143      foreach (var symb in unaryFunctionSymbols) {
    148144        foreach (var childSymb in realValuedSymbols) {
    149           SetAllowedChild(symb, childSymb, 0);
     145          AddAllowedChildSymbol(symb, childSymb);
    150146        }
    151147      }
     
    153149      foreach (var symb in binaryFunctionSymbols) {
    154150        foreach (var childSymb in realValuedSymbols) {
    155           SetAllowedChild(symb, childSymb, 0);
    156           SetAllowedChild(symb, childSymb, 1);
     151          AddAllowedChildSymbol(symb, childSymb);
    157152        }
    158153      }
    159154
    160155      foreach (var childSymb in booleanSymbols) {
    161         SetAllowedChild(@if, childSymb, 0);
     156        AddAllowedChildSymbol(@if, childSymb, 0);
    162157      }
    163158      foreach (var childSymb in realValuedSymbols) {
    164         SetAllowedChild(@if, childSymb, 1);
    165         SetAllowedChild(@if, childSymb, 2);
     159        AddAllowedChildSymbol(@if, childSymb, 1);
     160        AddAllowedChildSymbol(@if, childSymb, 2);
    166161      }
    167162
    168163      foreach (var symb in relationalFunctionSymbols) {
    169164        foreach (var childSymb in realValuedSymbols) {
    170           SetAllowedChild(symb, childSymb, 0);
    171           SetAllowedChild(symb, childSymb, 1);
     165          AddAllowedChildSymbol(symb, childSymb);
    172166        }
    173167      }
    174168      foreach (var symb in binaryBooleanFunctionSymbols) {
    175169        foreach (var childSymb in booleanSymbols) {
    176           SetAllowedChild(symb, childSymb, 0);
    177           SetAllowedChild(symb, childSymb, 1);
     170          AddAllowedChildSymbol(symb, childSymb);
    178171        }
    179172      }
    180173      foreach (var symb in unaryBooleanFunctionSymbols) {
    181174        foreach (var childSymb in booleanSymbols) {
    182           SetAllowedChild(symb, childSymb, 0);
     175          AddAllowedChildSymbol(symb, childSymb);
    183176        }
    184177      }
Note: See TracChangeset for help on using the changeset viewer.