summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2023-08-10Move the trait `Forest` to the crate "forest".JSDurand
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.
2023-08-09Fix a bug of using incorrect forest nodes to plant.JSDurand
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.
2023-08-04add a crate 'tokens'JSDurand
This crate is responsible for the users to conveniently define their own tokenizers. Right now the user has to tokenize the input string manually, which is not quite what is expected from a parser, from the view point of users.
2023-08-04minor adjustmentsJSDurand
Not bug deals but adjustments of details.
2023-07-30Fix makefile's.JSDurand
Fix the broken Makefiles.
2023-07-22Add some auxiliary data.JSDurand
Try to fix some minor issues.
2023-07-21Add variations to the testJSDurand
Add an intentionally ambiguous grammar for testing purposes. It seems to work fine.
2023-07-21bump versionJSDurand
This bumping of version is insignificant. I just find it notable that I seem to finally obtain a version without trivial bugs. Hooray!
2023-07-18test.c: Save the forest to a file.JSDurand
This is not of much use right now, but can be helpful later.
2023-07-16Fix the bug of forgetting to check cloned nodes.JSDurand
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.
2023-07-15test.c: I forgot to check if a malloc fails.JSDurand
* src/test.c: input is a malloc'ed pointer, which can be NULL due to malloc not being able to allocate enough memory. So I have to guard against this possibility. Aside: Why are some intermediate files added again?
2023-07-13helper.h: delete a duplicated declarcationJSDurand
2023-07-13remove intermediate filesJSDurand
Those were added by accident.
2023-07-12reformat some C functionsJSDurand
I do not use a tool to automatically format the codes, so sometimes the codes look ugly. This commit reformats the codes so that they look better and shorter on each line.
2023-07-08Finished the Emacs binding.JSDurand
Now the binding part is finished. What remains is a bug encountered when planting a fragment to the forest which intersects a packed node, which would lead to invalid forests. This will also cause problem when planting a packed fragment, but until now my testing grammars do not produce packed fragments, so this problem is not encountered yet. I am still figuring out efficient ways to solve this problem.
2023-06-18adjust autotools settingsJSDurand
Add more directories under control of autotools.
2022-11-15Initial commitJSDurand
Basic GNU standard files are added, and we now stop worrying about monadic anamorphisms. The current focus is on testing the correctness of the algorithm, so I need convenient support for manipulating, interpreting, examining, and per chance animating nondeterministic automata.