Skip to content

Commit 621fe8c

Browse files
authored
feat: DSL parser rewrite (#25)
## Problem The previous parser was imperative, had poorly defined syntax, was missing the entire physical side, and was not maintainable (essentially a hackathon-like POC). This PR solves all of these problems by designing a better language and using a declarative parser. ## Summary of changes - Better, more simplistic AST - Support for ADTs - Parsing with error recovery and useful messages - Support map literals - Much, much more expressive syntax to model query optimization (see test cases for now, will release a formal specification eventually)
1 parent ed593ea commit 621fe8c

40 files changed

+3866
-3379
lines changed

Cargo.lock

Lines changed: 144 additions & 138 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,13 @@
11
[workspace]
2-
members = ["optd-core", "optd-datafusion", "optd-datafusion-cli"]
2+
members = ["optd-core", "optd-dsl", "optd-datafusion", "optd-datafusion-cli"]
33
resolver = "2"
44

5-
65
[workspace.package]
76
version = "0.1.0"
87
edition = "2021"
98
rust-version = "1.81.0"
109
repository = "https://github.com/cmu-db/optd"
1110

12-
13-
1411
[workspace.dependencies]
1512
anyhow = "1.0"
1613
trait-variant = "0.1.2"

0 commit comments

Comments
 (0)