Home | History | Annotate | Line # | Download | only in dist
      1 TODO:
      2 
      3  * Documentation
      4 
      5    - Finish the reference manual of the API.
      6    - Finish the manual describing the syntax and semantics of regexps.
      7    - Write a description of the algorithms used.  There's already my
      8      Master's Thesis, but it's not TRE-specific, and it's a
      9      thesis, not an algorithm description.
     10    - Write man page for tre regexp syntax.
     11 
     12  * POSIX required features
     13 
     14    - Support for collating elements and equivalence classes.  This
     15      requires some level of integration with libc.
     16 
     17  * New features
     18 
     19    - Support for GNU regex extensions.
     20      - word boundary syntax [[:<:]] and [[:>:]]
     21      - beginning and end of buffer assertions ("\`" and "\'")
     22      - is there something else missing?
     23    - Better system ABI support for non-glibc systems?
     24    - Transposition operation for the approximate matcher?
     25 
     26  * Extend API
     27 
     28    - Real-time interface?
     29       - design API
     30       - return if not finished after a certain amount of work
     31       - easy for regexec(), more work for regcomp().
     32 
     33 
     34  * Optimizations
     35 
     36    - Make specialized versions of matcher loops for REG_NOSUB.
     37 
     38    - Find out the longest string that must occur in any match, and
     39      search for it first (with a fast Boyer-Moore search, or maybe
     40      just strstr).  Then match both ways to see if it was part of
     41      match.
     42 
     43    - Some kind of a pessimistic histogram filter might speed up
     44      searching for approximate matching.
     45 
     46    - Optimize tre_tnfa_run_parallel to be faster (swap instead of
     47      copying everything?  Assembler optimizations?)
     48 
     49    - Write a benchmark suite to see whan effects different
     50      optimizations have in different situations.
     51