Anton Medvedev and GitHub
205e24128e
Add better error message for OpFetchField on missing field ( #276 )
2022-11-05 22:00:11 +01:00
Anton Medvedev
bfeb63ba2b
Remove redundant check
2022-11-05 19:43:00 +01:00
Anton Medvedev and GitHub
75f3a61dad
Refactor helpers ( #275 )
2022-11-05 16:33:13 +01:00
Furkan Türkal and GitHub
b03f09d04c
Fix DivideOp: change resulting type to float64 ( #272 )
2022-11-05 13:47:13 +01:00
Anton Medvedev and GitHub
1c69d7a8ef
Add OpCallTyped ( #269 )
2022-11-05 13:44:15 +01:00
Anton Medvedev
c4dc3a9948
Fix code style
2022-11-03 22:14:28 +01:00
Anton Medvedev and GitHub
e0b6b22aeb
Save AST in compiled program ( #268 )
2022-11-03 07:53:17 +01:00
Anton Medvedev
d528b18448
Add debug module
2022-10-29 11:05:43 +02:00
Anton Medvedev and GitHub
4cee95857e
Remove CanInterface() checks ( #264 )
2022-10-28 21:37:05 +02:00
Anton Medvedev
b8346f98f1
Optimize method calls and builtins opcodes
2022-10-27 21:23:04 +02:00
Anton Medvedev
fa60189e66
Cleanup
2022-10-26 18:48:27 +02:00
Anton Medvedev
0362840f27
Fix compile tests
2022-10-25 23:47:11 +02:00
Anton Medvedev
aa5c5f09e1
Split arguments
2022-10-25 23:13:20 +02:00
Anton Medvedev
fb3a5e74a0
Cleanup compiler
2022-10-25 01:43:47 +02:00
Anton Medvedev
cfc9843ccb
Simplify vm and opcodes
2022-10-24 23:26:22 +02:00
Anton Medvedev
0b523f347e
Sort imports
2022-10-22 13:39:04 +02:00
Anton Medvedev
b77102221c
Add tests
2022-10-21 21:48:18 +02:00
Anton Medvedev
dd65a0fc2d
Add compiler member fetch optimizations
2022-10-20 22:54:36 +02:00
Anton Medvedev
63cd7e5aa9
Better debugger
2022-10-20 21:37:07 +02:00
Anton Medvedev
b00bc22be3
Remove litter dep
2022-10-20 21:24:01 +02:00
Anton Medvedev
4104ff8967
Add runtime.Field
2022-10-19 23:37:56 +02:00
Anton Medvedev
26975ea2f3
Cast to int and float64 by default
2022-10-19 22:50:34 +02:00
Anton Medvedev
33e3de371b
Remove vm.Fetcher and exprgen pkg
2022-10-19 21:23:34 +02:00
Anton Medvedev
2a34731b5a
Add FieldByIndex optimization
2022-10-19 00:55:01 +02:00
Anton Medvedev
a28d1d704e
Refactor getting field name
2022-10-18 22:53:52 +02:00
Anton Medvedev
2bf336bdb3
Remove FieldByNameFunc call
2022-10-18 21:48:22 +02:00
Anton Medvedev
7bcddc66f8
Remove unnecessary ptr checks
2022-10-18 00:26:17 +02:00
Anton Medvedev
7f1d698d91
Rename reflect.Pointer to reflect.Ptr
2022-10-18 00:10:34 +02:00
Anton Medvedev
b0705d7de2
Add OpDeref opcode
2022-10-18 00:08:53 +02:00
Anton Medvedev
7c2a8a87ff
Refactor generate
2022-10-17 22:36:34 +02:00
Anton Medvedev
370551eb7e
Remove obsolete opcode
2022-10-16 22:20:55 +02:00
Anton Medvedev
2375f38ccc
Improve OpCallFast performance
2022-10-16 20:21:34 +02:00
Anton Medvedev
22784d8183
More tests
2022-10-15 22:52:40 +02:00
Anton Medvedev
ab621bec0e
Optional chaining
2022-10-15 15:59:39 +02:00
Anton Medvedev
514a6dcfa7
Fix OpCall
2022-10-13 10:39:56 +02:00
Anton Medvedev
2a88e4a52a
Refactor type checker
2022-10-13 10:01:35 +02:00
Anton Medvedev
da68511d23
Add vm/runtime package
2022-10-12 15:22:14 +02:00
Anton Medvedev
6a7630dba1
Remove ast nodes
2022-10-10 20:26:59 +02:00
Anton Medvedev
b24419bf76
Remove wrong nil safe implementation
2022-10-09 12:53:30 +02:00
Anton Medvedev
56127510a5
Refactor tests and start refactoring nil safe operator
2022-10-09 12:28:51 +02:00
Anton Medvedev
fc99cf3735
Improve vm coverage
2022-10-07 00:16:19 +02:00
Anton Medvedev
f6701d6962
Fix helpers.go generator
2022-10-06 23:24:37 +02:00
Erik Geiser and GitHub
76ccb0a468
Allow renaming struct fields using struct tags ( #251 )
2022-10-06 11:12:49 +02:00
Tommy Messbauer and GitHub
d48f1e4ac9
Adds support for common operators for time.Time ( #256 )
...
* adds support for common operators for time.Time
* adds eval tests for time operators. updates checker to allow time.Time and time.Duration to be passed to the operator fns.
* allows duration to be the first arg in time addition. updates the checker return types as they were incorrect.
* add ability to compare time to any interface
* adds checker test for time + interface combinations
2022-10-03 20:40:53 +02:00
uunnii and GitHub
9500f6f9ba
fix: reset vm.memory to reuse vm ( #253 )
2022-08-10 17:22:01 +02:00
Andrey Vydrin and GitHub
a0503b7835
feat: codegen for expr envs ( #193 )
2021-08-04 09:43:29 +02:00
Eugene and GitHub
9b0044f612
Add ability to return errors from custom functions. ( #159 )
...
Also provide initial documentation on using and providing functions.
2021-08-01 17:31:47 +02:00
Zach Badgett and GitHub
3eb822d35a
Add nil safe operator ( #173 )
2021-06-07 22:53:12 +03:00
subham sarkar and GitHub
3d93d59b1c
Fix double dot range for invalid input ( #164 )
...
* Fix double dot range for invalid input.
* Fix a corner case and add test case.
2021-03-01 13:19:14 +03:00
Anton Medvedev
6ed6d6b850
Add support for maps in len builtin
2020-05-15 19:10:01 +03:00