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 complete language parser for kql #7

Open
weikanglim opened this issue Apr 30, 2023 · 0 comments
Open

Implement complete language parser for kql #7

weikanglim opened this issue Apr 30, 2023 · 0 comments
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@weikanglim
Copy link
Owner

Currently, in parse.go, the parser that is used to parse the Kusto declarations is incomplete. It does not validate the declaration for full syntactic correctness, and is written rather poorly (I had many mistakes with the implementation, and cleaned it up to a semi-maintainable state). Ideally, a full language parser should be available with ksd build to avoid any authoring errors to be discovered at deployment time.

There is a .NET (and repackaged JS) parser available via https://github.com/microsoft/Kusto-Query-Language. We'd probably need to rewrite parse.go to take advantage of this, although I'm not happy with the final implementation being another language and runtime, with the needing to do interop. A different solution could be simply build an invocable program and leverage the parser that way.

We'll probably need to do some early benchmarking to ensure whichever solution we adopt, the performance isn't too terrible, and is worth the work.

@weikanglim weikanglim added help wanted Extra attention is needed enhancement New feature or request labels Apr 30, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

1 participant