public function testFlattenerCircular() { $flattener = ParserHelper::createFlattener(); $expression = null; $expression = new ConcatenatedExpression(array(new ConstantExpression("a"), new AlternativeExpression(array(&$expression, new ConstantExpression("abc"))))); $flattened = $flattener->flattenExpression($expression); $this->assertCount(4, $flattened); }
private function getChecker() { return new HasNoLeftRecursionAsserter(ParserHelper::createFlattener(), ParserHelper::createEmptyChecker()); }
private function getChecker() { return new HasNoEmptyRepeaterAsserter(ParserHelper::createFlattener(), ParserHelper::createEmptyChecker()); }