checkpoint
[sbp.git] / TODO
diff --git a/TODO b/TODO
index 1185209..5f5e1cf 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,59 +1,35 @@
-// priorities are all messy and dont get serialized
-// 1. Error messages
-// 2. Java MetaGrammar (proof of concept)
-// 3. Ivan's MetaGrammar
-// 4. Documentation format
-//       - TIB
-
-// TODO: better API for interfacing with Java
-// TODO: error messages
-// TODO: integrate with TIB
-
-// Element
-// Walk
-// ParseTable / GSS
-// MetaGrammar (necessary/relevant?)
-// Tree<String> (cleanup?)
-// Union.SubUnion
-// Repeat
-
-// FEATURE: serialization of ParseTable's, generation of Java code
-// FEATURE: infer reject elements for literals
-// FEATURE: prefer whitespace higher up
-// FEATURE: full conjunctive and boolean grammars
-// FEATURE: "ambiguity modulo dropped fragments"?  can this be checked for statically?  eliminated statically?
-//            - drop stuff during the parsing process (drop nodes)
-
-// LATER: Element<A> -- parameterize over the input token type?  Makes a huge mess...
-// LATER: Go back to where Sequence is not an Element?
-//            - The original motivation for making Sequence "first class" was the fact that 
-//              in order to do associativity right you need to have per-Sequence follow sets
-
-______________________________________________________________________________
+_____________________________________________________________________________
 Immediately
 
-  - switch maximal to not-followed-by (~/~)
+  - Sensible tree-printout
+  - make Tib.Block extend Tree<>
+
+  - more natural phrasing of metagrammar?
+
+  - finalize metagrammar and rdp-op's
+
+  - Deal with the problem of zero-rep productions and whitespace insertion
 
   - should Union.add() be there?
   - should Atom.top() be there?
 
   - fix the location stuff, it's broken
   - decent/better error messages
+      - substring parsing required
 
   - write some grammars
       - Java grammar
       - TeX (math?)
       - URL (RFC)
       - RFC2822 (email message/headers)
-      - Wiki grammar
+
+  - PL-PATR?
 
 ______________________________________________________________________________
 Soon
 
   - clean up the whole Walk situation
 
-  - cleaner solution to "maximal"?
-
   - "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
@@ -63,6 +39,13 @@ Soon
   - "Regular Right Part" grammars (NP Chapman, etc)
   - Attribute unification
 
+  - serialization of parse tables
+  - inference of rejections for literals
+  - "prefer whitespace higher up" (?)
+  - "ambiguity modulo dropped fragments"?
+       - can this be checked statically?
+       - eliminated statically?
+
 ______________________________________________________________________________
 Later
 
@@ -77,11 +60,6 @@ Later
     nodes which are transient in the sense that they have only one
     eligible reduction?
 
-  - Implement "GLR syntactic predicates" -- the ability to do
-    arbitrary lookahead (ie "followed-by" and "not-followed-by" for
-    arbitrary patterns).  This enables generalized longest-match and
-    lets us drop the Maximal hack.
-
   - Re-read Rekers, particularly the stuff on optimal sharing
 
   - Isolate the Element objects from Parse.Table/GSS so we can move
@@ -138,3 +116,9 @@ Later
   - implement Johnstone's algorithm for "reduced, resolved LR
     tables" to eliminate superfluous reductions on
     epsilon-transitions.
+
+______________________________________________________________________________
+Neat Ideas
+
+  - Rekers & Koorn note that GLR Substring Parsing can be used to do
+    really elegant and generalized "autocompletion".