Anton Medvedev
0bd991a6bf
Update README.md
2025-09-18 21:45:44 +02:00
Anton Medvedev
64df7b63f7
Add more tests
2025-09-18 21:39:22 +02:00
Anton Medvedev and GitHub
037ef3dc3d
Add expr.MaxNodes() option ( #799 )
...
* Add expr.MaxNodes() option
* Fix error message
* Add more tests and comments
2025-06-03 17:31:46 +02:00
Anton Medvedev
b4e9f7d15e
Revert "Run diff / bench in parallel"
...
This reverts commit 067d1c564e .
2025-05-27 12:39:33 +02:00
Anton Medvedev
917cce7ae3
Revert "Fix diff.yml"
...
This reverts commit ef2c185ffc .
2025-05-27 12:39:33 +02:00
Anton Medvedev
ef2c185ffc
Fix diff.yml
2025-05-27 12:34:11 +02:00
Anton Medvedev
067d1c564e
Run diff / bench in parallel
2025-05-27 12:22:06 +02:00
Anton Medvedev and GitHub
5f9f6bb4b6
Update test.yml
2025-03-28 15:50:33 +01:00
Anton Medvedev and GitHub
9b2c9a7754
Remove gotestfmt
2025-03-28 15:49:42 +01:00
Anton Medvedev and GitHub
4122462d3a
Update test.yml
2025-03-28 15:48:24 +01:00
Anton Medvedev and GitHub
514b7ec2d0
Update gotestfmt
2025-03-28 15:45:20 +01:00
Anton Medvedev and GitHub
99633081b5
Add gotestfmt
2025-03-28 15:43:54 +01:00
Anton Medvedev and GitHub
452d355706
Make expr.Eval faster ( #775 )
...
* Make expr.Eval faster
* Add bench_call_test.go
* Make parser config optional
2025-03-24 14:48:41 +01:00
Anton Medvedev
85fa77e98b
Refactor examples tests
2025-03-24 12:01:07 +01:00
Anton Medvedev
564822e8f3
Add examples testing
2025-03-21 18:09:09 +01:00
Anton Medvedev
61219e089c
Update examples.txt
2025-03-19 15:29:59 +01:00
Anton Medvedev
69512cb435
gen: fix
2025-03-19 12:32:26 +01:00
Anton Medvedev
d179a6e5c5
gen: fix predicate generator
2025-03-19 12:32:03 +01:00
Anton Medvedev
3289edf207
gen: less string vars
2025-03-18 23:57:51 +01:00
Anton Medvedev
d79a97301c
gen: add $env
2025-03-18 23:54:38 +01:00
Anton Medvedev
22d50fd301
gen: add vars
2025-03-18 23:45:05 +01:00
Anton Medvedev
6a0a8f1ba5
gen: simplify search
2025-03-18 23:38:28 +01:00
Anton Medvedev
1e7796412f
gen: use all cpus
2025-03-18 23:20:00 +01:00
Anton Medvedev
ab2c230eaf
Refactor random code get
2025-03-18 23:08:02 +01:00
Anton Medvedev and GitHub
d5f9c1bf84
Fix parsing of variable declaration nodes combined with sequence node ( #773 )
...
Fixes #772
2025-03-18 10:49:13 +01:00
Anton Medvedev
99e8ef04a5
Update docs
2025-03-17 14:28:04 +01:00
Anton Medvedev and GitHub
3c678df33f
Update SECURITY.md
2025-03-17 10:10:42 +01:00
Anton Medvedev
6335202087
Update language-definition.md
2025-03-16 10:35:06 +01:00
Anton Medvedev
e0c6fdc9b9
Code style: remove repeated helper functions
2025-03-15 16:41:40 +01:00
Anton Medvedev
8aaa33b16e
Test for issue 756
...
Fixes #756
2025-03-10 15:00:21 +01:00
Anton Medvedev
31f0ab00dc
Remove duplicated dereferences
2025-03-10 13:52:54 +01:00
Anton Medvedev
6022ffd21d
Add support deref in all builtins
2025-03-10 13:38:02 +01:00
Anton Medvedev
cd0943453d
Remove print
2025-03-09 23:39:16 +01:00
Anton Medvedev
82ec7571df
Correctly add OpDeref if needed
...
Fixes #739
2025-03-09 13:07:38 +01:00
Anton Medvedev
ddbaa171c4
Add more tailing comma tests
2025-03-09 10:48:37 +01:00
Anton Medvedev
80eb95bf5f
Make sure get() returns nil for map[string]string on missing keys
...
Fixes #723
2025-03-08 17:28:39 +01:00
Anton Medvedev
41da963d55
Remove pointer accessor check in parser
2025-03-08 17:11:49 +01:00
Anton Medvedev
3fc6c1f535
Make all builtins working with deref
...
Fixes #730
2025-03-08 17:01:31 +01:00
Anton Medvedev
6c8437454d
Update fuzz tests
2025-03-08 16:19:30 +01:00
Anton Medvedev
7e417b043e
Add -update flag to gen tests
2025-03-08 15:40:47 +01:00
Anton Medvedev
8cab964afb
Improve type checker for named types
2025-03-08 15:33:37 +01:00
Anton Medvedev
3d52b8e334
Fix func calls with nil types value
...
Fixes #688
2025-03-08 13:54:55 +01:00
Anton Medvedev
641966584f
Make TestVM_ProfileOperations more robust
2025-03-08 13:49:10 +01:00
Anton Medvedev
5aada75b87
Add SequenceNode to compiler
2025-03-08 12:46:59 +01:00
Anton Medvedev
3a6c36ef12
Add SequenceNode to type checker
2025-03-08 12:36:18 +01:00
Anton Medvedev
ebd5b4e426
Add print test for if
2025-03-08 12:31:51 +01:00
Anton Medvedev
26eebbe70c
Better error message for predicate with sequence
2025-03-08 12:14:13 +01:00
Anton Medvedev
97e061adca
Only allow if on precedence == 0
2025-03-08 12:02:09 +01:00
Anton Medvedev
2cff08a4a5
Refactor TestParse_error tests
2025-03-08 09:49:28 +01:00
Anton Medvedev
c146c2fc9b
Add SequenceNode
...
Fixes #717
2025-03-08 09:27:09 +01:00
Anton Medvedev
02dc5c04fc
Properly check if interface is any
...
Fixes #744
2025-03-07 22:56:41 +01:00
Anton Medvedev
dea75b14d8
Add more tests for filter_map optimization
2025-03-07 21:52:14 +01:00
Anton Medvedev
1e518fddcb
Add ast.Find
2025-03-07 20:40:02 +01:00
Anton Medvedev
127f965eeb
Do not optimize filter_map if #index used
...
Fixes #758
2025-03-07 20:39:53 +01:00
Anton Medvedev
454f913c95
Make len() return runes count for string
...
Fixes #746
2025-03-07 16:58:35 +01:00
Anton Medvedev
e30c388fdf
Add +build comments
2025-03-07 16:44:11 +01:00
Anton Medvedev
e2f8470bd7
Add coverage.mjs comments
2025-03-07 16:24:24 +01:00
Anton Medvedev
13e0e4ac34
Exclude pro from go coverage.mjs
2025-03-07 15:56:31 +01:00
Anton Medvedev
b42839dddb
Remove additional run API (RunWithConfig) from VM
...
This API was introduced in previous PR, but we do not want to expose it.
2025-03-07 15:06:45 +01:00
Anton Medvedev and GitHub
99fbd75b7f
Update .gitattributes
...
Signed-off-by: Anton Medvedev <[email protected] >
2025-03-01 20:10:40 +01:00
Anton Medvedev and GitHub
ee89ab1a10
Update .gitattributes
...
Signed-off-by: Anton Medvedev <[email protected] >
2025-03-01 20:05:51 +01:00
Anton Medvedev and GitHub
5a5235df33
Update .gitattributes ( #759 )
...
Signed-off-by: Anton Medvedev <[email protected] >
2025-03-01 20:05:02 +01:00
Anton Medvedev and GitHub
71dbecdc04
Update .gitattributes
...
Signed-off-by: Anton Medvedev <[email protected] >
2025-03-01 20:03:45 +01:00
Anton Medvedev and GitHub
31c8d9d758
Update .gitattributes
...
Signed-off-by: Anton Medvedev <[email protected] >
2025-03-01 20:03:27 +01:00
Anton Medvedev and GitHub
b981138181
Create .gitattributes
...
Signed-off-by: Anton Medvedev <[email protected] >
2025-03-01 20:00:54 +01:00
Anton Medvedev
49cbda7b8f
Add default map value type
2024-08-28 23:00:18 +02:00
Anton Medvedev
a8aece8708
Drop types.StrictMap and add types.Extra to define additional keys
2024-08-28 22:47:47 +02:00
Anton Medvedev
0217bda141
Add any type
2024-06-14 09:32:52 +02:00
Anton Medvedev
b24b1448ed
Add types.Equal
2024-06-14 09:23:26 +02:00
Anton Medvedev
d2777e110d
Add types.Array()
2024-06-05 15:48:40 +02:00
Anton Medvedev and GitHub
d0aa2e9136
Improve types pkg ( #668 )
2024-06-05 01:14:25 +02:00
Anton Medvedev and GitHub
c953d0dde1
Refactor types table ( #667 )
2024-06-04 00:08:01 +02:00
Anton Medvedev
de9d6dcf8a
Remove Node.Kind() method
2024-06-01 14:57:15 +02:00
Anton Medvedev and GitHub
fee5690347
Refactor checker to use Nature ( #665 )
...
This PR introduces a new concept inside Expr's type checker - Nature.
It's an abstraction other reflect.Type which carries additional information about possible type, methods and builtin function.
I was able to find and fix a few bugs in type checker and optimizer. Implementation of nature concept has proven itself. As well nature will allow to bring more feature for type checker in future.
Why Nature? I was looking for a name to replace Type. Type name already carries much information, as well can be confused with reflect.Type. Nature name should be understood as "nature of the node", same as "type of the node".
2024-06-01 00:09:22 +02:00
Anton Medvedev
1960bc8e9d
Improve compilation for detached tree parts
2024-05-30 21:45:13 +02:00
Anton Medvedev
cd8bf976e1
Fix check.yml
2024-05-27 12:28:18 +02:00
Anton Medvedev
9ea9a6e184
Fix coverage reporting
2024-05-27 12:25:09 +02:00
Anton Medvedev and GitHub
0308dbbbb4
Fix function calls with int64 params ( #663 )
...
Fixes #661
2024-05-27 12:05:19 +02:00
Anton Medvedev
c8b0171f3a
Return tree on parse errors
2024-05-18 23:41:49 +02:00
Anton Medvedev
0d07afb7ae
Add checker.ParseCheck func
2024-05-18 23:13:58 +02:00
Anton Medvedev
0a33193f26
Fix build for 386 and add build.yml workflow
2024-05-17 21:40:50 +02:00
Anton Medvedev and GitHub
19b2c3848f
Add checks for nil before string casts in VM ( #654 )
2024-05-17 19:40:20 +02:00
Anton Medvedev and GitHub
696844a709
Refactor lexer ( #653 )
2024-05-17 18:10:26 +02:00
Anton Medvedev
71e349971e
Add better error messages for index out of bounds errors
2024-05-12 11:55:15 +02:00
Anton Medvedev
cea9c8ae86
Add int overflow checks
2024-05-09 17:22:41 +02:00
Anton Medvedev
7af1ec6a15
Improve now() and date() validation
2024-05-08 22:27:02 +02:00
Anton Medvedev
1ae9d68e8f
Update docs
2024-05-08 22:20:37 +02:00
Anton Medvedev
77e80fe655
Remove implicit date's timezone set on parse
2024-05-08 10:04:54 +02:00
Anton Medvedev
c2418bddaf
Add go 1.22 to tests
2024-05-08 00:25:10 +02:00
Anton Medvedev and GitHub
68e3148c1f
Vendor testify ( #642 )
2024-05-08 00:24:35 +02:00
Anton Medvedev
c6cd675d6b
Add default timezone option expr.Timezone()
2024-05-07 23:19:39 +02:00
Anton Medvedev
1659126046
Add timezone() builtin
2024-05-07 21:36:22 +02:00
Anton Medvedev
3ceff1cdb3
Fix printing on conditional/binary nodes
...
Fixes #613
2024-04-16 23:23:12 +02:00
Anton Medvedev
c8f7d22462
Return proper nil from optional chain
...
Fixes #570
2024-04-16 23:11:01 +02:00
Anton Medvedev
199f26c7e3
Update sortBy docs
2024-04-14 08:56:31 +02:00
Anton Medvedev
ba3bae5017
Add more optimizer tests
2024-04-13 23:50:53 +02:00
Anton Medvedev
c5dfe3a811
Make count() predicate optional
2024-04-13 23:38:35 +02:00
Anton Medvedev
d8d1d9ebf4
Code style
2024-04-13 23:18:59 +02:00
Anton Medvedev
8589d34039
Add sum([]) optimization
2024-04-13 23:16:08 +02:00
Anton Medvedev
27b20607f1
Add sum(map()) optimization
2024-04-13 22:50:11 +02:00