summaryrefslogtreecommitdiff
path: root/interpreter/interpreter_test.go
diff options
context:
space:
mode:
authorMarc Vertes <mvertes@free.fr>2025-11-27 14:50:07 +0100
committerMarc Vertes <mvertes@free.fr>2025-11-27 14:50:07 +0100
commit22b020225ae77ca1cf9f9984817df9b7fd1aaa12 (patch)
treefdbb8d0ccae08b248c1e1d787ba66d624ab6a34c /interpreter/interpreter_test.go
parent8e32cc1a5617f84d0bd7bf1fd898251675d5a653 (diff)
fix: improve parser, compiler and interpreter APIs
Pass a language spec as an argument when create a new parser, compiler or interpreter. Also move the REPL code in interpreter package.
Diffstat (limited to 'interpreter/interpreter_test.go')
-rw-r--r--interpreter/interpreter_test.go7
1 files changed, 2 insertions, 5 deletions
diff --git a/interpreter/interpreter_test.go b/interpreter/interpreter_test.go
index 800ace5..71c7dd1 100644
--- a/interpreter/interpreter_test.go
+++ b/interpreter/interpreter_test.go
@@ -7,7 +7,6 @@ import (
"github.com/mvertes/parscan/interpreter"
"github.com/mvertes/parscan/lang/golang"
- "github.com/mvertes/parscan/scanner"
)
type etest struct {
@@ -15,19 +14,17 @@ type etest struct {
skip bool
}
-var GoScanner *scanner.Scanner
-
func init() {
log.SetFlags(log.Lshortfile)
- GoScanner = scanner.NewScanner(golang.GoSpec)
}
func gen(test etest) func(*testing.T) {
return func(t *testing.T) {
+ t.Parallel()
if test.skip {
t.Skip()
}
- interp := interpreter.NewInterpreter(GoScanner)
+ interp := interpreter.NewInterpreter(golang.GoSpec)
errStr := ""
r, e := interp.Eval(test.src)
t.Log(r, e)