summaryrefslogtreecommitdiff
path: root/comp
AgeCommit message (Collapse)Author
5 daysfeat: add support for range clause and iteratorsMarc Vertes
- vm: added Pull, Next and Stop instructions, to implement iterators - lang: add Range, Next and Stop tokens - parser: handle range clause. Still naive and incomplete. - comp: generate iterator instructions from range clause. Work in progress. Only initial support for slices. Many more tests and combinations needed, but the main pattern is there now.
10 daysfeat: handle slice expressionsMarc Vertes
12 daysfix: improve handling of indirectionsMarc Vertes
Added 2 VM instructions, FnewE variant of Fnew with a dereference, and FieldE, variant of Field with dereference. It's now possible to pointers in structs and literal composites.
2026-01-11fix: handle assign statements on map elementsMarc Vertes
A new token MapAssign is added to implement assignements involving a map, slice or array, an index key expression and a value expression.
2026-01-09feat: initial support for mapsMarc Vertes
2026-01-08fix: improve composite literal for slicesMarc Vertes
2026-01-07fix: improve handling of composite literal struct expressionsMarc Vertes
2026-01-06fix: correct and simplify parsing of expressions.Marc Vertes
The expressions were parsed from right to left, and it was incorrect and cumbersome. Now they are processed from left to right, with a simpler and correct handling of precedence rules. The vm function call syntax has been changed to set the function before the input arguments on the stack, as to follow the declaring order in languages.
2025-12-04chore: move symbol types and functions in its own package.Marc Vertes
2025-12-03feat: support literal struct expressions with keyed elementsMarc Vertes
2025-12-02feat: support of struct literal compositeMarc Vertes
Added missing vm instructions to allocate a typed value on the stack and to set a structure field. It's possible now to generate struct literal composites for non keyed struct fields.
2025-11-29chore: shorter name for packages, simpilfy vm valuesMarc Vertes