<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rep.git/chain/src/item, branch 0.1.1</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>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>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>splone: splitting parents properly.</title>
<updated>2023-07-21T03:37:09+00:00</updated>
<author>
<name>JSDurand</name>
<email>mmemmew@gmail.com</email>
</author>
<published>2023-07-21T03:37:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.jsdurand.xyz/rep.git/commit/?id=d31961c3ef5341413efb8681302ebd666dbcc4a5'/>
<id>d31961c3ef5341413efb8681302ebd666dbcc4a5</id>
<content type='text'>
* chain/src/item/default/splone.rs: Previouslt the function
  `split_node` used to split the parents of splitted nodes by an ugly
  logic.  Now that is moved into a dedicated function, which properly
  handles the splitting of parents, including the case when the new
  node is open whereas the old node is closed, in which situation we
  ought to put the new node under the opened node only, as a closed
  node cannot contain an open node as a child by definition.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* chain/src/item/default/splone.rs: Previouslt the function
  `split_node` used to split the parents of splitted nodes by an ugly
  logic.  Now that is moved into a dedicated function, which properly
  handles the splitting of parents, including the case when the new
  node is open whereas the old node is closed, in which situation we
  ought to put the new node under the opened node only, as a closed
  node cannot contain an open node as a child by definition.
</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>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>
<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>
<entry>
<title>Fix the bug of testing prefixes and planting</title>
<updated>2023-07-12T02:29:50+00:00</updated>
<author>
<name>JSDurand</name>
<email>mmemmew@gmail.com</email>
</author>
<published>2023-07-12T02:29:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.jsdurand.xyz/rep.git/commit/?id=cd977c17ee5cd4ef68d0021dc69c131364122376'/>
<id>cd977c17ee5cd4ef68d0021dc69c131364122376</id>
<content type='text'>
Previously the functions `is_prefix` and `plant` did not take the
situation of packed nodes into considerations.  That was because I
only dealt with non-packed nodes in the past: the fragment to test for
prefixes and for planting did not intersect the packed nodes in the
forest, and the grammar is so simple that the fragments do not contain
packed nodes.

Then a test revealed this situation, so I have to fix this lack of
considerations now.  This commit attempts to fix this issue.

From the newly added unit-tests, it seems that this fix works.  :)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously the functions `is_prefix` and `plant` did not take the
situation of packed nodes into considerations.  That was because I
only dealt with non-packed nodes in the past: the fragment to test for
prefixes and for planting did not intersect the packed nodes in the
forest, and the grammar is so simple that the fragments do not contain
packed nodes.

Then a test revealed this situation, so I have to fix this lack of
considerations now.  This commit attempts to fix this issue.

From the newly added unit-tests, it seems that this fix works.  :)
</pre>
</div>
</content>
</entry>
</feed>
