Commit Graph

39 Commits

Author SHA1 Message Date
8e5550bfa7 New operator %= 2024-12-19 15:14:30 +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.
2024-12-19 14:48:27 +01:00
a28d24ba68 parser.go: improved terminal symbols thanks to new symbol-map.go functions 2024-10-13 08:42:55 +02:00
321030c8d3 parser.go: function parameter list can't specify same parameter more than once 2024-10-01 06:39:51 +02:00
7285109115 parser.go: number sign is now allowed after the assign operator 2024-09-16 06:49:26 +02:00
ffe1fa3aac op-assign expansion now end at ']' and '}' too 2024-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)
2024-07-23 15:35:57 +02:00
80d3c6ec7d parser.go: Fixed an old bug that did not allow the parser to skip comment tokens 2024-07-21 05:37:34 +02:00
7f367cfc49 parser.go: renamed self receiver 2024-07-07 16:14:52 +02:00
d63b18fd76 parser.go: SymColon resets the firstToken flag; that is needed to specify range indeces that can define negative limits 2024-06-19 09:22:40 +02:00
0d01afcc9f member ctx removed from struct parser because it is unused 2024-06-07 09:03:42 +02:00
10a596a4cd parser.go: commented out some useless code 2024-06-04 11:02:26 +02:00
9bba40f155 Expr's functions now support parameters with default value 2024-06-01 19:56:40 +02:00
2c87d6bf9e Eprx now supports range of indeces to extract parts of strings or lists 2024-05-26 06:19:08 +02:00
fa136cb70b parser.go: square brackets are also allowed after a variable 2024-05-25 03:32:13 +02:00
03d4c192c2 new syntax to get items from collection: collection[index]. Supported collections are string, list and dict 2024-05-24 22:51:01 +02:00
d6a1607041 The content of round bracket now returns an expressione term. This way the content is decoupled from external terms. 2024-05-19 01:34:07 +02:00
0a9543543d Remove the unused 'parent' param from the function newTerm(). 2024-05-11 06:41:06 +02:00
0fdd51049d parser.go: simplified the parser of the function parameters 2024-05-04 19:10:02 +02:00
a2c0a24494 added symbol '..' and '...'; improved some error reports in parser.go 2024-05-04 18:47:00 +02:00
7724cabdcc removed commented code 2024-05-04 00:57:21 +02:00
16557d70de the iterator operator now can be defined providing values or a list of values directly 2024-05-04 00:51:15 +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
323308d86f expressions now support dict data-type 2024-04-21 14:24:56 +02:00
54bc759f70 expressions now support intger value in bin (0b), oct (0o), and hex (0x) form 2024-04-17 14:15:50 +02:00
f1afbf9b49 parser.go: removed commented code 2024-04-14 07:35:43 +02:00
70cdb9367e changed the structer of the selector components: now all case are a list value assigned as right operand of the selector operator 2024-04-13 10:10:25 +02:00
b17d2250a4 parser.go: fixed a problem on the selector operator 2024-04-13 04:37:15 +02:00
9ac88bf446 made some interfaces exportable and fixed/enhaaced some selector operator versions 2024-04-08 23:17:56 +02:00
d3f388f7e1 Selector operator, multi-operand, added 2024-04-08 22:16:07 +02:00
181a9210d5 parser.go -- Fix: reset to true the firstToken flag after getting a semicolon 2024-04-06 01:32:29 +02:00
d073d11ad3 Variable references belonging to the parent scope added ('@') 2024-04-04 12:54:26 +02:00
072dab4144 Expressions now support function definition 2024-04-02 04:36:03 +02:00
f58ec3ac32 parser: now checks whether the assign operator '=' is preceded by a variable 2024-03-31 06:38:46 +02:00
28e3b2f741 parser: accepts espression forest (multi expressions) 2024-03-31 06:10:27 +02:00
36feed3168 parser.go: changedthe message error about unknown functiona 2024-03-30 06:58:29 +01:00
c36c88d0fd Added list '[]' data type. Fix: function with no arguments 2024-03-28 08:51:02 +01:00
33841c5861 Added copyrighr note to all sources 2024-03-26 08:45:18 +01:00
522b880ca3 Added all source files 2024-03-26 07:00:53 +01:00