Beispiel #1
0
 /**
  * Convert automaton to regular expression
  * 
  * @param slAutomaton $automaton 
  * @return slRegularExpression
  */
 protected function convertRegularExpression($automaton)
 {
     // Convert automatons
     $converter = new slSoreConverter();
     if (($expression = $converter->convertAutomaton($automaton)) !== false) {
         return $expression;
     }
     $converter = new slChareConverter();
     return $converter->convertAutomaton($automaton);
 }
 public function testLearnAll()
 {
     $automaton = new slSingleOccurenceAutomaton();
     $automaton->learn(array('a', 'b', 'c'));
     $automaton->learn(array('a', 'c', 'b'));
     $automaton->learn(array('b', 'a', 'c'));
     $automaton->learn(array('b', 'c', 'a'));
     $automaton->learn(array('c', 'a', 'b'));
     $automaton->learn(array('c', 'b', 'a'));
     $converter = new slSoreConverter();
     $regexp = $converter->convertAutomaton($automaton);
     $this->assertEquals(false, $regexp);
 }