rename edu.berkeley.sbp.Cache to Grammar
[sbp.git] / TODO
diff --git a/TODO b/TODO
index 14b121e..daf3667 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,17 +1,55 @@
 _____________________________________________________________________________
 Immediately
+  - use 'a'-'z' or 'a-z' instead of [a-z]?
+  - EOF token?
+  - de-genericize?
+  - better toString() methods all around...
+  - foo.add(x)
+    foo.add(y.andnot(x)) ==> this is broken
+      - distinguish Conjunct from Sequence?
+            => !(Conjunct instanceof Reducible)
+  - document the assumption that Sequences that match epsilon
+    must have tag, and that ONLY that tag is returned
+    when the sequence matches epsilon
+  - try to avoid building the parts of the tree that end up getting
+    dropped
+  - double-check all the region logic
+
+  ..................................................
+
+  - paper/techreport opportunities
+      - interaction between RNGLR and follow restrictions
+      - "doomed node" optimization
+
+  - automatically collect time statistics and display
+  - serializable parse tables?
+  - better ambiguity reporting
+      - colorized tree-diffs?
+      - graphviz?
 
-  - Repeat, Sequence, Tree
-  - simplify Forest (considerably)
-
-  - decent/better error messages
-      - fix the location stuff, it's broken
+______________________________________________________________________________
+v1.1
 
-  - copyright notices
-  - documentation
+  - Treewalker code compiler?
+  - circular gramars?
+      s = A
+      A = A | "b"
+  - skeleton generator?
+  - precedes restrictions ("<-")
+  - MUST HAVE BETTER ERROR MESSAGES
+     - use for developing java15.g
+  - java15.g
+     - once this is ready, do big announcement
+  - broader regression testing (for stuff like error messages, etc)
+  - More topology untangling [later]
+  - grammar highlighting?
+  - Forest needs a "manual access" API
+      - the unwrap bit in Forest makes it really hard
+        to expose an API for forests
+  - rewriting language? multiple passes?
 
 ______________________________________________________________________________
-v1.1
+v1.2
 
   - finalize metagrammar and rdp-op's
   - write some grammars
@@ -32,10 +70,6 @@ Soon
        - eliminated statically?
 
   - substring parsing for better error messages
-  - "lift" cases:
-      - right now I can only lift the last child in a forest...  begs
-        the question of what the right representation for Forests is
-        if we need to be able to do lift operations on it.
 
   - Parameterized LR
   - "Regular Right Part" grammars (NP Chapman, etc)
@@ -51,6 +85,9 @@ Soon
 ______________________________________________________________________________
 Later
 
+  - understand and implement the RNGLR "kernel state" optimization.
+    The _Practical Early Parsing_ paper may help.
+
   - Partly-Linear-PATR? (O(n^6) unification grammar)
 
   - Implement a k-token peek buffer (for each state, see if it "dead