Commit Graph

261 Commits

Author SHA1 Message Date
52fb398cd8 data-cursor.go: deep changes to better handle the data-source 2024-05-01 05:59:54 +02:00
cdbe3dfc22 commented tracing code 2024-05-01 05:57:08 +02:00
7aabd068ed func-math.go: add() now supports general iterators. TODO: do the same thing to mul() 2024-05-01 05:55:37 +02:00
924f5da725 Clone functions now filter ref variables to avoid to pass them to child context 2024-05-01 05:53:56 +02:00
d657cbb51e func-os.go: fixed the handling of err==io.EOF 2024-05-01 05:48:37 +02:00
be874503ec iterator.go: new error function errInvalidDataSource() 2024-05-01 05:46:24 +02:00
056d42d328 utils.go: Copy and Clone maps with filter function. Also added isIterator(). 2024-05-01 05:45:10 +02:00
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