<feed xmlns='http://www.w3.org/2005/Atom'>
<title>parscan/vm, branch main</title>
<subtitle>experimental interpreter
</subtitle>
<link rel='alternate' type='text/html' href='https://git.vertes.org/parscan/'/>
<entry>
<title>fix: improve multiple define</title>
<updated>2026-01-27T15:37:02+00:00</updated>
<author>
<name>Marc Vertes</name>
<email>mvertes@free.fr</email>
</author>
<published>2026-01-27T15:37:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vertes.org/parscan/commit/?id=60f6ebc8d8369721e105d826145af2b8856ac67e'/>
<id>60f6ebc8d8369721e105d826145af2b8856ac67e</id>
<content type='text'>
The VM Vassign instruction now takes an argument to indicates the
number of assignations to perform on the stack.
Definitions with a function returning multiple values now work.
There is still some simplifications, and also to apply the same
strategy to var declarations with assign.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The VM Vassign instruction now takes an argument to indicates the
number of assignations to perform on the stack.
Definitions with a function returning multiple values now work.
There is still some simplifications, and also to apply the same
strategy to var declarations with assign.
</pre>
</div>
</content>
</entry>
<entry>
<title>fix: improve multi assign</title>
<updated>2026-01-26T17:44:29+00:00</updated>
<author>
<name>Marc Vertes</name>
<email>mvertes@free.fr</email>
</author>
<published>2026-01-26T17:44:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vertes.org/parscan/commit/?id=aa5861917ac2543f85bf4cfefbb69cf501d4de41'/>
<id>aa5861917ac2543f85bf4cfefbb69cf501d4de41</id>
<content type='text'>
Do not consider assign operators in expression handling, they are
part of statements.
Isolate parsing of left hand side and right hand side in assignments.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Do not consider assign operators in expression handling, they are
part of statements.
Isolate parsing of left hand side and right hand side in assignments.
</pre>
</div>
</content>
</entry>
<entry>
<title>feat: add Next2 and Pull2 instructions in vm.</title>
<updated>2026-01-23T12:05:10+00:00</updated>
<author>
<name>Marc Vertes</name>
<email>mvertes@free.fr</email>
</author>
<published>2026-01-23T12:05:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vertes.org/parscan/commit/?id=3113c7f058e427c49e936f82a518766ddb869c58'/>
<id>3113c7f058e427c49e936f82a518766ddb869c58</id>
<content type='text'>
These will be used for range clause assigning both key and value.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These will be used for range clause assigning both key and value.
</pre>
</div>
</content>
</entry>
<entry>
<title>feat: make Next iterator instruction faster and more efficient</title>
<updated>2026-01-23T10:16:12+00:00</updated>
<author>
<name>Marc Vertes</name>
<email>mvertes@free.fr</email>
</author>
<published>2026-01-23T10:16:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vertes.org/parscan/commit/?id=2837dabf7818666a9366d659d2da3b9055140740'/>
<id>2837dabf7818666a9366d659d2da3b9055140740</id>
<content type='text'>
Branching control is delegated directly to the Next instruction,
which now takes the location of loop exit as first argument.
It avoids the use of JumpFalse, plus the stack storage for the
condition.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Branching control is delegated directly to the Next instruction,
which now takes the location of loop exit as first argument.
It avoids the use of JumpFalse, plus the stack storage for the
condition.
</pre>
</div>
</content>
</entry>
<entry>
<title>feat: add support for range clause and iterators</title>
<updated>2026-01-21T18:26:42+00:00</updated>
<author>
<name>Marc Vertes</name>
<email>mvertes@free.fr</email>
</author>
<published>2026-01-21T18:26:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vertes.org/parscan/commit/?id=c922c797204069f42a7abf88500c5708f68a8e43'/>
<id>c922c797204069f42a7abf88500c5708f68a8e43</id>
<content type='text'>
- 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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- 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.
</pre>
</div>
</content>
</entry>
<entry>
<title>feat: handle slice expressions</title>
<updated>2026-01-16T11:30:31+00:00</updated>
<author>
<name>Marc Vertes</name>
<email>mvertes@free.fr</email>
</author>
<published>2026-01-16T11:30:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vertes.org/parscan/commit/?id=ee9397bc031dc33e4f735b3331643bbf60a0d17a'/>
<id>ee9397bc031dc33e4f735b3331643bbf60a0d17a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fix: improve handling of indirections</title>
<updated>2026-01-14T17:44:17+00:00</updated>
<author>
<name>Marc Vertes</name>
<email>mvertes@free.fr</email>
</author>
<published>2026-01-14T17:44:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vertes.org/parscan/commit/?id=31e3793202402fda21905027c18ebfa5c8d8c832'/>
<id>31e3793202402fda21905027c18ebfa5c8d8c832</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>fix: handle assign statements on map elements</title>
<updated>2026-01-11T18:02:27+00:00</updated>
<author>
<name>Marc Vertes</name>
<email>mvertes@free.fr</email>
</author>
<published>2026-01-11T18:02:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vertes.org/parscan/commit/?id=5a04b5512a128bd1805792cca4eabacf5fd49b27'/>
<id>5a04b5512a128bd1805792cca4eabacf5fd49b27</id>
<content type='text'>
A new token MapAssign is added to implement assignements involving
a map, slice or array, an index key expression and a value expression.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A new token MapAssign is added to implement assignements involving
a map, slice or array, an index key expression and a value expression.
</pre>
</div>
</content>
</entry>
<entry>
<title>feat: initial support for maps</title>
<updated>2026-01-09T18:10:27+00:00</updated>
<author>
<name>Marc Vertes</name>
<email>mvertes@free.fr</email>
</author>
<published>2026-01-09T18:10:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vertes.org/parscan/commit/?id=7520aa4474ea30985cf26631c6bbdebf38484a0d'/>
<id>7520aa4474ea30985cf26631c6bbdebf38484a0d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fix: improve composite literal for slices</title>
<updated>2026-01-08T22:46:02+00:00</updated>
<author>
<name>Marc Vertes</name>
<email>mvertes@free.fr</email>
</author>
<published>2026-01-08T22:46:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vertes.org/parscan/commit/?id=6ae0a2530c9a57fc093d2159591d9cae8140d641'/>
<id>6ae0a2530c9a57fc093d2159591d9cae8140d641</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
