diff --git a/collects/datalog/parse.rkt b/collects/datalog/parse.rkt index 316ea79bdd..04531cdd4c 100644 --- a/collects/datalog/parse.rkt +++ b/collects/datalog/parse.rkt @@ -31,7 +31,7 @@ (datum->syntax #f tok-value (make-srcloc start-pos end-pos))))) (grammar (program [(statements) $1]) - (statements [(statement) (list $1)] + (statements [() empty] [(statement statements) (list* $1 $2)]) (statement [(assertion) $1] [(query) $1] diff --git a/collects/datalog/stx.rkt b/collects/datalog/stx.rkt index 8885a676c2..87d9ccefcd 100644 --- a/collects/datalog/stx.rkt +++ b/collects/datalog/stx.rkt @@ -38,6 +38,7 @@ [(_ thy-expr stmt ...) (syntax/loc stx (parameterize ([current-theory thy-expr]) + (void) (->substitutions (datalog-stmt-var-selector stmt) (eval-statement (datalog-stmt stmt))) @@ -48,6 +49,7 @@ [(_ thy-expr stmt ...) (syntax/loc stx (parameterize ([current-theory thy-expr]) + (void) (eval-top-level-statement (datalog-stmt stmt)) ...))])) diff --git a/collects/tests/datalog/examples/empty.rkt b/collects/tests/datalog/examples/empty.rkt new file mode 100644 index 0000000000..892af15904 --- /dev/null +++ b/collects/tests/datalog/examples/empty.rkt @@ -0,0 +1 @@ +#lang datalog \ No newline at end of file diff --git a/collects/tests/datalog/examples/empty.txt b/collects/tests/datalog/examples/empty.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/collects/tests/datalog/paren-examples/empty.rkt b/collects/tests/datalog/paren-examples/empty.rkt new file mode 100644 index 0000000000..548c66d791 --- /dev/null +++ b/collects/tests/datalog/paren-examples/empty.rkt @@ -0,0 +1 @@ +#lang datalog/sexp \ No newline at end of file diff --git a/collects/tests/datalog/paren-examples/empty.txt b/collects/tests/datalog/paren-examples/empty.txt new file mode 100644 index 0000000000..e69de29bb2