13992b0526
Ignoring fields with struct tag expr:"-" and make "in" return false for unexported fields ( #806 )
...
* allow ignoring struct member using a - in expr struct tag
* fix in operator
* simplify logic
* add regression test for #807
* fixes #807 : make in operator return false for unexported struct fields
---------
Co-authored-by: Anton Medvedev <[email protected] >
2025-06-30 20:14:08 +02:00
Diego Augusto Molina and GitHub
fefc347053
Improve parser and lexer ( #811 )
...
* convert source to a struct and fix minor issue displaying error
* lexer: add byte and char pos
* improve parser to use string instead of []rune
* add lexer benchmarks
* make lexer work as an iterator
* make parser use the new iterator API in lexer
* allow reusing the parser
* cleanup code
* add parser benchmarks
2025-06-30 20:08:46 +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
483e066175
Add check for non struct types to fetchField ( #794 )
...
Co-authored-by: yigitkanbalci <[email protected] >
2025-05-27 12:13:35 +02:00
Vincent Bernat and GitHub
c76a6cf3e8
Do not repeat patcher definition in ExamplePatch() ( #792 )
...
I suppose at some point, godoc was not smart enough to display the
definitions used in the body of examples in the documentation. This is
not the case anymore: https://pkg.go.dev/github.com/expr-lang/expr#example-Patch
2025-05-26 10:03:53 +02:00
2pac and GitHub
9e10dcd6b4
fix(785): get to work when return is nil ( #786 )
...
* fix(785): `get` to work when return is `nil`
* improve testing
2025-05-12 18:32:48 +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
2pac and GitHub
0f20d93e5a
chore: Added SOLO to the companies list ( #769 )
...
Signed-off-by: 2pac <[email protected] >
2025-03-13 14:10:14 +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
18e2e03c5a
Allow tailing comma in arguments ( #623 )
...
* feat: extract code for compiling equal operator
* feat: support last argument append with comma
---------
Co-authored-by: Anton Medvedev <[email protected] >
2025-03-09 10:45:17 +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