(self, n: int)
return make_pipeline(op) if op else NoOp
Explore the grammar `g` starting from `g.start` and generate all possible   choices after `n` derivations.

        Parameters
        ----------
        g : Grammar
            input grammar
        n : int
            number of derivations

        Returns
        -------
        PlannedOperator
Explore the grammar `g` starting from `g.start` and generate all possible   choices after `n` derivations.
Explore the grammar g starting from g . start and generate all possible choices after n derivations .
def unfold(self, n: int) -> PlannedOperator:
        """
        Explore the grammar `g` starting from `g.start` and generate all possible   choices after `n` derivations.

        Parameters
        ----------
        g : Grammar
            input grammar
        n : int
            number of derivations

        Returns
        -------
        PlannedOperator
        """
        assert hasattr(self, "start"), "Rule start must be defined"
        op = self._unfold(self.start, n)
        return make_pipeline(op) if op else NoOp
def unfold ( self , n : int ) -> PlannedOperator : assert hasattr ( self , "start" ) , "Rule start must be defined" op = self . _unfold ( self . start , n ) return make_pipeline ( op ) if op else NoOp