aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/query/query.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/query/query.go')
-rw-r--r--pkg/query/query.go50
1 files changed, 0 insertions, 50 deletions
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
- }
-}