diff options
Diffstat (limited to 'FUTURES')
-rw-r--r-- | FUTURES | 133 |
1 files changed, 61 insertions, 72 deletions
@@ -1,108 +1,100 @@ This file lists future projects and enhancements for gawk. Items are listed in roughly the order they will be done for a given release. This file is -mainly for use by the developer(s) to help keep themselves on track, please +mainly for use by the developers to help keep themselves on track, please don't bug us too much about schedules or what all this really means. -(An `x' indicates that some progress has been made, but that the feature is -not complete yet.) +With the 3.0 release, we are acknowledging that awk is not PERL, nor should +it become PERL. (To paraphrase Dennis Ritchie, "If you want PERL, you +know where to get it.") -For 2.16 -======== -x Move to autoconf-based configure system. - -x Research awk `fflush' function. - -x Generalize IGNORECASE - any value makes it work, not just numeric non-zero - make it apply to *all* string comparisons +The focus on the future is thus narrowed to performance and functional +enhancements, with only minor plans for significant new features. -In 2.17 +For 3.0 ======= -x Allow RS to be a regexp. + DONE: Move to autoconf-based configure system. - RT variable to hold text of record terminator + DONE: Allow RS to be a regexp. - RECLEN variable for fixed length records + DONE: RT variable to hold text of record terminator - Feedback alloca.s changes to FSF + DONE: split() with null string as third arg to split up strings -x Split() with null string as third arg to split up strings + DONE: Analogously, setting FS="" would split the input record into + individual characters. -x Analogously, setting FS="" would split the input record into individual - characters. + DONE: Generalize IGNORECASE + - any value makes it work, not just numeric non-zero + - make it apply to *all* string comparisons -x Clean up code by isolating system-specific functions in separate files. + DONE: Incorporate newer dfa.c and regex.c - Undertake significant directory reorganization. + DONE: Go to POSIX regexps -x Extensive manual cleanup: - Use of texinfo 2.0 features - Lots more examples - Document all of the above. + DONE: Make regex + dfa less dependant on gawk header file includes -x Go to POSIX regexps + DONE: Source code formatting cleaned up and regularized - Make regex + dfa less dependant on gawk header file includes + DONE: Clean up code by isolating system-specific functions in + separate files. - Additional manual features: - Document posix regexps - Document use of dbm arrays - ? Add an error messages section to the manual - ? A section on where gawk is bounded - regex - i/o - sun fp conversions + DONE: General sub function: + gensub(pat, sub, global_flag[, line]) + that return the substituted strings and allow \1 etc. + in the sub string. -For 2.18 -======== - DBM storage of awk arrays. Try to allow multiple dbm packages + DONE: Add AWKPATH to ENVIRON if it's not there - General sub functions: - edit(line, pat, sub) and gedit(line, pat, sub) - that return the substituted strings and allow \1 etc. in the sub - string. - - ? Have strftime() pay attention to the value of ENVIRON["TZ"] - -For 2.19 -======== - Add chdir and stat built-in functions. + DONE: Undertake significant directory reorganization. - Add function pointers as valid variable types. + DONE: Extensive manual cleanup: + Use of texinfo 2.0 features + Lots more examples + Document posix regexps + Document all of the above. - Add an `ftw' built-in function that takes a function pointer. +In 3.1 +====== + A PROCINFO array to replace /dev/pid, /dev/user, et al. - Do an optimization pass over parse tree? + Use mmap to read input files on systems that support it. -For 2.20 or later: -================== -Add variables similar to C's __FILE__ and __LINE__ for better diagnostics -from within awk programs. + Use a new or improved dfa. -Add an explicit concatenation operator and assignment version. + Integrate GNU NLS support. -? Add a switch statement + Bring out hooks for NLS support into gawk itself. -Add the ability to seek on an open file and retrieve the current file position. + DBM storage of awk arrays. Try to allow multiple dbm packages. -Add lint checking everywhere, including check for use of builtin vars. -only in new awk. + Use GNU malloc. -"restart" keyword + Use rx instead of regex. -Add |& + Do a reference card. -Make awk '/foo/' files... run at egrep speeds + ? Have strftime() pay attention to the value of ENVIRON["TZ"] -Do a reference card + Additional manual features: + Document use of dbm arrays + Document NLS support + ? Add exercises + ? Add an error messages section to the manual + ? A section on where gawk is bounded + regex + i/o + sun fp conversions -Allow OFMT and CONVFMT to be other than a floating point format. +For 3.2 +======= + Add a lint check if the return value of a function is used but + the function did not supply a value. -Allow redefining of builtin functions? + Do an optimization pass over parse tree? -Make it faster and smaller. + Make awk '/foo/' files... run at egrep speeds -For 3.x: +For 4.x: ======== Create a gawk compiler? @@ -110,6 +102,3 @@ Create a gawk compiler? Create a gawk-to-C translator? (or C++??) Provide awk profiling and debugging. - - - |