<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rep.git/chain/src/item/genins.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>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>Fix a bug of using incorrect forest nodes to plant.</title>
<updated>2023-08-09T03:42:03+00:00</updated>
<author>
<name>JSDurand</name>
<email>mmemmew@gmail.com</email>
</author>
<published>2023-08-09T03:42:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.jsdurand.xyz/rep.git/commit/?id=f14c8a2aeab18a9bfa380df28f94736580e08f48'/>
<id>f14c8a2aeab18a9bfa380df28f94736580e08f48</id>
<content type='text'>
Previously some incorrect forest nodes will be used for planting new
nodes.  I cannot fix the root cause of their presence in the
chain-rule machine.  But I can ignore them when they are encountered.

Of course I would like to really prevent them from existing, but still
cannot figure out how.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously some incorrect forest nodes will be used for planting new
nodes.  I cannot fix the root cause of their presence in the
chain-rule machine.  But I can ignore them when they are encountered.

Of course I would like to really prevent them from existing, but still
cannot figure out how.
</pre>
</div>
</content>
</entry>
<entry>
<title>minor adjustments</title>
<updated>2023-08-04T02:12:04+00:00</updated>
<author>
<name>JSDurand</name>
<email>mmemmew@gmail.com</email>
</author>
<published>2023-08-04T02:12:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.jsdurand.xyz/rep.git/commit/?id=7033187abaf42772097377c0a1ffc2cd4cefdada'/>
<id>7033187abaf42772097377c0a1ffc2cd4cefdada</id>
<content type='text'>
Not bug deals but adjustments of details.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Not bug deals but adjustments of details.
</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>genins: Use relative file path for printing forests.</title>
<updated>2023-07-21T03:41:00+00:00</updated>
<author>
<name>JSDurand</name>
<email>mmemmew@gmail.com</email>
</author>
<published>2023-07-21T03:41:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.jsdurand.xyz/rep.git/commit/?id=88052521eba5721809c472aab5bfae8a95e00956'/>
<id>88052521eba5721809c472aab5bfae8a95e00956</id>
<content type='text'>
* chain/src/item/genins.rs: The absolute path is too long and
  unnecessary.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* chain/src/item/genins.rs: The absolute path is too long and
  unnecessary.
</pre>
</div>
</content>
</entry>
<entry>
<title>genins: Fix  the bug of forgetting to set ending positions.</title>
<updated>2023-07-19T05:47:28+00:00</updated>
<author>
<name>JSDurand</name>
<email>mmemmew@gmail.com</email>
</author>
<published>2023-07-19T05:47:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.jsdurand.xyz/rep.git/commit/?id=7da8b814d53c389849cfb5a8c9884afcd4215eac'/>
<id>7da8b814d53c389849cfb5a8c9884afcd4215eac</id>
<content type='text'>
Previously a virtual fragment did not receive proper ending positions.
This is now fixed.

Additionally, after this fix, the function `set_pos` is only called
with the last parameter set to `t`.  Maybe I shall remove this
parameter.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously a virtual fragment did not receive proper ending positions.
This is now fixed.

Additionally, after this fix, the function `set_pos` is only called
with the last parameter set to `t`.  Maybe I shall remove this
parameter.
</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>
<entry>
<title>Fix the bug of forgetting to check cloned nodes.</title>
<updated>2023-07-16T10:06:18+00:00</updated>
<author>
<name>JSDurand</name>
<email>mmemmew@gmail.com</email>
</author>
<published>2023-07-16T10:06:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.jsdurand.xyz/rep.git/commit/?id=780f3cc80cadf87ecfdb702ef90fcb606f2783fd'/>
<id>780f3cc80cadf87ecfdb702ef90fcb606f2783fd</id>
<content type='text'>
In the process of splitting, cloning, and planting the forest, I
forgot to check whether some cloned node of the node inquestion
satisfy the condition.  This used to cause forests that violate some
fundamental assumptions.  Now this is supposed to be fixed, but more
tests await us.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In the process of splitting, cloning, and planting the forest, I
forgot to check whether some cloned node of the node inquestion
satisfy the condition.  This used to cause forests that violate some
fundamental assumptions.  Now this is supposed to be fixed, but more
tests await us.
</pre>
</div>
</content>
</entry>
<entry>
<title>genins: stop printing files if the directory does not exist</title>
<updated>2023-07-13T08:47:09+00:00</updated>
<author>
<name>JSDurand</name>
<email>mmemmew@gmail.com</email>
</author>
<published>2023-07-13T08:47:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.jsdurand.xyz/rep.git/commit/?id=1d32e421927346d973487c01208ec955f8c68334'/>
<id>1d32e421927346d973487c01208ec955f8c68334</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
