DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

(gawk.info) Improvements

Info Catalog (gawk.info) Future Extensions (gawk.info) Notes
 
 Suggestions for Improvements
 ============================
 
    Here are some projects that would-be `gawk' hackers might like to
 take on.  They vary in size from a few days to a few weeks of
 programming, depending on which one you choose and how fast a
 programmer you are.  Please send any improvements you write to the
 maintainers at the GNU project.   Adding New Features Adding Code,
 for guidelines to follow when adding new features to `gawk'.  
 Reporting Problems and Bugs Bugs, for information on contacting the
 maintainers.
 
   1. Compilation of `awk' programs: `gawk' uses a Bison (YACC-like)
      parser to convert the script given it into a syntax tree; the
      syntax tree is then executed by a simple recursive evaluator.
      This method incurs a lot of overhead, since the recursive
      evaluator performs many procedure calls to do even the simplest
      things.
 
      It should be possible for `gawk' to convert the script's parse tree
      into a C program which the user would then compile, using the
      normal C compiler and a special `gawk' library to provide all the
      needed functions (regexps, fields, associative arrays, type
      coercion, and so on).
 
      An easier possibility might be for an intermediate phase of `awk'
      to convert the parse tree into a linear byte code form like the
      one used in GNU Emacs Lisp.  The recursive evaluator would then be
      replaced by a straight line byte code interpreter that would be
      intermediate in speed between running a compiled program and doing
      what `gawk' does now.
 
   2. The programs in the test suite could use documenting in this
      Info file.
 
   3. See the `FUTURES' file for more ideas.  Contact us if you would
      seriously like to tackle any of the items listed there.
 
Info Catalog (gawk.info) Future Extensions (gawk.info) Notes
automatically generated byinfo2html