diff --git a/CFGBoltzmann.py b/CFGBoltzmann.py index b05fef5b07350573dd8166fdbd3c1e9375f4ed51..abe35e24c6e1477cceb8f4730efe0e50d2f252af 100644 --- a/CFGBoltzmann.py +++ b/CFGBoltzmann.py @@ -360,9 +360,12 @@ class CFGBoltzmann: def Gzero_shimmed(self, nonterminal, requested_length): nonterminal_index = self.nonterminals_ordered.index(nonterminal) - return self.Gzero(nonterminal_index, requested_length, 0) - def Gzero(self, nonterminal_index, requested_length, depth): + root_of_tree = TreeNode("START",[]) + operation_site = [0] + return (self.Gzero(nonterminal_index, requested_length, 0, root_of_tree, operation_site), root_of_tree) + + def Gzero(self, nonterminal_index, requested_length, depth, root_of_tree, operation_site): possibilities = self.Fzero(nonterminal_index, requested_length) chosen_production = self.normalized_choice(possibilities) print(" "* depth +"Gzero entering, with nonterminal", nonterminal_index, "and production rule number", chosen_production)