/** * 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); }