<feed xmlns='http://www.w3.org/2005/Atom'>
<title>parscan/interp, branch main</title>
<subtitle>experimental interpreter
</subtitle>
<link rel='alternate' type='text/html' href='https://git.vertes.org/parscan/'/>
<entry>
<title>fix: improve var declaration with multiple assign</title>
<updated>2026-01-27T17:54:59+00:00</updated>
<author>
<name>Marc Vertes</name>
<email>mvertes@free.fr</email>
</author>
<published>2026-01-27T17:54:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vertes.org/parscan/commit/?id=6983f69d7381c2b3e287a98b5177c0e335e768af'/>
<id>6983f69d7381c2b3e287a98b5177c0e335e768af</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 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: handle define expression with multiple right values</title>
<updated>2026-01-25T13:36:10+00:00</updated>
<author>
<name>Marc Vertes</name>
<email>mvertes@free.fr</email>
</author>
<published>2026-01-25T13:36:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vertes.org/parscan/commit/?id=ece8bdbc45afc3ea626db884ea3283d9a8395ae5'/>
<id>ece8bdbc45afc3ea626db884ea3283d9a8395ae5</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 parsing of assign statements</title>
<updated>2026-01-24T22:06:55+00:00</updated>
<author>
<name>Marc Vertes</name>
<email>mvertes@free.fr</email>
</author>
<published>2026-01-24T22:06:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vertes.org/parscan/commit/?id=95c50e35888fb54ced38907dc6e97dc683937e70'/>
<id>95c50e35888fb54ced38907dc6e97dc683937e70</id>
<content type='text'>
Handle assign statements in parseAssign function. Detect multi-assign
by the presence of comma in the right hand side tokens.
The case of swap is not handled yet.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Handle assign statements in parseAssign function. Detect multi-assign
by the presence of comma in the right hand side tokens.
The case of swap is not handled yet.
</pre>
</div>
</content>
</entry>
<entry>
<title>fix: correct var order in multi-var declaration</title>
<updated>2026-01-24T11:00:34+00:00</updated>
<author>
<name>Marc Vertes</name>
<email>mvertes@free.fr</email>
</author>
<published>2026-01-24T11:00:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vertes.org/parscan/commit/?id=51e11a29f9d2a9e571c3ea7c406863a025749ad6'/>
<id>51e11a29f9d2a9e571c3ea7c406863a025749ad6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</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>chore: use parser.Token.Arg to store generated parameters</title>
<updated>2026-01-23T08:23:51+00:00</updated>
<author>
<name>Marc Vertes</name>
<email>mvertes@free.fr</email>
</author>
<published>2026-01-23T08:23:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vertes.org/parscan/commit/?id=79eaad4bbb778b04501fca724ce2641e25b33f3a'/>
<id>79eaad4bbb778b04501fca724ce2641e25b33f3a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</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>
</feed>
