<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rep.git/chain/src, branch 0.1.2</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>chain/default: Remove the annoying node whenever plausible.</title>
<updated>2023-07-21T03:43:53+00:00</updated>
<author>
<name>JSDurand</name>
<email>mmemmew@gmail.com</email>
</author>
<published>2023-07-21T03:43:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.jsdurand.xyz/rep.git/commit/?id=081e3d2ed8d3f9b4e4d6fd864283a4230e09b25a'/>
<id>081e3d2ed8d3f9b4e4d6fd864283a4230e09b25a</id>
<content type='text'>
The chain-rule machine needs a place-holder node at the beginning.
But afterwards that node is pure annoyance and disturbs the
functioning of the machine.  Consequently I removed that node whenever
the right time comes.

This seems to fix some other bugs.  It is reasonable: the presence of
that bogus node is just noise to the machine and error-prone.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The chain-rule machine needs a place-holder node at the beginning.
But afterwards that node is pure annoyance and disturbs the
functioning of the machine.  Consequently I removed that node whenever
the right time comes.

This seems to fix some other bugs.  It is reasonable: the presence of
that bogus node is just noise to the machine and error-prone.
</pre>
</div>
</content>
</entry>
<entry>
<title>chain/atom/default: add a function to print virtual nodes.</title>
<updated>2023-07-21T03:42:02+00:00</updated>
<author>
<name>JSDurand</name>
<email>mmemmew@gmail.com</email>
</author>
<published>2023-07-21T03:42:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.jsdurand.xyz/rep.git/commit/?id=5bb59bb5b944c380f762858e1662a2a17f41677c'/>
<id>5bb59bb5b944c380f762858e1662a2a17f41677c</id>
<content type='text'>
* chain/src/atom/default.rs (print_virtual): Previously printing
  virtual nodes is done inside the function `print_nfa`; now this is
  decoupled and thus more flexible.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* chain/src/atom/default.rs (print_virtual): Previously printing
  virtual nodes is done inside the function `print_nfa`; now this is
  decoupled and thus more flexible.
</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>chain/atom/default: Make `print_nullables` public.</title>
<updated>2023-07-19T05:48:14+00:00</updated>
<author>
<name>JSDurand</name>
<email>mmemmew@gmail.com</email>
</author>
<published>2023-07-19T05:48:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.jsdurand.xyz/rep.git/commit/?id=575023d032affd6e180cd32259c464e84a0e31e9'/>
<id>575023d032affd6e180cd32259c464e84a0e31e9</id>
<content type='text'>
* chain/src/atom/default.rs: Making this function public means I do
  not have to worry about it being unused.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* chain/src/atom/default.rs: Making this function public means I do
  not have to worry about it being unused.
</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>chain/src/atom/default.rs: Add function to print nullables</title>
<updated>2023-07-18T08:22:56+00:00</updated>
<author>
<name>JSDurand</name>
<email>mmemmew@gmail.com</email>
</author>
<published>2023-07-18T08:22:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.jsdurand.xyz/rep.git/commit/?id=0fa0622a24dbdf0c2bd0fbf6bedf4cad5ed8d311'/>
<id>0fa0622a24dbdf0c2bd0fbf6bedf4cad5ed8d311</id>
<content type='text'>
* chain/src/atom/default.rs (print_nullables): This functions prints
  the nullables nodes of an atomic language.  This is useful whe
  designing unit tests, as it enables us to know which rule positions
  are considered accepting by the underlying testing atomic language.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* chain/src/atom/default.rs (print_nullables): This functions prints
  the nullables nodes of an atomic language.  This is useful whe
  designing unit tests, as it enables us to know which rule positions
  are considered accepting by the underlying testing atomic language.
</pre>
</div>
</content>
</entry>
</feed>
