Copyright (C) 2000-2012 |
GNU Info (gawk.info)Other VersionsOther Freely Available `awk' Implementations ============================================ It's kind of fun to put comments like this in your awk code. `// Do C++ comments work? answer: yes! of course' Michael Brennan There are three other freely available `awk' implementations. This minor node briefly describes where to get them: Unix `awk' Brian Kernighan has made his implementation of `awk' freely available. You can retrieve this version via the World Wide Web from his home page.(1) It is available in several archive formats: Shell archive `http://cm.bell-labs.com/who/bwk/awk.shar' Compressed `tar' file `http://cm.bell-labs.com/who/bwk/awk.tar.gz' Zip file `http://cm.bell-labs.com/who/bwk/awk.zip' This version requires an ISO C (1990 standard) compiler; the C compiler from GCC (the GNU Compiler Collection) works quite nicely. Note: Extensions in the Bell Laboratories `awk', for a list of extensions in this `awk' that are not in POSIX `awk'. `mawk' Michael Brennan has written an independent implementation of `awk', called `mawk'. It is available under the GPL (Note: GNU General Public License.), just as `gawk' is. You can get it via anonymous `ftp' to the host `ftp.whidbey.net'. Change directory to `/pub/brennan'. Use "binary" or "image" mode, and retrieve `mawk1.3.3.tar.gz' (or the latest version that is there). `gunzip' may be used to decompress this file. Installation is similar to `gawk''s (Note: Compiling and Installing `gawk' on Unix.). `mawk' has the following extensions that are not in POSIX `awk': * The `fflush' built-in function for flushing buffered output (Note: Input/Output Functions.). * The `**' and `**=' operators (*note Arithmetic Operators: Arithmetic Ops. and also see *Note Assignment Expressions: Assignment Ops). * The use of `func' as an abbreviation for `function' (Note: Function Definition Syntax.). * The `\x' escape sequence (Note: Escape Sequences). * The `/dev/stdout', and `/dev/stderr' special files (Note: Special File Names in `gawk'.). Use `"-"' instead of `"/dev/stdin"' with `mawk'. * The ability for `FS' and for the third argument to `split' to be null strings (Note: Making Each Character a Separate Field.). * The ability to delete all of an array at once with `delete ARRAY' (Note: The `delete' Statement.). * The ability for `RS' to be a regexp (Note: How Input Is Split into Records.). * The `BINMODE' special variable for non-Unix operating systems (Note: Using `gawk' on PC Operating Systems.). The next version of `mawk' will support `nextfile'. `awka' Written by Andrew Sumner, `awka' translates `awk' programs into C, compiles them, and links them with a library of functions that provides the core `awk' functionality. It also has a number of extensions. The `awk' translator is released under the GPL, and the library is under the LGPL. To get `awka', go to `http://awka.sourceforge.net'. You can reach Andrew Sumner at <andrew_sumner@bigfoot.com>. ---------- Footnotes ---------- (1) `http://cm.bell-labs.com/who/bwk' automatically generated by info2www version 1.2.2.9 |