X-Git-Url: http://git.megacz.com/?p=sbp.git;a=blobdiff_plain;f=TODO;h=daf3667f5e3c10aa0f602930ae2165abf91a6d49;hp=1e53bb83803c4c468679d4feecd2e18fc61b6032;hb=5c4157c1118401c4223ff485e9531fc3ba851be2;hpb=e5cfb136bf7fd1352eff1bd87a458aa4ff748537 diff --git a/TODO b/TODO index 1e53bb8..daf3667 100644 --- a/TODO +++ b/TODO @@ -1,35 +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? -- If a top-level rule has labels but no head-tag, like this - Foo = a:Bar b:Baz - then infer the name of the rule it belongs to - -create( $c:{...}, class ) = - return create($c:{...}) - -create( h:{...}, class ) = - -create( , String) - -create( _:{...}, String) = treat as char[] -create( _:{...}, c[] ) = { create(.,c), create(.,c), ... } - -create( $c:{...} ) = - - - - better ambiguity debugging tools / visualization - - - ParseFailed, GSS, Walk, Parser, Sequence, Forest - - - Fix the metagrammar (really?) - - evil problems with (x y? z /ws) +______________________________________________________________________________ +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 @@ -39,8 +59,6 @@ v1.1 - RFC2822 (email message/headers) - clean up the whole Walk situation (?) - - what if Tree<> could unwrap itself? - ______________________________________________________________________________ Soon @@ -52,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) @@ -71,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