From d6cb444af696ea23d23b1252f2aa51235aff2d63 Mon Sep 17 00:00:00 2001 From: JP Appel Date: Mon, 2 Jun 2025 13:37:43 -0400 Subject: Fix lookback error in lexer --- pkg/query/query.go | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 pkg/query/query.go (limited to 'pkg/query/query.go') diff --git a/pkg/query/query.go b/pkg/query/query.go new file mode 100644 index 0000000..5ddc724 --- /dev/null +++ b/pkg/query/query.go @@ -0,0 +1,34 @@ +package query + +import "strings" + +func Generate(ir *QueryIR) (any, error) { + // TODO: implement + return nil, nil +} + +func Compile(query string) (any, error) { + // TODO: logging + clause, err := Parse(Lex(query)) + if err != nil { + return nil, err + } + + ir, err := NewIR(*clause) + if err != nil { + return nil, err + } + + ir, err = Optimize(ir) + if err != nil { + return nil, err + } + + return Generate(ir) +} + +func writeIndent(b *strings.Builder, level int) { + for range level { + b.WriteByte('\t') + } +} -- cgit v1.2.3