Commit Graph

154 Commits

Author SHA1 Message Date
aa66d07caa Iterators now support generic operation interface based on methods HasOperation() and CallOperation().
Also fixed mul() function that called doAdd() instead of doMul().
2024-04-28 06:45:39 +02:00
fc0e1ffaee New function isFunctor() 2024-04-28 06:43:57 +02:00
bf8f1a175f modules are now represented by a struct that holds import-function, module description and importa status.
It is also available the new function IterateModules() to explore all modules.
2024-04-28 05:41:13 +02:00
6dd8283308 function-register.go module-register.go 2024-04-28 04:52:02 +02:00
06ab303b9e accessing to the Reset() and Clean()functions of an iterator is now done by identifiers, i.e. reset, not by string, i.e. "reset". 2024-04-28 04:44:19 +02:00
2ccbdb2254 Fixed Clean() and added error message when calling optional missing functions 2024-04-28 04:41:43 +02:00
c5fca70cfc operator-length.go: Fix: the returned value was int, instead of int64 2024-04-27 22:37:56 +02:00
895778f236 operator-dot.go: '*dataCursor' case added; to be enhanced 2024-04-27 22:34:23 +02:00
81c85afbea operand-iterator.go: accepts two new optional functions 'reset' and 'clean' from data-source 2024-04-27 22:32:57 +02:00
354cb79580 data-cursor.go: added Reset() e Clean() functions 2024-04-27 22:31:14 +02:00
327bffa01f symbol.go: typo 2024-04-27 22:30:18 +02:00
c99be491df operator-dot.go: refactoring 2024-04-27 14:44:52 +02:00
60effe8f1b new prefix operator 'include' 2024-04-27 09:48:45 +02:00
824b9382be termo.go: changed the name of a variable 2024-04-27 09:48:05 +02:00
9ce6b7255b corrected a comment 2024-04-27 09:47:24 +02:00
9dbf472630 helpers.go: two new functions: EvalStream() and EvalFile() 2024-04-27 09:46:03 +02:00
723976b37e merged with datasource-context 2024-04-27 06:19:12 +02:00
361b84f31f moved the exportVar() and exportFunc() functions from data-cursor.go to context-helpers.go 2024-04-27 06:16:11 +02:00
70892aa980 removed commented code 2024-04-27 06:14:09 +02:00
10eec286fa new operator '111123' that returns the content of the current context or the context of an iterator 2024-04-27 06:12:30 +02:00
894b1884eb temporary 2024-04-26 21:03:22 +02:00
d2bab5fd9e context clone & export function moved from operand-func.go to context-helpers.go 2024-04-26 21:03:00 +02:00
f94f369547 context clone & export function moved from operand-func.go to context-helpers.go 2024-04-26 20:12:56 +02:00
107ec4958f operator-length.go: the prefix operator '#' now accept iterator oeprand; it returns the index of the current item 2024-04-26 08:04:55 +02:00
a22047e84e operand-func.go: removed commented code 2024-04-26 08:02:52 +02:00
80b7d5b988 operand-dict.go: removed commented code 2024-04-26 08:02:22 +02:00
2ab896bbac the dataCursor struct has been moved fro operand-iterator.go to the new file data-cursor.go 2024-04-26 08:01:35 +02:00
62e16219f7 func-math.go/add: now supports the general iterator interface 2024-04-26 04:47:59 +02:00
750c660331 first working implementation of iterators and some fixes to the parser around lists analysis 2024-04-26 04:45:42 +02:00
7a88449cd1 updated some error messages; add some tests on the dict data-type; Use of reflect.DeepEqual() to compare the test results with the desired results. 2024-04-26 04:43:36 +02:00
b14dc2f1ee provisional implementation of the postfix ++ operator 2024-04-26 04:37:50 +02:00
d354102c6a adapted to the new GetFuncInfo() specification 2024-04-26 04:36:03 +02:00
761ec868e6 operator-assign.go: little refactor 2024-04-26 04:31:31 +02:00
7941c2dfec the FlatArrayIterator has been moved to the new file iter-list.go 2024-04-26 04:30:43 +02:00
ebb2811ed3 context.go: added exists return value to the GetFuncInfo() 2024-04-26 04:28:50 +02:00
75c0c0f681 Fix ast.go: the insert() didn't check the returned error 2024-04-26 04:26:20 +02:00
268a968548 term.go: added two new priorities (priIterValue and priPrePost); new function term.symbol()) 2024-04-26 04:23:39 +02:00
323308d86f expressions now support dict data-type 2024-04-21 14:24:56 +02:00
b28d6a8f02 commented out a test for a future new operator based on the caret symbol 2024-04-21 07:12:59 +02:00
ab82bcf1ef preparation for the definition of the iterators 2024-04-21 07:11:58 +02:00
a628bfac39 New symbol '^' (caret). The scanner now returns an error token if can't recognise a symbol. 2024-04-21 07:10:19 +02:00
d1122da566 coalesce operators '??' and '?=' now accepts function definitions too 2024-04-20 09:40:07 +02:00
6ae5ca34ed expr_test.go, more tests on the int() function 2024-04-20 08:50:05 +02:00
730b59e6d3 funcs_test.go, more tests on the int() function 2024-04-20 07:41:58 +02:00
f198ba47e1 new convert function int() 2024-04-20 07:29:42 +02:00
943ef3327e empty expressions no more return error, now they return nil 2024-04-20 06:56:26 +02:00
475ef3c80a parser_test.go: test added on isNil() function 2024-04-20 06:54:51 +02:00
3c0307524b simple-func-store.go: now imports 'builtins' module on creation 2024-04-20 06:53:30 +02:00
c27e487fc3 new function isNil() 2024-04-20 06:52:33 +02:00
ed973c9b7b fixed all errors in test files 2024-04-20 06:04:35 +02:00