pull/72/head v0.1.0
yhirose 5 years ago
parent ac8c93f415
commit 2d276c8cd9
  1. 3
      peglib.h
  2. 11
      test/test.cc

@ -2374,6 +2374,9 @@ inline void DetectLeftRecursion::visit(Reference& ope) {
refs_.insert(ope.name_); refs_.insert(ope.name_);
if (ope.rule_) { if (ope.rule_) {
ope.rule_->accept(*this); ope.rule_->accept(*this);
if (done_ == false) {
return;
}
} }
} }
done_ = true; done_ = true;

@ -1032,6 +1032,17 @@ TEST_CASE("Left recursive with zom test", "[left recursive]")
REQUIRE(!parser); REQUIRE(!parser);
} }
TEST_CASE("Left recursive with a ZOM content rule", "[left recursive]")
{
parser parser(R"(
A <- B
B <- _ A
_ <- ' '* # Zero or more
)");
REQUIRE(!parser);
}
TEST_CASE("Left recursive with empty string test", "[left recursive]") TEST_CASE("Left recursive with empty string test", "[left recursive]")
{ {
parser parser( parser parser(

Loading…
Cancel
Save