<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rep.git/chain/src/item/default/mod.rs, branch attempt1</title>
<subtitle>Parser generator for Emacs written in Rust
</subtitle>
<link rel='alternate' type='text/html' href='https://git.jsdurand.xyz/rep.git/'/>
<entry>
<title>partial commit, before trying the new guide by claude</title>
<updated>2026-10-16T10:16:36+00:00</updated>
<author>
<name>JSDurand</name>
<email>mmemmew@gmail.com</email>
</author>
<published>2026-10-16T10:16:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.jsdurand.xyz/rep.git/commit/?id=918235659f7b0d80bfa305875ab7cc988cc51761'/>
<id>918235659f7b0d80bfa305875ab7cc988cc51761</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>new start</title>
<updated>2026-10-16T06:02:10+00:00</updated>
<author>
<name>JSDurand</name>
<email>mmemmew@gmail.com</email>
</author>
<published>2026-10-16T06:01:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.jsdurand.xyz/rep.git/commit/?id=fba9a90cfc6aca2a26cce72f55fb261789139781'/>
<id>fba9a90cfc6aca2a26cce72f55fb261789139781</id>
<content type='text'>
Now I tested and discussed with claude, and had a working version of
this project.  The rest is to port the claude version to my own
writings.  So this serves as the starting point before that attempt.

In the new attempt the design is better, and a number of bugs were
found and supposedly fixed, so let us see how this goes at the end.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Now I tested and discussed with claude, and had a working version of
this project.  The rest is to port the claude version to my own
writings.  So this serves as the starting point before that attempt.

In the new attempt the design is better, and a number of bugs were
found and supposedly fixed, so let us see how this goes at the end.
</pre>
</div>
</content>
</entry>
<entry>
<title>a commit before the forst query</title>
<updated>2024-01-08T08:13:19+00:00</updated>
<author>
<name>JSDurand</name>
<email>mmemmew@gmail.com</email>
</author>
<published>2024-01-08T08:13:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.jsdurand.xyz/rep.git/commit/?id=3ae0cf9898485a2ec35df7d23cd274e7dea5796d'/>
<id>3ae0cf9898485a2ec35df7d23cd274e7dea5796d</id>
<content type='text'>
I think the main functionalities are already there, but the lack of
querying capabilities makes this not very useful at the moment.

This commit is right before an attempt to add this missing piece.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I think the main functionalities are already there, but the lack of
querying capabilities makes this not very useful at the moment.

This commit is right before an attempt to add this missing piece.
</pre>
</div>
</content>
</entry>
<entry>
<title>Move the trait `Forest` to the crate "forest".</title>
<updated>2023-08-10T03:14:04+00:00</updated>
<author>
<name>JSDurand</name>
<email>mmemmew@gmail.com</email>
</author>
<published>2023-08-10T03:14:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.jsdurand.xyz/rep.git/commit/?id=b8a2d05a3c0d835556d5ddbd44e4a1e201302af5'/>
<id>b8a2d05a3c0d835556d5ddbd44e4a1e201302af5</id>
<content type='text'>
The purpose of this change is to share this trait with other crates,
such as the forth-coming "semiring" crate that will be responsible for
handling some simple semiring operations as well as the querying, in
my plans.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The purpose of this change is to share this trait with other crates,
such as the forth-coming "semiring" crate that will be responsible for
handling some simple semiring operations as well as the querying, in
my plans.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix some bugs</title>
<updated>2023-08-01T03:47:44+00:00</updated>
<author>
<name>JSDurand</name>
<email>mmemmew@gmail.com</email>
</author>
<published>2023-08-01T03:47:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.jsdurand.xyz/rep.git/commit/?id=81854107bcf0b4480cfb11e8af7fec6894240c0c'/>
<id>81854107bcf0b4480cfb11e8af7fec6894240c0c</id>
<content type='text'>
Some bugs are fixed:

1. If a non-terminal expansion can be reduced immediately, previously
an extra node would be created that had no parents.  Now this strange
behaviour is corrected.

2. When performing reductions, a leaf non-terminal node would
previously be regarded as completed.  Now we will first try to
complete that node, and then determine if the completion is
successful, and finally determine the completedness according to the
result.

Of course some more tests are still pending, before I can confirm that
no more bugs lurk around.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Some bugs are fixed:

1. If a non-terminal expansion can be reduced immediately, previously
an extra node would be created that had no parents.  Now this strange
behaviour is corrected.

2. When performing reductions, a leaf non-terminal node would
previously be regarded as completed.  Now we will first try to
complete that node, and then determine if the completion is
successful, and finally determine the completedness according to the
result.

Of course some more tests are still pending, before I can confirm that
no more bugs lurk around.
</pre>
</div>
</content>
</entry>
<entry>
<title>Print graphs with edges in order</title>
<updated>2023-07-21T11:14:51+00:00</updated>
<author>
<name>JSDurand</name>
<email>mmemmew@gmail.com</email>
</author>
<published>2023-07-21T11:14:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.jsdurand.xyz/rep.git/commit/?id=0bf1d3d9d883d0b63792c68541b23404aae0ec8f'/>
<id>0bf1d3d9d883d0b63792c68541b23404aae0ec8f</id>
<content type='text'>
* chain/src/item/default/mod.rs:
* graph/src/labelled/binary.rs:
* graph/src/labelled/double.rs:
* graph/src/lib.rs: If we set the option "ordering" to be "out" in the
  declaration of nodes at the beginning, then GraphViz will not change
  the order of children out of nodes.  This is much better looking in
  my opinion.

* INSTALL: make insists in changing this file, so let it be.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* chain/src/item/default/mod.rs:
* graph/src/labelled/binary.rs:
* graph/src/labelled/double.rs:
* graph/src/lib.rs: If we set the option "ordering" to be "out" in the
  declaration of nodes at the beginning, then GraphViz will not change
  the order of children out of nodes.  This is much better looking in
  my opinion.

* INSTALL: make insists in changing this file, so let it be.
</pre>
</div>
</content>
</entry>
<entry>
<title>bump version</title>
<updated>2023-07-21T03:45:16+00:00</updated>
<author>
<name>JSDurand</name>
<email>mmemmew@gmail.com</email>
</author>
<published>2023-07-21T03:45:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.jsdurand.xyz/rep.git/commit/?id=aac64480aa68dadb87cf9649c04571bf39cff29c'/>
<id>aac64480aa68dadb87cf9649c04571bf39cff29c</id>
<content type='text'>
This bumping of version is insignificant.  I just find it notable that
I seem to finally obtain a version without trivial bugs.  Hooray!
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This bumping of version is insignificant.  I just find it notable that
I seem to finally obtain a version without trivial bugs.  Hooray!
</pre>
</div>
</content>
</entry>
<entry>
<title>chain/src/item/default/mod.rs: Add a unit test for `set_pos`</title>
<updated>2023-07-18T08:31:05+00:00</updated>
<author>
<name>JSDurand</name>
<email>mmemmew@gmail.com</email>
</author>
<published>2023-07-18T08:31:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.jsdurand.xyz/rep.git/commit/?id=0f960b0ecaa30be08d859bf5ca910b7603e66a10'/>
<id>0f960b0ecaa30be08d859bf5ca910b7603e66a10</id>
<content type='text'>
The function `set_pos` is kind of subtle and its behaviour needs a
unit test so that we can be sure that it does not accidentally set the
ending positions in a careless manner.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The function `set_pos` is kind of subtle and its behaviour needs a
unit test so that we can be sure that it does not accidentally set the
ending positions in a careless manner.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix the bug of incorrectly setting the end of forest nodes</title>
<updated>2023-07-18T08:26:54+00:00</updated>
<author>
<name>JSDurand</name>
<email>mmemmew@gmail.com</email>
</author>
<published>2023-07-18T08:26:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.jsdurand.xyz/rep.git/commit/?id=5a40d2cb79a791a46a579fdf6532e1b49053e96c'/>
<id>5a40d2cb79a791a46a579fdf6532e1b49053e96c</id>
<content type='text'>
Previously when generating a fragment of the forest corresponding to
the expansion of a non-terminal by a terminal, we incorrectly set the
end of every node within it to be one plus the start, if the expansion
happens due to a reduction.

Now this mistake is fixed and the ending positions are correctly set.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously when generating a fragment of the forest corresponding to
the expansion of a non-terminal by a terminal, we incorrectly set the
end of every node within it to be one plus the start, if the expansion
happens due to a reduction.

Now this mistake is fixed and the ending positions are correctly set.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix a bug of unnecessarily cloning nodes.</title>
<updated>2023-07-18T03:58:00+00:00</updated>
<author>
<name>JSDurand</name>
<email>mmemmew@gmail.com</email>
</author>
<published>2023-07-18T03:55:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.jsdurand.xyz/rep.git/commit/?id=5a5f7e5be9498af219a36401b1d2a13b553402e8'/>
<id>5a5f7e5be9498af219a36401b1d2a13b553402e8</id>
<content type='text'>
* chain/src/item/default/splone.rs: Previously when we split nodes, we
  always clone the parent if the labels differ.  This turns out to be
  incorrect if the new label is open whereas the old label is closed.
  In that case, the old parent should not contain the new node as a
  child, as a closed node should not contain an open node.

  I am not yet entirely sure this fix is correct, so more test await
  us.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* chain/src/item/default/splone.rs: Previously when we split nodes, we
  always clone the parent if the labels differ.  This turns out to be
  incorrect if the new label is open whereas the old label is closed.
  In that case, the old parent should not contain the new node as a
  child, as a closed node should not contain an open node.

  I am not yet entirely sure this fix is correct, so more test await
  us.
</pre>
</div>
</content>
</entry>
</feed>
