From 35ec0f5afb9800b25bd813bccc57a16bc9f837c4 Mon Sep 17 00:00:00 2001 From: JP Appel Date: Mon, 28 Apr 2025 23:34:42 -0400 Subject: Add document output formatting --- pkg/query/query.go | 50 -------------------------------------------------- 1 file changed, 50 deletions(-) delete mode 100644 pkg/query/query.go (limited to 'pkg/query/query.go') diff --git a/pkg/query/query.go b/pkg/query/query.go deleted file mode 100644 index b712370..0000000 --- a/pkg/query/query.go +++ /dev/null @@ -1,50 +0,0 @@ -package query - - -type Node struct { - Parent *Node - Children []*Node - Token -} - -type AST struct { - root Node - size uint64 -} - -// Walk an ast depth first -func (T AST) dfWalk() func() (*Node, bool) { - stack := nodeStack{make([]*Node, 0, T.size)} - stack.Push(&T.root) - - return func() (*Node, bool) { - n := stack.Pop() - for _, child := range n.Children { - stack.Push(child) - } - - if stack.IsEmpty() { - return n, false - } - return n, true - } -} - -// Walk an ast breadth first -func (T AST) bfWalk() func() (*Node, bool) { - queue := nodeQueue{} - queue.buf = make([]*Node, 0, T.size) - queue.Enqueue(&T.root) - - return func() (*Node, bool) { - n, err := queue.Dequeue() - if err != nil { - return nil, false - } - - for _, child := range n.Children { - queue.Enqueue(child) - } - return n, true - } -} -- cgit v1.2.3