Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[announcement] runawk-0.18.0 has been released

1 view
Skip to first unread message

Aleksey Cheusov

unread,
Nov 11, 2009, 2:24:35 PM11/11/09
to
I've released new version of runawk.

------------------------------------------------------------
WHAT IS RunAWK:

runawk is a small wrapper for the AWK interpreter that helps one
write standalone AWK scripts. Its main feature is to provide a
module/library system for AWK which is somewhat similar to Perl's
"use" command. It also allows you to select a preferred AWK
interpreter and to setup the environment for your scripts. It also
provides other helpful features.
Dozens of <modules>.awk are also provided.

------------------------------------------------------------
SOURCES:

MIT licensed

http://sourceforge.net/projects/runawk
http://freshmeat.net/projects/runawk

------------------------------------------------------------
MAJOR CHANGES IN RUNAWK-0.18.0:

Makefile:
!!! "install-dirs" target has been renamed to "installdirs" !!!

- At compile time MODULESDIR can contain a *list* of
colon-separated directories,
e.g. /usr/local/share/runawk:/usr/local/share/awk

- power_getopt.awk, alt_getopt.awk and init_getopt.awk:
- Support for multiply applied options, e.g. -vvv for increasing
verbosity level. If option without arguments is multiply
applied, getarg() function returns a number of times it was
applied, not just 0 or 1.

New modules:

- init_getopt.awk using alt_getopt.awk and used by power_getopt.awk.
Its goal is to initialize `long_opts' and `long_opts' variables
but not run `getopt' function.

- heapsort.awk - heapsort :-)
- quicksort.awk - quicksort :-)
- sort.awk - either heapsort or quicksort,
the default is heapsort.
Unfortunately GAWK's asort() and asorti() functions
do *not* satisfy my needs. Another (and more important) reason
is a portability.

Improvements, clean-ups and fixes in regression tests.

runawk-0-18-0 was successfully tested on the following platforms:
NetBSD-5.0/x86, NetBSD-2.0/alpha, OpenBSD-4.5/x86,
FreeBSD-7.1/x86, FreeBSD-7.1/spark, Linux/x86 and
Darwin/ppc.

------------------------------------------------------------
MODULES PROVIDED BY RUNAWK:

abort.awk, alt_assert.awk
- power abort() and assert()
alt_join.awk - join :-)
braceexpand.awk - awk equivalent to shell's braceexpand functionality
basename.awk, dirname.awk
- equivalents to basename(1) and dirname(1)
embed_str.awk - reads strings from AWK code
exitnow.awk -
has_prefix.awk, has_suffix.awk
- trivial string functions
match_br.awk - find pair closed brackets in a string
max.awk, min.awk, isnum.awk, abs.awk
- trivial math functions
modinfo.awk - routines to get an information about modules that
are in use
multisub.awk - another replacement functions
pow.awk - synonym for ^
init_getopt.awk, alt_getopt.awk, power_getopt.awk
- POSIX/SUS compatible routines
for handling options EASILY ;-)
readfile.awk - read an entire file into variable
runcmd.awk - safe wrapper over system()
shquote.awk - escapes shell's special characters
heapsort.awk, quicksort.awk, sort.awk
- sorting functions
str2regexp.awk - string to regexp routines
tokenre.awk - alternative mechanism for separating input into tokens
xclose.awk, xgetline.awk, xsystem.awk
- functions to write robust programs

--
Best regards, Aleksey Cheusov.

0 new messages