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_);
if (ope.rule_) {
ope.rule_->accept(*this);
if (done_ == false) {
return;
}
}
}
done_ = true;

@ -1032,6 +1032,17 @@ TEST_CASE("Left recursive with zom test", "[left recursive]")
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]")
{
parser parser(

Loading…
Cancel
Save