<feed xmlns='http://www.w3.org/2005/Atom'>
<title>parscan/cmd, branch parscan-struct</title>
<subtitle>experimental interpreter
</subtitle>
<link rel='alternate' type='text/html' href='https://git.vertes.org/parscan/'/>
<entry>
<title>codegen: add interpreter tests</title>
<updated>2023-09-04T14:58:15+00:00</updated>
<author>
<name>Marc Vertes</name>
<email>mvertes@free.fr</email>
</author>
<published>2023-09-04T14:58:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vertes.org/parscan/commit/?id=4241593b42bffac2f8fcb63f1e88621fe025e360'/>
<id>4241593b42bffac2f8fcb63f1e88621fe025e360</id>
<content type='text'>
Also simplify project structure. The executable is now produced in
the root directory. Work in progress.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Also simplify project structure. The executable is now produced in
the root directory. Work in progress.
</pre>
</div>
</content>
</entry>
<entry>
<title>codegen: fix interpreter re-entrance</title>
<updated>2023-08-31T15:53:54+00:00</updated>
<author>
<name>Marc Vertes</name>
<email>mvertes@free.fr</email>
</author>
<published>2023-08-31T15:53:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vertes.org/parscan/commit/?id=851c793da43be9e4d3319afe440d603c85834045'/>
<id>851c793da43be9e4d3319afe440d603c85834045</id>
<content type='text'>
So multiple successive incremental Evals function correctly.

Also improve the following:
- Apply the same Eval API to vm0 and vm1
- parser: dot diagram display is now synchronous
- codegen: outsource complex code generation for readability
- vm1: Pop take the number of values to pop as operand
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
So multiple successive incremental Evals function correctly.

Also improve the following:
- Apply the same Eval API to vm0 and vm1
- parser: dot diagram display is now synchronous
- codegen: outsource complex code generation for readability
- vm1: Pop take the number of values to pop as operand
</pre>
</div>
</content>
</entry>
<entry>
<title>gint: add an interactive REPL</title>
<updated>2023-08-29T16:22:13+00:00</updated>
<author>
<name>Marc Vertes</name>
<email>mvertes@free.fr</email>
</author>
<published>2023-08-29T16:22:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vertes.org/parscan/commit/?id=0f4bfe6e70263fbeb580014b62632f403b29b414'/>
<id>0f4bfe6e70263fbeb580014b62632f403b29b414</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>gint: simplify</title>
<updated>2023-08-25T07:40:52+00:00</updated>
<author>
<name>Marc Vertes</name>
<email>mvertes@free.fr</email>
</author>
<published>2023-08-25T07:40:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vertes.org/parscan/commit/?id=706ca65800dfab293a0210b56602e1e9f8076fcc'/>
<id>706ca65800dfab293a0210b56602e1e9f8076fcc</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>codegen: add Interpreter struct</title>
<updated>2023-08-24T15:16:39+00:00</updated>
<author>
<name>Marc Vertes</name>
<email>mvertes@free.fr</email>
</author>
<published>2023-08-24T15:16:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vertes.org/parscan/commit/?id=9fdef50606a2942389189cd61397e17c0a0ccfd7'/>
<id>9fdef50606a2942389189cd61397e17c0a0ccfd7</id>
<content type='text'>
This makes the code easier to use.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This makes the code easier to use.
</pre>
</div>
</content>
</entry>
<entry>
<title>codegen: add a bytecode generator (#5)</title>
<updated>2023-08-09T09:47:39+00:00</updated>
<author>
<name>Marc Vertes</name>
<email>marc.vertes@tendermint.com</email>
</author>
<published>2023-08-09T09:47:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vertes.org/parscan/commit/?id=947873b34aabe46dfb9f8d06214736cb11b5a6b2'/>
<id>947873b34aabe46dfb9f8d06214736cb11b5a6b2</id>
<content type='text'>
* codegen: add a bytecode generator
* cleaning scanner, parser and vm1.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* codegen: add a bytecode generator
* cleaning scanner, parser and vm1.</pre>
</div>
</content>
</entry>
<entry>
<title>vm1: add file pos for debug and a few immediate instructions (#4)</title>
<updated>2023-07-24T12:20:45+00:00</updated>
<author>
<name>Marc Vertes</name>
<email>marc.vertes@tendermint.com</email>
</author>
<published>2023-07-24T12:20:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vertes.org/parscan/commit/?id=355750be61fbf4b90d132a9560e01113f22f4c38'/>
<id>355750be61fbf4b90d132a9560e01113f22f4c38</id>
<content type='text'>
* vm1: add file pos for debug and a few immediate instructions

`op[0]` is now reserved for storing the file position computed at
code compiling. No impact on performances.

Added `Subi` and `Infi` which use integer immediate argument instead
of stack. Experimental. Improves `fib()`  speed by ~ 20%.

* vm1: add benchmark as proposed by @ajnavarro</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* vm1: add file pos for debug and a few immediate instructions

`op[0]` is now reserved for storing the file position computed at
code compiling. No impact on performances.

Added `Subi` and `Infi` which use integer immediate argument instead
of stack. Experimental. Improves `fib()`  speed by ~ 20%.

* vm1: add benchmark as proposed by @ajnavarro</pre>
</div>
</content>
</entry>
<entry>
<title>first commit</title>
<updated>2023-07-10T13:54:13+00:00</updated>
<author>
<name>Marc Vertes</name>
<email>mvertes@free.fr</email>
</author>
<published>2023-07-10T13:54:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vertes.org/parscan/commit/?id=80c277773a1e73267832641574654361b85e6028'/>
<id>80c277773a1e73267832641574654361b85e6028</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
