Commit Graph
783 Commits
Author SHA1 Message Date
Anton Medvedev c86f2e2718 Update real_world example 2024-02-16 23:13:44 +01:00
Anton MedvedevandGitHub 0d43107999 Add concat() builtin (#565)
* Add concat() builtin

* Use pkg deref in builtin

* Use pkg deref in checker

* Use pkg deref in types_table.go

* Use pkg deref in docgen.go

* Use pkg deref in vm
2024-02-16 22:32:35 +01:00
Anton MedvedevandGitHub b1e82de54a Refactor groupBy and sortBy (#562)
* Rearrange opcodes

* Refactor groupBy

* Fix tests

* Super opcodes for GroupBy

* Refactor sortBy builtin

* Fix sortBy bench
2024-02-15 19:53:35 +01:00
Anton MedvedevandGitHub d1068977c7 Update SECURITY.md 2024-02-12 22:58:19 +01:00
Anton Medvedev 2171fef85d Fix ast printing of ?.[ 2024-02-12 22:15:17 +01:00
Anton Medvedev fdae534aa9 Add OpCallSafe 2024-02-12 22:15:17 +01:00
Anton Medvedev 8073b4bdb7 Add program.Locations() 2024-02-11 22:58:31 +01:00
Anton Medvedev 5e6f8ebb30 Move bitFunc to utils.go 2024-02-11 22:49:25 +01:00
Anton Medvedev db8de638f6 Code style 2024-02-11 22:48:38 +01:00
SergeyandGitHub 8037acf0bb Optimize boolean operations between all, any, one, none functions (#555) 2024-02-11 22:23:48 +01:00
Yuriy PanarinandGitHub 8ec7fe3be8 code(builtin) - add reverse function (#553)
* code(builtin) - add reverse function

* docs(language-definition.md) - add reverse function
2024-02-11 22:21:49 +01:00
Vladimir FetisovandGitHub c7c060ff44 Fix operator overloading (#554) 2024-02-08 21:07:58 +01:00
SergeyandGitHub 8d2e6b133c Add optional array access like foo?.[42] (#550) 2024-02-08 12:20:20 +01:00
SergeyandGitHub a20dd842e3 Optimize jump opcodes (#545) 2024-02-02 19:37:21 +01:00
SergeyandGitHub a0e2fe3664 Fix string literal slicing error (#543) 2024-01-31 18:07:26 +01:00
Anton Medvedev d645265cd1 Fix pipeline and call parsing 2024-01-24 23:49:57 +01:00
Anton Medvedev 616653130e Make AsAny the new default 2024-01-21 11:55:30 +01:00
Anton Medvedev c2a9f54569 Fix type checker to visit all arguments of func even in args count mismatch 2024-01-18 07:52:06 +01:00
Anton Medvedev 7d4dd1a708 Improve ast printing for boolean operators 2024-01-17 23:21:11 +01:00
Anton MedvedevandGitHub 84f18d7e5d Add ast tree to program (#528)
* Add pro holder

* explain
2024-01-17 20:01:34 +01:00
Ganesan KaruppasamyandGitHub 9b73bb722e Remove parents field for optimization (#527) 2024-01-16 12:47:46 +01:00
Anton Medvedev 2e71b2fb71 Fix type any type propagation with patcher relationship 2024-01-16 10:27:10 +01:00
Ganesan KaruppasamyandGitHub a1ddf76201 Support Valuer Patching for MemberNode (#525) 2024-01-16 09:40:36 +01:00
Anton MedvedevandGitHub 6c60616e35 Fix context patcher (#526) 2024-01-14 17:27:22 +01:00
Anton MedvedevandGitHub 010c934215 Fix race cond in variabels (#523)
* Add race cond test

* Move variables array to vm

* Resize vars array for different programs
2024-01-13 20:41:14 +01:00
Anton MedvedevandGitHub e7b1a64b58 Allow to override builtins (#522)
* Allow to override builtins

* Add :: syntax to access builtin in case of override
2024-01-13 15:56:49 +01:00
Anton MedvedevandGitHub 74e30b9ecd Add build tag: expr_debug (#521) 2024-01-13 13:14:38 +01:00
Anton Medvedev 9352898016 Simplify abs 2024-01-12 22:03:10 +01:00
Anton MedvedevandGitHub 79bb049707 Add [generated] tags to files (#518) 2024-01-12 21:58:13 +01:00
Anton Medvedev d83dbd684c Add info about nested predicates 2024-01-06 20:08:05 +01:00
Anton Medvedev 8fc496a31f Add heading ids 2024-01-05 22:36:41 +01:00
Anton MedvedevandGitHub d903980830 Add mem grow to builtin (#505)
* Add mem grow to builtin

* Add OpValidateArgs opcode
2023-12-30 12:49:43 +01:00
Anton Medvedev 35fc6ee22b Update examples.txt 2023-12-29 23:01:52 +01:00
Anton Medvedev 1dca2cbdc2 Move ast.Function to builtin.Function 2023-12-29 21:04:25 +01:00
Anton Medvedev 092c84aab1 Rename func.go to lib.go 2023-12-29 21:00:43 +01:00
Anton MedvedevandGitHub 30be4c9f08 Remove redundant fields from CallNode and BinaryNode (#504) 2023-12-29 19:50:08 +01:00
Anton MedvedevandGitHub c7e4ace44a Update README.md 2023-12-28 16:17:10 +01:00
Anton MedvedevandGitHub 8e2df3e45e Simplify ast nodes (#503)
* Move FiendIndex and MethodIndex out of ast nodes

* Remove println statement

* Add method compiler tests
2023-12-26 23:14:20 +01:00
Anton Medvedev 08c627946f Sort imports 2023-12-26 23:11:55 +01:00
Anton Medvedev bf37f8d7e2 Use errors.As 2023-12-26 23:11:40 +01:00
Anton Medvedev 1c71bad386 Add change ident patcher test 2023-12-26 16:24:00 +01:00
Anton Medvedev 5d8a11f2c5 Remove redundant func 2023-12-26 16:06:16 +01:00
Ryan BullockandGitHub 3bda06349a Patcher and interfaces for custom types to be used in expressions as standard go types (#487)
* A bultin patcher providing interfaces for custom types that can be represented as standard go types for expressions.

* Move node creation inside of loop.

* Reorder imports. Fix some formatting.

* Rename expr function from 'getExprValue' to '$patcher_value_getter'.

* Move to expr-lang

* Rename Patcher to ValueGetter

* Remove use of Expr in naming

* Rename interface functions to use 'AsType()' convention

* Document motivation and an example use case

* Add example usage to AsAny()

* Move under patcher directory

* Fix reference to old import path
2023-12-26 16:01:55 +01:00
Anton Medvedev 15a98164a2 Update README.md 2023-12-26 09:15:10 +01:00
Anton Medvedev 65d660e819 Update docs 2023-12-26 09:13:43 +01:00
Anton Medvedev d05d224605 Update bit* examples to use 0bxxxx integers 2023-12-26 09:09:19 +01:00
Anton Medvedev 579588df28 Rename language-definition.md 2023-12-25 18:56:06 +01:00
Anton Medvedev 71c5bb3fe3 Add bitwise 2023-12-25 18:55:37 +01:00
Anton Medvedev 1352f92f76 Update Language-Definition.md 2023-12-25 18:36:50 +01:00
a0db9a6c19 feat: Implement Bitwise and Shift Operator Support (#496)
Co-authored-by: Ganesan Karuppasamy <[email protected]>
2023-12-25 18:25:26 +01:00