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