109 lines
2.8 KiB
Plaintext
109 lines
2.8 KiB
Plaintext
|
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 developers to help keep themselves on track, please
|
||
|
don't bug us too much about schedules or what all this really means.
|
||
|
|
||
|
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.")
|
||
|
|
||
|
The focus on the future is thus narrowed to performance and functional
|
||
|
enhancements, with only minor plans for significant new features.
|
||
|
|
||
|
For 3.0
|
||
|
=======
|
||
|
DONE: Move to autoconf-based configure system.
|
||
|
|
||
|
DONE: Allow RS to be a regexp.
|
||
|
|
||
|
DONE: RT variable to hold text of record terminator
|
||
|
|
||
|
DONE: split() with null string as third arg to split up strings
|
||
|
|
||
|
DONE: 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
|
||
|
|
||
|
DONE: Incorporate newer dfa.c and regex.c
|
||
|
|
||
|
DONE: Go to POSIX regexps
|
||
|
|
||
|
DONE: Make regex + dfa less dependant on gawk header file includes
|
||
|
|
||
|
DONE: Source code formatting cleaned up and regularized
|
||
|
|
||
|
DONE: Clean up code by isolating system-specific functions in
|
||
|
separate files.
|
||
|
|
||
|
DONE: General sub function:
|
||
|
gensub(pat, sub, global_flag[, line])
|
||
|
that return the substituted strings and allow \1 etc.
|
||
|
in the sub string.
|
||
|
|
||
|
DONE: Add AWKPATH to ENVIRON if it's not there
|
||
|
|
||
|
DONE: Undertake significant directory reorganization.
|
||
|
|
||
|
DONE: Extensive manual cleanup:
|
||
|
Use of texinfo 2.0 features
|
||
|
Lots more examples
|
||
|
Document posix regexps
|
||
|
Document all of the above.
|
||
|
|
||
|
In 3.1
|
||
|
======
|
||
|
A PROCINFO array to replace /dev/pid, /dev/user, et al.
|
||
|
|
||
|
DONE: Use mmap to read input files on systems that support it.
|
||
|
|
||
|
Add `abort' statement a la Thompson awk.
|
||
|
|
||
|
Consider removing use of and/or need for the protos.h file.
|
||
|
|
||
|
Use a new or improved dfa.
|
||
|
|
||
|
Integrate GNU NLS support.
|
||
|
|
||
|
Bring out hooks for NLS support into gawk itself.
|
||
|
|
||
|
DBM storage of awk arrays. Try to allow multiple dbm packages.
|
||
|
|
||
|
Use GNU malloc.
|
||
|
|
||
|
Use rx instead of regex.
|
||
|
|
||
|
DONE: Do a reference card.
|
||
|
|
||
|
? Have strftime() pay attention to the value of ENVIRON["TZ"]
|
||
|
|
||
|
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
|
||
|
|
||
|
For 3.2
|
||
|
=======
|
||
|
Add a lint check if the return value of a function is used but
|
||
|
the function did not supply a value.
|
||
|
|
||
|
Do an optimization pass over parse tree?
|
||
|
|
||
|
Make awk '/foo/' files... run at egrep speeds
|
||
|
|
||
|
For 4.x:
|
||
|
========
|
||
|
|
||
|
Create a gawk compiler?
|
||
|
|
||
|
Create a gawk-to-C translator? (or C++??)
|
||
|
|
||
|
Provide awk profiling and debugging.
|