This page is an unofficial, subject to change, work in progress,
It has been about two years since I last updated this, so here goes.
Where We Are Now
Gawk 4.1.4 is the current release. The manual was published at the
beginning of 2015 as the fourth edition of
Effective awk Programming.
Volunteer needed: I would love to find someone to build
gawk with Visual Studio (at least VS 2012) under
Windows and maintain a native Win32 version.
Some nice things have happened in the master branch:
- Fix some of the problems with comments in the pretty printer in the
master branch. This is mostly done; some work on the code for
switch statements remain.
- We now have strongly typed regexp constants.
- There is a new
- Lots of other good stuff, see the
Here are the concrete tasks, roughly in order of priority, with some note
as to who amongst the development team I hope will tackle them:
- Add regex support to the API. Done.
- Additional API work from dev team. Done.
- Move support code into a separate directory. Done.
- Fix Mac OS X PPC compilation issues in master. Done.
- Improve regex matching by caching two copies of each compiled
regex, one for IGNORECASE, one for regular. Done.
- Deal with the lack of MPFR access in the API. WIP.
- Review the doc.
- Make a release.
After that, things to do:
- Use RapidJSON
to write an extension that dumps arrays to JSON and reads them
back in from JSON. This would also be a great test of writing
an extension in C++.
- Rework memory handling to use atom tables for strings, wide
strings, and compiled regex data structures. Keep a percentage
of unreferenced items per table and do a cleanup scan when
that gets hit.
- Do a deep dive on how git is used in the project. Juergen Kahrs and I
have started some documentation as a Texinfo file. A volunteer is
working on this for me.
- Look at the code in the
old-extension directory to get a handle
on what it does, and then try to integrate it into the code base and document
how to use it. It is an old-style extension that allows supplying
user-defined functions to be called when certain array operations are performed.
But the code is somewhat twisty. I will probably have to do this.
Here are some ideas that have been floating around amongst the development
- Think about some sort of namespace mechanism for variables and/or
functions in modules.
- More code review and clean-up.
Copyright © 2009, 2010, 2011, 2012, 2013, 2014, 2016, 2017 Arnold David Robbins. All Rights
First started: 19 December, 2009.
Last updated: 1 February, 2017.