Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GraphSiblingFinderTest runs makeAllRulesExplicit but does not support top-down queries #73

Open
akoehn opened this issue Dec 10, 2020 · 1 comment
Assignees

Comments

@akoehn
Copy link
Contributor

akoehn commented Dec 10, 2020

I am currently merging some changes from a different branch (6126183) and the warning in makeAllRulesExplicit when called on a TA that does support top-down queries is now a runtime error. It seems like GraphSiblingFinderTest called makeAllRulesExplicit anyway.

Without the call to makeAllRulesExplicit, the test runs fine. Can I just delete that line or was it there for a specific purpose?

(@jgroschwitz wrote that code some years ago)

@jgroschwitz
Copy link
Contributor

I think that call is indeed not necessary.

However, that leaves the bigger problem of what to do when one wants to make all rules explicit in a tree automaton that does not support top-down rules (and, whether the way this works if the automaton does support top-down rules is consistent or bug-prone). Essentially, I think we don't have a proper "good practice" for how tree automata should cache rules, but maybe that's a too conceptual problem at the moment.

There are currently two ways of getting an explicit automaton with bottom-up queries only. Either calling processAllRulesBottomUp with a null argument, and ensuring in the automaton itself that it caches all rules that it sees. The other is to call asConcreteTreeAutomatonBottomUp, but that makes a copy. Should the error message refer to one (or both) of these solutions?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants