diff options
author | JSDurand <mmemmew@gmail.com> | 2023-02-27 12:36:41 +0800 |
---|---|---|
committer | JSDurand <mmemmew@gmail.com> | 2023-02-27 12:36:41 +0800 |
commit | fbaa420ed550e9c3e7cdc09d4a8ec22bfbd782a6 (patch) | |
tree | fad9722825bb3fa796dd52c3fd4a8bf46b958cf9 /chain/src/plan.org | |
parent | afad02bdff111ecccb0077b9c989e869723c231c (diff) |
before a major refactor
I decide to adopt a new approach of recording and updating item
derivation forests. Since this affects a lot of things, I decide to
commit before the refactor, so that I can create a branch for that
refactor.
Diffstat (limited to 'chain/src/plan.org')
-rw-r--r-- | chain/src/plan.org | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/chain/src/plan.org b/chain/src/plan.org index 02e14c9..520ba8f 100644 --- a/chain/src/plan.org +++ b/chain/src/plan.org @@ -2,18 +2,17 @@ #+AUTHOR: Durand #+DATE: <2022-11-18 Ven 19:57> -* Things to do [6/9] +* Things to do [9/9] - [X] Implement builders for graphs - [X] Find sets of the first terminals for each non-terminal, in the grammar module. -- [-] Collect various grammars for testing. [5/6] +- [X] Collect various grammars for testing. [5/5] + [X] One simple grammar + [X] Notes + [X] Parentheses + [X] Pathelogical left-recursive + [X] Pathelogical right-recursive - + [ ] Pathelogically ambiguous # More should be added - [X] NFA [4/4] + [X] Add regular expression into NFA. @@ -79,14 +78,13 @@ lack of this step might be the root cause of the failure of the previous version of this project. + [X] Test atoms -- [-] Implement semiring. [2/5] +- [X] Implement semiring. [4/4] + [X] Define the trait. + [X] Define items and rules for the chain-rule parser, as an item-based description. - + [ ] Implement the boolean semiring. - + [ ] Implement the natural number semiring. - + [ ] Implement the free semiring. -- [-] Implement languages. [5/6] + + [X] Implement the natural number semiring. + + [X] Implement the free semiring. +- [X] Implement languages. [6/6] + [X] First define a trait with the expected behaviours. + [X] Then implement them as doubly labelled graphs. + [X] Each edge in the chain-rule machine needs to be labelled also @@ -94,7 +92,7 @@ of those "plugs"! + [X] Then implement finding derivatives by use of the chain rule. + [X] Handle Semirings - + [-] Tests + + [X] Tests - [X] Miscellaneous [1/1] + [X] Implement a function for NFA that checks if a given predicate is satisfied for each edge label. |