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

Implement query parser #9

Closed
3 tasks done
martinm-nm opened this issue Aug 5, 2021 · 0 comments · Fixed by #10
Closed
3 tasks done

Implement query parser #9

martinm-nm opened this issue Aug 5, 2021 · 0 comments · Fixed by #10
Assignees
Labels
enhancement New feature or request

Comments

@martinm-nm
Copy link
Contributor

martinm-nm commented Aug 5, 2021

Implement a query parser that uses the existing grammar and builds an AST. Work items:

  • Redesign the Query class to be a monadic API instead - this will solve the problem of storing which of rollup and fill was intended to come first in the query (which we don't have a good way of capturing with the current API). After spiking this, I decided that instead of making a big change like that let's just make rollup and fill items in a list that can be provided in any order. It's so much less disruptive.
  • Extend the AST to to cover not only queries but also query expressions (functions and formulas).
  • [ ] Write a matcher for AST objects that's needed for testing.
  • Write a parser with tests that parses query strings and returns ASTs. Use the matcher to test the parser.
@martinm-nm martinm-nm added the enhancement New feature or request label Aug 5, 2021
@martinm-nm martinm-nm self-assigned this Aug 5, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant