Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
mawk 1.3.4 20140914
C Awk Shell C++ Other
Branch: master
Failed to load latest commit information.
atarist initial check-in of atarist/README.ST
config-user initial check-in of config-user/cray
debian "fix" defect in Debian package.
examples add missing -f option
icons initial check-in of icons/mawk144.png, icons/mawk48.png
man regen
msdos initial check-in of msdos/vs2008.h, msdos/vs2008.mak
package bump
rexp add param to REmatch to match builtin modules.
test tweak to handle old/new versions of -Wversion
v7 initial check-in of v7/config.h, v7/README
ACKNOWLEDGMENT initial check-in of ACKNOWLEDGMENT
CHANGES rebuilt/retested with vs2008, which is the lowest-supported Microsoft…
COPYING initial check-in of test/mawktest, test/reg1.awk, msdos/examples/srcs…
INSTALL update to generic instructions
Makefile.in fixup #line's in parse.c so that lcov works
README finish sentence fragment (report by Elias Pipping)
aclocal.m4 add change for UnixWare from lynx
array.c regen
array.h regen
array.w cleanup split
bi_funct.c Mike's proposed changes added a flag to REmatch() to tell if the comp…
bi_funct.h adding mktime and systime builtins
bi_vars.c update copyright notices
bi_vars.h copyright-date
cast.c fix a subtle bug in check_strnum - seems that in the Linux branch, it's
code.c fix minor issue found by clang --analyze
code.h implemented length(array) by special-casing the 'builtin' production in
config.guess 2014-03-23
config.sub 2014-07-28
config.user initial check-in of parse.c, config.user, parse.h
config_h.in incorporate "bsd" library into external functions-listing
configure regen
configure.in change default for init-srand
da.c delete MSDOS
error.c date
execute.c delete MSDOS
fcall.c copyright-date
field.c delete MSDOS
field.h Mike sent a patch changing SLen/SType to size_t and unsigned respecti…
files.c ensure that file_flush() returns an error if no match was found
files.h Nathan Weeks raised an issue with Aharon Robbins, pointing out that B…
fin.c date
fin.h date
fpe_check.c recent Cygwin declares _LIB_VERSION in math.h, but linking to the cor…
hash.c gcc-stricter void* and related casts
init.c ensure argument is initialized
init.h add "/dev/stdin" name for stdin for consistency with stdout and stderr,
install-sh initial check-in of install-sh
jmp.c update copyright notices
jmp.h copyright-date
kw.c implement gawk extension "nextfile" (several requests, but originally…
main.c cleanup split
makedeps.sh update copyright notices
makescan.c update copyright notices
matherr.c recent Cygwin declares _LIB_VERSION in math.h, but linking to the cor…
mawk.ac.m4 initial check-in of aclocal.m4, mawk.ac.m4, configure
mawk.h get rid of unnecessary warning shown by gcc -Wcast-qual
memory.c update copyright notices
memory.h update copyright notices
missing.c prompted by header-conflict in Dominic Let's patch for strftime feature,
mkdirs.sh initial check-in of mkdirs.sh
nstd.h fix use of obsolete NO_MATHERR
packing.list initial check-in of array.w, CHANGES, packing.list
parse.c regen
parse.h implemented length(array) by special-casing the 'builtin' production in
parse.y gcc-stricter
patchlev.h bump
print.c cleanup split
re_cmpl.c Arnold reported this difference between gawk/mawk:
regexp.c simplified debugging of regexp's by changing the goto's to a macro (s…
regexp.h Mike's proposed changes added a flag to REmatch() to tell if the comp…
regexp_system.c Mike's proposed changes added a flag to REmatch() to tell if the comp…
repl.h Arnold reported this difference between gawk/mawk:
rexp.c given a regular expression like
rexp.h Mike sent a patch changing SLen/SType to size_t and unsigned respecti…
rexp0.c update copyright notices
rexp1.c update copyright notices
rexp2.c Mike sent a patch changing SLen/SType to size_t and unsigned respecti…
rexp3.c add trace like the system variant (without the pattern string, since …
rexp4.c Mike sent a patch changing SLen/SType to size_t and unsigned respecti…
rexpdb.c Tibor Palinkas (libmawk@igor2.repo.hu) reported/reminded me about a c…
scan.c Coverity 1232083 - actually a false positive, but simple to fix.
scan.h update copyright notices
scancode.c regen
scancode.h update copyright notices
sizes.h cleanup split
split.c get rid of unnecessary warning shown by gcc -Wcast-qual
split.h get rid of unnecessary warning shown by gcc -Wcast-qual
symtype.h make type_to_str() public so I can use it in traces
trace.c add TraceVA()
types.h Mike sent a patch changing SLen/SType to size_t and unsigned respecti…
vargs.h drop varargs support (use only stdarg.h)
version.c better choice of naming for random-funcs
vs6.mak none of my logs require anything in missing.c - remove it altogether …
zmalloc.c date
zmalloc.h update copyright notices

README

-- $MawkId: README,v 1.5 2010/05/13 21:52:05 tom Exp $
-- vile:txtmode fc=78

mawk -- an implementation of new/posix awk
version 1.3.4

Generic installation instructions are in file INSTALL.
This file gives more specific information.

Send bug reports, comments, questions, etc. to 

	Thomas E. Dickey <dickey@invisible-island.net>
	http://invisible-island.net/mawk/
	ftp://invisible-island.net/mawk/

-------------------------------------------------------------------------------

Portability:
-----------

	This program builds/runs on several POSIX-style platforms.
	It has been recently tested for these:

	AIX (5.1 and 5.3, using cc and gcc)
	Cygwin (1.5.21 on Windows/XP)
	FreeBSD (6.0)
	HPUX (10.20, 11.00, 11.11 and 11.23, using cc and gcc)
	IRIX64 (using cc and gcc)
	Linux (several flavors, using gcc and icc)
	MinGW/MSYS (on Windows/XP)
	OpenBSD (4.1)
	Solaris (2.6 to 10, using cc and gcc)
	Tru64 (4.0D and 5.1, using cc and gcc)

Options:
-------

	The configure script has these application-specific options:

	--disable-echo          display "compiling" commands

		Show "compiling foo.c" rather than the full compiler and
		options.  Those are clutter useful only to a developer. 
		Developers focus on compiler warnings anyway.

	--enable-warnings       test: turn on gcc compiler warnings

		This turns on the usual gcc compiler warnings needed to
		do useful development.  If you happen to be using the
		Intel compiler icc, it does the right thing for that.

	--with-builtin-regex    use mawk's own regular-expressions engine

		Normally mawk's configure script uses the built-in regular
		expressions.  The choice of default is based on where the
		greatest lossage occurs.  More scripts use gawk's
		null-character extension than use POSIX brace expressions.  If
		your needs are different, build mawk using an external library.

Limitations:
-----------

	mawk 1.3.3 was developed to correspond with a POSIX draft.  POSIX
	continued, and incorporated some of mawk's extensions as features. 
	The 1.3.4 release fills in the major areas in which POSIX grew past
	the mawk 1.3.3 implementation.

	mawk's built-in regular expression engine does not yet support brace
	expressions, e.g.,

		/a{,4}/

	Use an external regular expression library if you require brace
	expressions.  Aside from that, mawk's built-in regular expressions
	provide POSIX functionality.

	Using an external regular expression library means that mawk cannot
	match expressions containing the null character.  That is a
	nonstandard feature provided by gawk.  Using mawk's built-in regular
	expressions, there is some support for this feature.

	Aside from supporting nulls, using an external regular expression
	library is usually advantageous.

	The Cygwin math library has some problems (which are also visible in
	the gawk port).  For instance, its log() function returns Inf
	(infinity) for log(-8) rather than NaN (not a number) as all of the
	Unix and similar platforms would do.

	The MSYS package for regular expressions is unusable as an external
	library for mawk because it generates a runtime error when asked to
	compile a newline, e.g., "\n".  mawk does this during initialization.

	The MinGW/MSYS port does not currently support pipes.  There is
	source-code from the obsolete MS-DOS port which can be reused for this
	purpose; however that is not the focus of the 1.3.4 release.
Something went wrong with that request. Please try again.