home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 22 gnu / 22-gnu.zip / gnuawk.zip / FUTURES < prev    next >
Text File  |  1996-12-10  |  3KB  |  109 lines

  1. This file lists future projects and enhancements for gawk.  Items are listed
  2. in roughly the order they will be done for a given release.  This file is
  3. mainly for use by the developers to help keep themselves on track, please
  4. don't bug us too much about schedules or what all this really means.
  5.  
  6. With the 3.0 release, we are acknowledging that awk is not PERL, nor should
  7. it become PERL.  (To paraphrase Dennis Ritchie, "If you want PERL, you
  8. know where to get it.")
  9.  
  10. The focus on the future is thus narrowed to performance and functional
  11. enhancements, with only minor plans for significant new features.
  12.  
  13. For 3.0
  14. =======
  15.     DONE: Move to autoconf-based configure system.
  16.  
  17.     DONE: Allow RS to be a regexp.
  18.  
  19.     DONE: RT variable to hold text of record terminator
  20.  
  21.     DONE: split() with null string as third arg to split up strings
  22.  
  23.     DONE: Analogously, setting FS="" would split the input record into
  24.     individual characters.
  25.  
  26.     DONE: Generalize IGNORECASE
  27.         - any value makes it work, not just numeric non-zero
  28.         - make it apply to *all* string comparisons
  29.  
  30.     DONE: Incorporate newer dfa.c and regex.c
  31.  
  32.     DONE: Go to POSIX regexps
  33.  
  34.     DONE: Make regex + dfa less dependant on gawk header file includes
  35.  
  36.     DONE: Source code formatting cleaned up and regularized
  37.  
  38.     DONE: Clean up code by isolating system-specific functions in
  39.     separate files.
  40.  
  41.     DONE: General sub function:
  42.         gensub(pat, sub, global_flag[, line])
  43.     that return the substituted strings and allow \1 etc.
  44.     in the sub string.
  45.  
  46.     DONE: Add AWKPATH to ENVIRON if it's not there
  47.  
  48.     DONE: Undertake significant directory reorganization.
  49.  
  50.     DONE: Extensive manual cleanup:
  51.         Use of texinfo 2.0 features
  52.         Lots more examples
  53.         Document posix regexps
  54.         Document all of the above.
  55.  
  56. In 3.1
  57. ======
  58.     A PROCINFO array to replace /dev/pid, /dev/user, et al.
  59.  
  60.     DONE: Use mmap to read input files on systems that support it.
  61.  
  62.     Add `abort' statement a la Thompson awk.
  63.  
  64.     Consider removing use of and/or need for the protos.h file.
  65.  
  66.     Use a new or improved dfa.
  67.  
  68.     Integrate GNU NLS support.
  69.  
  70.     Bring out hooks for NLS support into gawk itself.
  71.  
  72.     DBM storage of awk arrays. Try to allow multiple dbm packages.
  73.  
  74.     Use GNU malloc.
  75.  
  76.     Use rx instead of regex.
  77.  
  78.     DONE: Do a reference card.
  79.  
  80.     ? Have strftime() pay attention to the value of ENVIRON["TZ"]
  81.  
  82.     Additional manual features:
  83.         Document use of dbm arrays
  84.         Document NLS support
  85.         ? Add exercises
  86.         ? Add an error messages section to the manual
  87.         ? A section on where gawk is bounded
  88.             regex
  89.             i/o
  90.             sun fp conversions
  91.  
  92. For 3.2
  93. =======
  94.     Add a lint check if the return value of a function is used but
  95.     the function did not supply a value.
  96.  
  97.     Do an optimization pass over parse tree?
  98.  
  99.     Make     awk '/foo/' files...    run at egrep speeds
  100.  
  101. For 4.x:
  102. ========
  103.  
  104. Create a gawk compiler?
  105.  
  106. Create a gawk-to-C translator? (or C++??)
  107.  
  108. Provide awk profiling and debugging.
  109.