recompile metagrammar
[sbp.git] / TODO
diff --git a/TODO b/TODO
index 5522eab..daf3667 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,29 +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?
 
-  - Topology crap is kinda messed up
-      - Atom should be a topology, shouldn't it?
-
-  - needs/hates/follow API ugliness
-
-  - do Forest/Tree still need a Region?
-  - reconsider the degree of genericization
-  - GraphViz stuff pollutes the API...
-  - Forest needs a "manual access" API
-      - the unwrap bit in Forest makes it really hard to expose an API for forests
-
-  - evil problems with      (x y? z /ws)
-  - ParseFailed, GSS, Walk, Parser, Sequence, Forest
-  - copyright notices
-  - documentation
+______________________________________________________________________________
+v1.1
 
+  - 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?
-  - comment indentation vs block indentation?
-  - { and } in <pre>
-  - recursive { { foo } }
+  - 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
@@ -59,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