':return: A list of all the untried productions for which
expansions are available for the current parser state.
:rtype: list(Production)'

def untried_expandable_productions(self):

    tried_expansions = self._tried_e.get(self._freeze(self._tree), [])
    return [p for p in self.expandable_productions() if (p not in tried_expansions)]
