Commit Graph

26 Commits

Author SHA1 Message Date
Marc Vertes
151699ef9f feature: test subcommand to run test and benchmark functions
This change allows the interpreter to execute tests and benchmarks
functions provided by packages.

The test subcommand is similar to the "go test" command and
all the relevant flags have been kept.

The ability to evaluate a directory or a package has also been added.

A new method Symbol to access exported symbol values of an interpreted
package has been added. This method is used by the test subcommand.

An EvalTest method has been added to evaluate all Go files, including "*_test.go".

The testing packages from the standard library have been added to stdlib used
symbols.
2020-09-14 11:14:04 +02:00
Ludovic Fernandez
a6c24a0d13 chore: update linter. (#706)
* chore: update linter.

* chore: remove not needed travis env var.
2020-06-22 12:55:42 +02:00
mpl
5d56bac8d0 interp: extend dot debugging 2020-05-26 22:38:03 +02:00
Marc Vertes
9a8a88dcb9 fix: use branch operation in || and && operators, fix storage for ! (#476) 2020-01-07 17:27:22 +01:00
Marc Vertes
cc8e05d61b chore: cleanup API, unexport internal constants, types and variables. (#229) 2019-06-24 16:24:47 +02:00
Marc Vertes
098829d316 style: fix warnings from golangci-lint printed by make check (#11)
* style: fix warnings from golangci-lint printed by `make check`
* style: err assign in if block when possible. Better use of switch/case
* style: err assign in if block when possible
2019-01-16 18:59:24 +01:00
Marc Vertes
20ce2a13dc Improve handling of source file names 2018-11-01 10:05:12 +01:00
Marc Vertes
4bb9d61c3f Fix type access from source packages 2018-07-03 14:45:53 +02:00
Marc Vertes
19fb8d578d cfg: fix range exit 2018-06-23 14:12:55 +02:00
Marc Vertes
912a37be7b Add support to import source packages 2018-06-07 12:03:18 +02:00
Marc Vertes
7fe7872a4c use 'dot -Txlib' instead of 'dotty' to display graphs 2018-05-31 16:19:05 +02:00
Marc Vertes
755f53ceae Fix handling methods on runtime struct fields 2018-05-29 22:28:18 +02:00
Marc Vertes
62da45a792 Appease vet and lint gods 2018-05-18 16:43:44 +02:00
Marc Vertes
750f6e30e7 cfg: many improvements in struct management 2018-03-05 17:17:53 +01:00
Marc Vertes
33d19bf2a5 Implement access to struct fields, (1 level only for now) 2018-02-27 17:23:47 +01:00
Marc Vertes
31bdcefff5 Add struct and composite types, in progress 2018-02-26 09:21:58 +01:00
Marc Vertes
a2f37ea5bc add support for composite types, in progress 2018-02-22 17:02:02 +01:00
Marc Vertes
bb63091920 fix basic types, fix _return 2018-02-21 23:04:04 +01:00
Marc Vertes
9b92ceb79f Add logical AND and OR statements 2018-02-20 19:15:50 +01:00
Marc Vertes
20753f94e3 Refactor cfg creation, in progress 2018-02-16 23:19:18 +01:00
Marc Vertes
a541413a61 Change AST representation of for/range, fixing break bug 2018-02-16 13:39:49 +01:00
Marc Vertes
02274e23e8 Improve CFG, add support to break/continue 2018-02-15 19:40:06 +01:00
Marc Vertes
b5ab905e2d Make gi a a real interpreter
Handle #! in first line to allow gi executable scripts.
Load program source from files.
Display AST and CFG graphs on command line flags.
2018-02-08 17:23:23 +01:00
Marc Vertes
24e3acd16a Revert non-recursive tree walk. Make CFG re-entrant. 2018-02-05 13:40:23 +01:00
Marc Vertes
2f1e444aab Add frames (in progress) 2018-02-02 09:21:06 +01:00
Marc Vertes
75f96aeac7 Apply better names for function and files. Add images for doc 2018-02-01 15:20:37 +01:00