Statement Scheduler Implementation

Signed-off-by: Anand Krishnamoorthi <anakrish@microsoft.com>
This commit is contained in:
Anand Krishnamoorthi
2023-03-08 08:58:21 -08:00
committed by Anand Krishnamoorthi
parent 6738eeed3c
commit 7789de41b6
11 changed files with 1044 additions and 27 deletions
@@ -349,6 +349,7 @@ cases:
- |
package t
import future.keywords
x = true
default a = [5 | not x]
query: data.t.a
want_result: []
+11 -8
View File
@@ -26,10 +26,10 @@ cases:
every key, x in [1, 2, 3] {
x == key + 1
}
y = x + key
}
# Set
x2 = y {
# Only value
@@ -48,7 +48,7 @@ cases:
every key, x in {1, 2, 3} {
x == key
}
y = x + key
}
@@ -71,7 +71,7 @@ cases:
every key, x in {1:2, 3:4} {
x == key + 1
}
y = x + key
}
@@ -91,9 +91,11 @@ cases:
}
every _ in `abc` {
undefined_var
}
}
y = 100
}
undefined_var { false }
query: data.test
want_result:
x1: 100
@@ -114,10 +116,13 @@ cases:
false
}
}
p { false }
x2 = y {
y = 100
every _ in [1] {
# TODO: if p is an undefined var, raise error.
p
}
}
@@ -126,5 +131,3 @@ cases:
#TODO:
# every vars must be used
@@ -0,0 +1,23 @@
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.
cases:
- note: basic
data: {}
modules:
- |
package test
import future.keywords
r1 = value {
value = p + a[0] # p and a are defined later
q = p # q depends on p; p depends on q
q = t[0] # t is defined at end
a = [ t[i] | # a uses a compr which depends on t
i := 1
]
t = [8, 4]
}
query: data.test
want_result:
r1: 12