<feed xmlns='http://www.w3.org/2005/Atom'>
<title>parscan/lang/golang, branch parscan-struct</title>
<subtitle>experimental interpreter
</subtitle>
<link rel='alternate' type='text/html' href='https://git.vertes.org/parscan/'/>
<entry>
<title>chore: add linters and some lint fixes (#8)</title>
<updated>2024-04-02T09:27:13+00:00</updated>
<author>
<name>Marc Vertes</name>
<email>mvertes@free.fr</email>
</author>
<published>2024-04-02T09:27:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vertes.org/parscan/commit/?id=1bff92c52b27b9a516599e172fe9852c3d99be38'/>
<id>1bff92c52b27b9a516599e172fe9852c3d99be38</id>
<content type='text'>
* chore: add linters and some lint fixes

Configure some golangci-lint linters to get the code quality right.
Apply the first fixes.

Next step will be to add github actions to run lint and tests in
github CI.

* chore: more lint, fixed comments and variable names. no semantic change.

* chore: add Makefile

This makefile is intended to be used as a local substitute to github
actions.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* chore: add linters and some lint fixes

Configure some golangci-lint linters to get the code quality right.
Apply the first fixes.

Next step will be to add github actions to run lint and tests in
github CI.

* chore: more lint, fixed comments and variable names. no semantic change.

* chore: add Makefile

This makefile is intended to be used as a local substitute to github
actions.</pre>
</div>
</content>
</entry>
<entry>
<title>chore: import from gnolang</title>
<updated>2024-01-15T15:29:41+00:00</updated>
<author>
<name>Marc Vertes</name>
<email>mvertes@free.fr</email>
</author>
<published>2024-01-15T15:29:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vertes.org/parscan/commit/?id=828cfd1c8da5e243fd0f34530fb1a7faab49784e'/>
<id>828cfd1c8da5e243fd0f34530fb1a7faab49784e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>parser: add support for unary operators</title>
<updated>2023-11-20T14:54:52+00:00</updated>
<author>
<name>Marc Vertes</name>
<email>mvertes@free.fr</email>
</author>
<published>2023-11-20T14:54:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vertes.org/parscan/commit/?id=6a0490257bf235d011004bc303306f617ac6ea31'/>
<id>6a0490257bf235d011004bc303306f617ac6ea31</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>parser: parse struct type declarations</title>
<updated>2023-11-15T21:38:46+00:00</updated>
<author>
<name>Marc Vertes</name>
<email>mvertes@free.fr</email>
</author>
<published>2023-11-15T21:38:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vertes.org/parscan/commit/?id=a79e558d825c5b777c95c5e098b01391ee36781e'/>
<id>a79e558d825c5b777c95c5e098b01391ee36781e</id>
<content type='text'>
Recursive structs and embedded structs are not supported yet.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Recursive structs and embedded structs are not supported yet.
</pre>
</div>
</content>
</entry>
<entry>
<title>parser: implement operator precedence rules in expressions</title>
<updated>2023-10-21T15:20:52+00:00</updated>
<author>
<name>Marc Vertes</name>
<email>mvertes@free.fr</email>
</author>
<published>2023-10-21T15:20:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vertes.org/parscan/commit/?id=20d331813cf05f42961f0f6df531c2880f753a07'/>
<id>20d331813cf05f42961f0f6df531c2880f753a07</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>move to a direct byte code compiler (#8)</title>
<updated>2023-10-12T08:51:58+00:00</updated>
<author>
<name>Marc Vertes</name>
<email>marc.vertes@tendermint.com</email>
</author>
<published>2023-10-12T08:51:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vertes.org/parscan/commit/?id=37b9da32d3b911091deb254f6cba2a137c471287'/>
<id>37b9da32d3b911091deb254f6cba2a137c471287</id>
<content type='text'>
* chore: refactor to keep only the new parser and bytecode vm

* scanner: remove Token.value field

* scanner: remove scanner.kind field

* chore: move language specification in lang package

This avoid a cyclic dependency in scanner_test which can now use
the golang/GoSpec language specification for Go.

* clean code

* scanner: export scanner fields

Also parser now generate function calls, including externals.

* chore: fix lint issues

* parser: handle strings

* wip

* parser: implement support for 'if, else, else if' statements

Resolving labels in the compiler still in progress.

* parser: support if statements, improve compiler

* improve handling of functions

* improve support of local variables

* scanner: trim leading and trailing spaces

* fixes to make fibonacci work

* parser: improve README, fix function parameters parsing</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* chore: refactor to keep only the new parser and bytecode vm

* scanner: remove Token.value field

* scanner: remove scanner.kind field

* chore: move language specification in lang package

This avoid a cyclic dependency in scanner_test which can now use
the golang/GoSpec language specification for Go.

* clean code

* scanner: export scanner fields

Also parser now generate function calls, including externals.

* chore: fix lint issues

* parser: handle strings

* wip

* parser: implement support for 'if, else, else if' statements

Resolving labels in the compiler still in progress.

* parser: support if statements, improve compiler

* improve handling of functions

* improve support of local variables

* scanner: trim leading and trailing spaces

* fixes to make fibonacci work

* parser: improve README, fix function parameters parsing</pre>
</div>
</content>
</entry>
<entry>
<title>scanner: add automatic insertion of semi-colon after newline</title>
<updated>2023-09-06T09:55:09+00:00</updated>
<author>
<name>Marc Vertes</name>
<email>mvertes@free.fr</email>
</author>
<published>2023-09-06T09:55:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vertes.org/parscan/commit/?id=555e5bfc03daaf40c78eb2ad540cd73ec4ae2831'/>
<id>555e5bfc03daaf40c78eb2ad540cd73ec4ae2831</id>
<content type='text'>
As specified in the Go specification, adapted to the following:
- the scanner recognise blocks as tokens
- the scanner is multi-language: define keywords in scanner spec
- as a result, we define how to skip semi-colon insertion rather
  than how to add it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As specified in the Go specification, adapted to the following:
- the scanner recognise blocks as tokens
- the scanner is multi-language: define keywords in scanner spec
- as a result, we define how to skip semi-colon insertion rather
  than how to add it.
</pre>
</div>
</content>
</entry>
<entry>
<title>parser: skip comment modes</title>
<updated>2023-09-01T09:42:55+00:00</updated>
<author>
<name>Marc Vertes</name>
<email>mvertes@free.fr</email>
</author>
<published>2023-09-01T09:42:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vertes.org/parscan/commit/?id=459eca16816023fb0afdd6e0948e5406d84e5bc5'/>
<id>459eca16816023fb0afdd6e0948e5406d84e5bc5</id>
<content type='text'>
Refctor node kind names by concatenating category and instance, to
allow better sorting. Comments are now parsed and skipped during
generation of AST.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Refctor node kind names by concatenating category and instance, to
allow better sorting. Comments are now parsed and skipped during
generation of AST.
</pre>
</div>
</content>
</entry>
<entry>
<title>chore: appease lint and vet</title>
<updated>2023-08-25T09:21:49+00:00</updated>
<author>
<name>Marc Vertes</name>
<email>mvertes@free.fr</email>
</author>
<published>2023-08-25T09:21:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vertes.org/parscan/commit/?id=a3ab9ef5be74cb54a87674aa48abb0c46f9c58f6'/>
<id>a3ab9ef5be74cb54a87674aa48abb0c46f9c58f6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fix: parser must be initialized before use</title>
<updated>2023-08-24T08:59:39+00:00</updated>
<author>
<name>Marc Vertes</name>
<email>mvertes@free.fr</email>
</author>
<published>2023-08-24T08:59:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vertes.org/parscan/commit/?id=8080afb5a9e38116646d69155365fb6bd09ea40c'/>
<id>8080afb5a9e38116646d69155365fb6bd09ea40c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
