Commit Graph
50 Commits
Author SHA1 Message Date
Anton MedvedevandGitHub 68e3148c1f Vendor testify (#642) 2024-05-08 00:24:35 +02:00
Anton Medvedev ba3bae5017 Add more optimizer tests 2024-04-13 23:50:53 +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
SergeyandGitHub 2835692a5f Optimize boolean operations between all, any, none functions (#626) 2024-04-12 18:49:41 +02:00
Anton MedvedevandGitHub 3205e4186b Revert "Optimize boolean operations between all, any, one, none functions (#555)" (#625)
This reverts commit 8037acf0bb.
2024-04-10 10:58:17 +02:00
SergeyandGitHub 8037acf0bb Optimize boolean operations between all, any, one, none functions (#555) 2024-02-11 22:23:48 +01:00
Anton Medvedev 811a16b4fa Remove const range optimization 2023-12-22 22:49:31 +01:00
Anton Medvedev 551d2a7e0f Use expr-lang/expr 2023-12-03 21:53:01 +01:00
Anton Medvedev 32f5fde2eb Replace interface{} with any 2023-08-30 11:25:15 +02:00
Anton Medvedev e37105ef90 Fix float folding optimization 2023-08-28 22:24:46 +02:00
Anton Medvedev 16403049ac Apply in range optimization only for int type on lhs 2023-08-28 17:36:33 +02:00
Anton Medvedev 46929e4646 Add map(filter()) optimization 2023-08-24 11:15:43 +02:00
Anton Medvedev 166d8b8ce9 Add filter()[-1] optimization 2023-08-24 11:15:43 +02:00
Anton Medvedev 8c52bd6d8b Add filter()[0] optimization 2023-08-24 11:15:43 +02:00
Anton Medvedev 22b3d6bf74 Add len(filter()) optimization 2023-08-24 11:15:43 +02:00
Anton Medvedev 719f30d3ad Add builtin functions 2023-08-14 15:37:06 +02:00
Andrew BentonandAnton Medvedev ab25d4658b Adds simple bool condition optimization
This change introduces simple boolean condition optimization when
dealing with boolean `and`, `or`, and `==` expressions to help trim
unnecessary AST nodes.
2023-02-01 20:44:32 +01:00
Anton Medvedev 00d167a791 Move code duplicate to conf package 2022-11-10 21:21:38 +01:00
Anton Medvedev c64d7ad215 Add optimize float folds test 2022-11-08 21:01:50 +01:00
Anton Medvedev a3281d9f3a Fix constant folding for floats and ints 2022-11-08 20:58:23 +01:00
Anton Medvedev 54c29bfda2 Simplify "not in" operators 2022-11-06 13:04:35 +01:00
Anton Medvedev 6e7a89b65c Optimizer should return []interface{} as well. 2022-11-05 20:33:41 +01:00
Anton Medvedev 371e24c30d Add ^ as exponent operator 2022-11-05 20:21:48 +01:00
Anton Medvedev 97b2a9e16d Simplify ast.Visitor interface 2022-11-02 22:27:34 +01:00
Anton Medvedev fe5383a8d5 Add fold filter optimizations 2022-10-27 21:43:47 +02:00
Anton Medvedev 514a6dcfa7 Fix OpCall 2022-10-13 10:39:56 +02:00
Anton Medvedev 6a7630dba1 Remove ast nodes 2022-10-10 20:26:59 +02:00
Brenan KelleyandGitHub 7bb3ef506e fix ConstExpr to handle custom functions returned error (#239) 2022-05-24 21:38:59 +02:00
subham sarkarandGitHub 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 31ed24b493 Fix compiler fold optimization of "integer divide by zero" 2020-09-09 22:07:26 +02:00
Anton Medvedev 20bb4fdf1a use patch func 2020-05-10 13:51:54 +03:00
Ernest MickleiandAnton Medvedev 28881a233c fix folding of constant ints 2020-05-10 13:51:54 +03:00
Anton Medvedev 5e0ef67844 Use ast.Patch func 2020-03-16 16:29:25 +03:00
Anton Medvedev e5049dfda3 Make conf top-level package 2020-03-16 16:29:25 +03:00
Anton MedvedevandGitHub acba548cab Add ConstExpr 2020-03-10 08:36:12 +03:00
Anton Medvedev 7f64f785ad Fix lexer to emit correct location with range operator 2020-03-02 14:56:50 +03:00
Anton MedvedevandGitHub 2836d109c5 Add memory budget 2020-03-02 13:43:39 +03:00
Anton Medvedev 0809f2c91b Refactor to use new parser 2020-02-25 09:33:17 +03:00
Anton Medvedev e2f2207d81 goimports 2019-07-02 14:34:48 +03:00
Anton Medvedev 3a506d7a3c Fix optimizer for in []int 2019-06-27 12:06:15 +03:00
Anton Medvedev 4c32accdba Fix optimizer for in array 2019-06-26 15:12:36 +03:00
Anton Medvedev 37a0db14ff Make optimized program unmarshalable 2019-06-26 11:21:45 +03:00
Anton Medvedev 83979d9691 Add in array optimization 2019-06-26 10:35:59 +03:00
Anton Medvedev 82236d001f Improve constant folding algorithm 2019-06-26 10:17:39 +03:00
Anton Medvedev c9cc2b9ca4 Copy type and location on patch 2019-06-25 18:25:24 +03:00
Anton Medvedev 02ca6fbf39 Add more optimizations 2019-06-25 16:25:14 +03:00
Anton Medvedev f718200b06 Add var in a..b optimization 2019-06-25 16:03:27 +03:00
Anton Medvedev 4547b362d9 Add constant folding optimization 2019-06-25 15:42:57 +03:00