5ecf81412e
Doc: pre & post incremente/decrement
camoroso2025-01-05 12:53:50 +01:00
ff4db34f7b
t_operator_test.go: test on -- and ++ prefix operators
camoroso2025-01-05 12:49:36 +01:00
0f848071c2
New prefix operators ++ and --
camoroso2025-01-04 18:12:38 +01:00
6b3351b324
new prefix operator "!" as logic NOT
camoroso2025-01-04 17:47:59 +01:00
760c1ee6da
New bitwise XOR operator specified by symbol ^ (caret). Iterator dereference is now done by prefixed * (star)
v0.32.0
camoroso2025-01-03 07:31:45 +01:00
5ab6876ea1
term.go: new priority priDereference
camoroso2025-01-03 07:28:30 +01:00
6268abda8c
token.go: new member function Token.SetSymbol()
camoroso2025-01-03 07:27:49 +01:00
d25bd325b7
symbol-map.go: improved detection of incomplete operations
camoroso2025-01-03 06:32:55 +01:00
01c04feea5
Doc: bitwise operators in the main operator table and special assignment operators table
camoroso2025-01-03 05:43:50 +01:00
6fc689c46c
Added a test to the context type
camoroso2025-01-03 05:40:24 +01:00
eccb0c4dc9
Added new special operators like &= and <<=. Also made a litle change to scanner function moveOn(): now it moves on the last char passed and only if there are more than one chars.
camoroso2024-12-29 19:26:02 +01:00
d91e7eb979
The list operator '<<' (append) and '>>' (prepend) have been replaced with the new operators '<+' and '+>' respectively. '<<' and '>>' are now used only for left and right binary shit respectively. Further, their priority has been increased moving them to a higher priority than that of the assignment operator.
camoroso2024-12-28 09:17:27 +01:00
cca3b76baa
solved a number of problems highlighted by the syntax analyzer
v0.29.0
camoroso2024-12-27 07:46:11 +01:00
24e31997fc
context-helpers.go: export functions no longer export control flags
camoroso2024-12-27 07:22:28 +01:00
646710e180
builtin-base.go: new eval() function
camoroso2024-12-27 07:14:26 +01:00
b38327b841
t_builtin-string_test.go: corrected an undefinite article
camoroso2024-12-27 07:14:01 +01:00
4725145d1c
Doc: changed fraction symbol and introduced binary operators
camoroso2024-12-25 07:43:06 +01:00
edf8818f51
New dedicated priority for binary operators between relational and sum ones
camoroso2024-12-25 07:41:08 +01:00
6211be8a8f
Completed transition of the symbol '|' from fraction to operator binary or. New fraction symbol is ':'. Also, fixed and improved some parsing sections concerning collection indeces and ranges
camoroso2024-12-23 06:59:39 +01:00
f50ddf48db
operator-range.go: range-term registered with symbol SymRange
camoroso2024-12-23 06:55:57 +01:00
76e01f12d2
term.go: two error messages corrected
camoroso2024-12-23 06:53:37 +01:00
406bced450
operator-sum.go: sum of two fraction fixed
camoroso2024-12-23 06:52:10 +01:00
4184221428
symbol-map.go: changed symbol classification of some symbols like quotes and post-op
camoroso2024-12-23 06:49:17 +01:00
8cf8b36a26
t_parser_test.go: replaced ~ with NOT
camoroso2024-12-19 15:36:16 +01:00
de87050188
scanner.go: removed SymTilde from DefaultTranslatios() -> It is not an alias for the SymNot symbol any more
camoroso2024-12-19 15:30:29 +01:00
a1ec0cc611
All assignment operators set the firstToken flag
camoroso2024-12-19 15:27:38 +01:00
6ee21e10af
New, more flexible, parser context datatype that includes and extends the previous flags allowForest and allowVarRef. Added binary operator (work in progress). Better implementation of +=,-=,*=, and /= (new) operators.
camoroso2024-12-19 14:48:27 +01:00
5c44532790
<< && >>: left and right shift with integer operands
camoroso2024-12-07 07:06:08 +01:00
d215d837f6
Reset() and Clean() have new, simpler signature
camoroso2024-09-12 05:44:29 +02:00
ad3c1e5a60
enhanced and simplified Reset(), Clean() and Next() methods
camoroso2024-09-09 15:23:07 +02:00
d6bf5ee500
common-type-names.go: TypeNil and TyperDict added
camoroso2024-09-09 15:16:42 +02:00
4b176eb868
Fix function.go: CallFunctionByParams() dit not pass correctly received actual params
camoroso2024-08-23 10:29:57 +02:00
dceb31f542
CallFunction() has been replaced by three new functions: CallFunctionByTerm(), CallFunctionByArgs() and CallFunctionByParams()
v0.26.0
camoroso2024-08-02 06:39:33 +02:00
075b0b5691
RegisterFunc() also returns the funcInfo object
camoroso2024-08-01 00:09:49 +02:00
3c51b8d2ee
Changed some function names and param types
camoroso2024-07-31 09:11:57 +02:00
a46753f453
Function buildActualParams moved from data-cursor.go ro function.go
camoroso2024-07-31 09:08:58 +02:00
9070b5c9cc
The function parameter model has been modified to support the passing of named parameters
camoroso2024-07-28 18:49:08 +02:00
ab06702e5e
operator-post-inc.go: new post int decrement operator '--'
v0.25.0
camoroso2024-07-24 06:39:35 +02:00
ffe1fa3aac
op-assign expansion now end at ']' and '}' too
camoroso2024-07-24 06:37:57 +02:00
1a1a475dd8
Added support to op-assign operators like '+='. This feature is implemented by expansion, not by dedicated operators, e.g. a*=2+x is exapanded as a=a*(2+x)
camoroso2024-07-23 15:35:57 +02:00
463e3634ba
scanner.go: New function UnreadToken(). Currently it only supports one staging level.
camoroso2024-07-23 15:32:25 +02:00
5f8ca47ef0
term.go: New function Clone()
camoroso2024-07-23 15:27:50 +02:00
837b887490
token.go: New functions Clone() and IsOneOfA()
camoroso2024-07-23 15:26:53 +02:00
c76e1d3c8e
symbol.go: New symbol '*='
camoroso2024-07-23 15:24:54 +02:00
315f5b22d3
data-cursor.go: the inizialization of the current item is done in the Next() method. This allows the application of the filter and map operator to the first item too.
v0.24.1
camoroso2024-07-23 05:46:37 +02:00
cde2efacf1
Test on iterator filter and map
camoroso2024-07-13 15:30:04 +02:00
d7a7b3218c
Merge branch 'main' into enhance_iterators
camoroso2024-07-13 09:08:16 +02:00
be3bb12f28
operator-unset.go: fixed function removal
camoroso2024-07-13 09:07:33 +02:00
032916d4fa
New operator unset to delete variables and functions from current context
camoroso2024-07-13 09:01:59 +02:00
f3cc0cc7ad
operator-include.go: Fixed inclusion of a list of files. Now returns the value of the last evaluated expression.
camoroso2024-07-13 09:00:53 +02:00