checkpoint
[sbp.git] / TODO
diff --git a/TODO b/TODO
index 1185209..1dc0b33 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,37 +1,26 @@
-// 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
 
+  - simplify metagrammar => go to top-down rewriting => finalize metagrammar and rdp-op's
+
+  - What is our use model?
+    - Parse, attribute, unify       (ag)
+    - Parse, transform tree, walk   (rdp)
+    - Parse, walk
+    - cascading tree rewrites
+
+      ==> use the middle formalism "for now" and in meta.g; layer others
+          on top of it
+
+  - Lay down the law on the different kinds of Sequence productions
+    and how they work.
+
+     => mydrop
+     => mylift
+
+  - whitespace-in-braces?
+  - Deal with the problem of zero-rep productions and whitespace insertion
+
   - switch maximal to not-followed-by (~/~)
 
   - should Union.add() be there?
@@ -63,6 +52,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