Changeset 15724 for branches/2886_SymRegGrammarEnumeration/HeuristicLab.Algorithms.DataAnalysis.SymRegGrammarEnumeration/GrammarEnumeration/Grammar.cs
- Timestamp:
- 02/06/18 13:52:00 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2886_SymRegGrammarEnumeration/HeuristicLab.Algorithms.DataAnalysis.SymRegGrammarEnumeration/GrammarEnumeration/Grammar.cs
r15723 r15724 155 155 #endregion 156 156 */ 157 157 158 158 #region Hashing 159 159 public int CalcHashCode(SymbolString sentence) { … … 282 282 } 283 283 #endregion 284 285 #region Parse to Infix string 286 287 public SymbolString PostfixToInfixParser(SymbolString phrase) { 288 Stack<Symbol> parseStack = new Stack<Symbol>(phrase); 289 290 return PostfixToInfixSubtreeParser(parseStack); 291 } 292 293 private SymbolString PostfixToInfixSubtreeParser(Stack<Symbol> parseStack) { 294 Symbol head = parseStack.Pop(); 295 296 SymbolString result = new SymbolString(); 297 298 if (ReferenceEquals(head, Addition) || ReferenceEquals(head, Multiplication)) { 299 result.AddRange(PostfixToInfixSubtreeParser(parseStack)); 300 result.Add(head); 301 result.AddRange(PostfixToInfixSubtreeParser(parseStack)); 302 } else { 303 result.Add(head); 304 } 305 return result; 306 } 307 308 #endregion 284 309 } 285 310 }
Note: See TracChangeset
for help on using the changeset viewer.