1/* 2Package interp provides a complete Go interpreter. 3 4For the Go language itself, refer to the official Go specification 5https://golang.org/ref/spec. 6 7Importing packages 8 9Packages can be imported in source or binary form, using the standard 10Go import statement. In source form, packages are searched first in the 11vendor directory, the preferred way to store source dependencies. If not 12found in vendor, sources modules will be searched in GOPATH. Go modules 13are not supported yet by yaegi. 14 15Binary form packages are compiled and linked with the interpreter 16executable, and exposed to scripts with the Use method. The extract 17subcommand of yaegi can be used to generate package wrappers. 18 19Custom build tags 20 21Custom build tags allow to control which files in imported source 22packages are interpreted, in the same way as the "-tags" option of the 23"go build" command. Setting a custom build tag spans globally for all 24future imports of the session. 25 26A build tag is a line comment that begins 27 28 // yaegi:tags 29 30that lists the build constraints to be satisfied by the further 31imports of source packages. 32 33For example the following custom build tag 34 35 // yaegi:tags noasm 36 37Will ensure that an import of a package will exclude files containing 38 39 // +build !noasm 40 41And include files containing 42 43 // +build noasm 44*/ 45package interp 46 47// BUG(marc): Support for recursive types is incomplete. 48// BUG(marc): Support of types implementing multiple interfaces is incomplete. 49