GNU sed 3.95
GNU sed 3.95 has been released. This is an alpha release for the upcoming
GNU sed 4.0 release.
GNU sed 3.95 merges most of the changes in the free-software super-sed
project. In particular:
however).
by `D' or by a substitution command with an empty RHS. For example scripts
like this,
seq 1 10000 | tr \n | ./sed ':a; s/^[0-9][0-9]*
whose behavior was quadratic with previous versions of sed, have now linear
behavior.
possibly empty LHS) more consistent:
pattern GNU sed 3.x GNU sed 4.x
B xBx xBx
BC xBxCx xBxCx
BAC xBxxCx xBxCx
BAAC xBxxCx xBxCx
s/1234/1/)
(sed d; sed G) < TESTFILE
double-spaced TESTFILE, while the equivalent `useless use of cat'
cat TESTFILE | (sed d; sed G)
printed nothing (which is the correct behavior). A test for this bug was
added to the test suite.
thorough description of regular expressions.
use ed or, for more complex tasks, resort to Perl; this is not necessary
anymore.
-u, --unbuffered
Do not attempt to read-ahead more than required; do not buffer stdout.
-l N, --line-length=N
Specify the desired line-wrap length for the `l' command.
A length of "0" means "never wrap".
-r, --regexp-extended
Use extended regexps -- e.g. (abc+) instead of (abc+)
if the file name is /dev/stderr, it means the standard error (inspired by
awk); and similarly for /dev/stdout. This is disabled if POSIXLY_CORRECT is
set.
(Perl-style); in addresses, only `M' works.
shell and get the result into pattern space.
from a sed script to the caller.
not support super-sed's extensions.
(some of them need updating)
a an "alert" (BEL)
f a form-feed
n a newline
r a carriage-return
t a horizontal tab
v a vertical tab
oNNN a character with the octal value NNN
dNNN a character with the decimal value NNN
xNN a character with the hexadecimal value NN
This behavior is disabled if POSIXLY_CORRECT is set, at least for the time
being (until I can be convinced that this behavior does not violate the
POSIX standard). (Incidentally, b (backspace) was omitted because of the
conflict with the existing "word boundary" meaning. ooo octal format was
omitted because of the conflict with backreference syntax.)
of "repeat the last REmatch". As far as I can tell this behavior is
mandated by POSIX, but it would break too many
legacy sed scripts to blithely change GNU sed's default behavior.
This release is known to have bugs. Some can remain in GNU sed 4.0, but not
those that for example give problems when configuring packages, because this
would seriously hinder the usability of a GNU system. Please try GNU sed
3.95 to configure your favorite packages on your favorite architecture, and
report whatever goes wrong to the maintainer at bonzini@gnu.org
(libc-alpha CCed because the bigger test suite might interest the folks
there)
URLs:
-----
ftp:
FTP site for GNU sed 3.95
http:
Web site for super-sed
Paolo Bonzini
_____________________________________________
GNU make 3.80
GNU Make version 3.80 is now available for download.
The `make' utility automates the process of compilation. When the
source files of a large program change, Make automatically determines
which pieces need to be updated and recompiles only those files.
GNU make is fully compliant with the POSIX.2 standard, but also has many
powerful extensions: flexible implicit pattern rules, an extensive set
of text manipulation functions, conditional evaluation of makefiles,
support for parallel command execution, automatic updating of makefiles,
and much more.
In addition to UNIX systems, it can be built for DOS, Windows (using
various toolkits), VMS, and Amiga platforms.
Please see the README and INSTALL files for information on building GNU
make for your system.
This release contains several bug fixes plus some powerful new features,
including an $(eval ...) function, "order-only" prerequisites,
compatibility with the odd SysV make $$@ syntax, a new command-line
option -B or
use with $(call ...), new variables MAKEFILE_LIST and .VARIABLES, and
more.
See the NEWS file and the GNU Make User's Manual, contained in the
distribution, for full details on user-visible changes.
Bugs and problems should be reported to the mailing
list, or entered into the online bug tracking system at Savannah
. You can also find information
for accessing the latest versions of GNU make via CVS at the Savannah
site.
Requests for help can be sent to , or one of the
gnu.utils.bug or gnu.utils.help USENET newsgroups.
The complete distribution is available from the GNU ftp site
ftp://ftp.gnu.org/gnu/make/ and its mirrors. Please see:
http://www.gnu.org/order/ftp.html
for a complete list of international mirror sites.
make-3.80.tar.bz/2 is 921645 bytes
make-3.80.tar.gz/ is 1211924 bytes
MD5 checksums:
0bbd1df101bc0294d440471e50feca71 make-3.80.tar.bz/2
c68540da9302a48068d5cce1f0099477 make-3.80.tar.gz/
Have fun!
-
Paul D. Smith Find some GNU make tips at:
http://www.gnu.org http://make.paulandlesley.org
"Please remain calm...I may be mad, but I am a professional."
_____________________________________________
GNU C Library Release 2.3
Release 2.3 of the GNU C library is now available at
ftp:
and (hopefully soon)
ftp:
and all the mirror sites around the globe.
The new files are
glibc-2.3.tar.bz/2 (also .gz)
glibc-linuxthreads-2.3.tar.bz/2 (also .gz)
glibc-2.2.5-2.3.diff.bz/2 (also .gz)
and for those following the test releases
glibc-2.2.94-2.3.diff.bz/2 (also.gz)
This release introduces a number of new features but not too many.
glibc 2.2 was already mostly complete. Instead this release focuses
on making functionality compliant with standards and on performance
optimizations. The user visible changes include:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Version 2.3
* Masahide Washizawa contributed iconv modules for IBM1163 and IBM1164
charsets.
* iconv (the program and the interface) now accepts empty names (excluding
options like //TRANSLIT) to mean "use charset of current locale".
* localedef can now transliterate characters in strings which are not in
the provided charmap. The information from the input locale is used.
* Prelinking support was added for ELF targets. This requires additional
tools and recent versions of the GNU binutils. Contributed by Jakub
Jelinek.
* Read-only stdio streams now use mmap to speed up operation by
eliminating
copying and buffer underflows. To use add 'm' to the mode string of
the fopen/fdopen/freopen call. Implemented by Ulrich Drepper.
* The malloc functions were completely rewritten by Wolfram Gloger based
on Doug Lea's malloc-2.7.0.c.
* Isamu Hasegawa contributed a completely new and POSIX-conformant
implementation of regex.
* Bruno Haible upgraded the iconv and locale implementation to support
Unicode 3.2.
* Contents of the LC_* and LANG environment variables in the CEN style are
not recognized anymore. It never was used. Change by Ulrich Drepper.
* The runtime (ld.so, libc, libpthread for Linux) now can handle the ELF
thread-local storage (TLS) ABI on some platforms.
Changes by Ulrich Drepper. SH support by Kaz Kojima.
* Bruno Haible contributed iconv converters for ISO-2022-JP-3,
SHIFTJIS-X0213, EUC-JISX0213, and TISCII.
* New header with functions `getifaddrs' and `freeifaddrs':
BSD-compatible interface for getting all network interface addresses.
Implementation for IPv4 by Roland McGrath.
* Loading of locale data is faster due to the introduction of a locale
archive. Implemented by Roland McGrath and Ulrich Drepper.
* Startup times are significantly reduced by not using exported functions
inside the library itself. Changes by Jakub Jelinek, Roland McGrath,
and Ulrich Drepper.
* Steven Munroe contributed a port to PowerPC64/Linux.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This release of the library runs on the following targets:
i[3456]86-*-gnu GNU Hurd on Intel
i[3456]86-*-linux-gnu Linux-2.x on Intel
alpha*-*-linux-gnu Linux-2.x on DEC Alpha
powerpc-*-linux-gnu Linux and MkLinux on PowerPC systems
powerpc64-*-linux-gnu Linux-2.4.19+ on 64-bit PowerPC systems
sparc-*-linux-gnu Linux-2.x on SPARC
sparc64-*-linux-gnu Linux-2.x on UltraSPARC 64-bit
ia64-*-linux-gnu Linux-2.x on ia64
s390-*-linux-gnu Linux-2.x on IBM S/390
s390x-*-linux-gnu Linux-2.4+ on IBM S/390 64-bit
sh-*-linux-gnu Linux-2.x on Super Hitachi
x86-64-*-linux-gnu Linux-2.4+ on x86-64
The following targets should not be far away from being usable:
*-*-gnu GNU Hurd on platforms other than Intel
arm-*-linux-gnu Linux-2.x on ARM
cris-*-linux-gnu Linux-2.4+ on CRIS
hppa*-*-linux-gnu Linux-2.x on HP/PA
m68k-*-linux-gnu Linux-2.x on Motorola 680x0
mips*-*-linux-gnu Linux-2.x on MIPS
Previous releases worked on the following targets, the current status
is unknown:
arm-*-none ARM standalone systems
arm-*-linuxaout Linux-2.x on ARM using a.out (obsolete?!)
We believe that this release is very stable. Upgrading is highly
encouraged.
BUT: updating the C library is no trivial task and it is very easy
to damage one's system. Therefore, persons who do not exactly know
what to do, should consider using a binary distribution instead, when
it becomes available. All major GNU/Linux distributors will hopefully
base their next release on glibc 2.3. Don't tell us you haven't
been warned. Another reason why not everybody should think about
compiling glibc is the disk and CPU requirements: on Intel platforms
the full build requires about 330MB plus the space you need to install
it. This number is higher on most RISC platforms. During the
compilation the compiler will need large amounts of virtual memory.
We are talking about 100MB on Intel and 200MB on Alpha. If using the
`-j' option of make these numbers grow linearly. Building the
complete library without profiling support on a 2xPIIIsources.redhat.com mailing list.
Responsible for this release are among others:
Ulrich Drepper
Wolfram Gloger
Bruno Haible
Isamu Hasegawa
Andreas Jaeger
Jakub Jelinek
Kaz Kojima
H.J. Lu
Roland McGrath
Steven Munroe
Andreas Schwab
Franz Sirl
We want to thank all of them. Thanks also to the few dedicated
testers we have:
Kaoru Fukui
Jack Howarth
-----
cheers,
The FSF GNU C Library Steering Committee
_____________________________________________
Bison 1.50
Bison 1.50 is now available for download.
GNU Bison is a general-purpose parser generator that converts a
grammar description for an LALR(1) context-free grammar into a C
program to parse that grammar. Once you are proficient with Bison,
you may use it to develop a wide range of language parsers, from those
used in simple desk calculators to complex programming languages.
Bison is upward compatible with Yacc: all properly-written Yacc
grammars ought to work with Bison with no change. Anyone familiar
with Yacc should be able to use Bison with little trouble. You need
to be fluent in C programming in order to use Bison or to understand
this manual.
Because the changes within Bison were ambitious, and because some
people already need some of the new features to release their own
packages, we're making this release even though there is still work in
progress. Nevertheless, there is no known problem with the LALR
parsers: you can safely replace your old Bison copy with this release.
The most significant changes between Bison 1.35 and 1.50 are:
1. Many limitations on parser size have been removed.
2. A GLR parser output is available, which makes it possible to parse
any context free grammar, included ambiguous grammars. This typically
allows one to parse ``naturally'' contrived grammars such as C++'s.
This is contributed by Paul Hilfinger.
3. The machinery has been revamped to ease the creation of new kinds of
parsers.
This release is the result of the efforts from Robert Anisko, Akim
Demaille, Paul Eggert, Paul Hilfinger, and many others. Special
thanks to Hans Aberg for his support.
Work in progress includes:
1. a C++ LALR parser
2. a Java LALR parser
3. means to free semantic values during error recovery
4. YYPRINT replacement
and many other things.
You may find GNU Bison at the following location:
ftp:
ftp:
Soon it will also appear on the GNU mirrors listed here:
http:
Here are the MD5 and SHA1 signatures for the compressed tar files:
deddd6f2277cdd8ca43bdf4125d67a87 bison-1.50.tar.bz/2
698f7ccc47519a163c467695a726cc95 bison-1.50.tar.gz/
df56fbe683a4901deb249a69a07bf477a01892d0 bison-1.50.tar.bz/2
cce21237f220906c5af2a71b81db33308d37dcbe bison-1.50.tar.gz/
Please report bugs by email to .
Here are the NEWS file entries for this release:
The declaration
%glr-parser
causes Bison to produce a Generalized LR (GLR) parser, capable of handling
almost any context-free grammar, ambiguous or not. The new declarations
%dprec and %merge on grammar rules allow parse-time resolution of
ambiguities. Contributed by Paul Hilfinger.
Unfortunately GLR parsing does not yet work properly on 64-bit hosts
like the Alpha, so please stick to 32-bit hosts for now.
When not in Yacc compatibility mode, when the output file was not
specified, running `bison foo/bar.y' created `foo/bar.c'. It
now creates `bar.c'.
The undefined token was systematically mapped to 2 which prevented
the use of 2 by the user. This is no longer the case.
If yylex returned an out of range value, yyparse could die. This is
no longer the case.
According to POSIX, the error token must be 256.
Bison extends this requirement by making it a preference: if the
user specified that one of her tokens is numbered 256, then error
will be mapped onto another number.
They no longer report `..., expecting error or...' for states where
error recovery is possible.
Defaults to `$end' instead of `$'.
When a Bison-generated parser encounters a syntax error, it now pops
the stack until it finds a state that allows shifting the error
token. Formerly, it popped the stack until it found a state that
allowed some non-error action other than a default reduction on the
error token. The new behavior has long been the documented behavior,
and has long been required by POSIX. For more details, please see
.
Popped tokens and nonterminals are now reported.
Larger grammars are now supported (larger token numbers, larger grammar
size (= sum of the LHS and RHS lengths), larger LALR tables).
Formerly, many of these numbers ran afoul of 16-bit limits;
now these limits are 32 bits on most hosts.
Bison used to play hacks with the initial rule, which the user does
not write. It is now explicit, and visible in the reports and
graphs as rule 0.
Before, Bison reported the useless rules, but, although not used,
included them in the parsers. They are now actually removed.
They are now reported, as a warning, with their locations.
Rules that can never be reduced because of conflicts are now
reported.
On a grammar such as
%token useless useful
%%
exp: '0' %prec useful;
where a token was used to set the precedence of the last rule,
bison reported both `useful' and `useless' as useless tokens.
as they caused too many portability hassles.
By an accident of design, the default computation of @$ was
performed after another default computation was performed: @$ = @1.
The latter is now removed: YYLLOC_DEFAULT is fully responsible of
the computation of @$.
The token end of file may be specified by the user, in which case,
the user symbol is used in the reports, the graphs, and the verbose
error messages instead of `$end', which remains being the default.
For instance
%token YYEOF 0
or
%token YYEOF 0 "end of file"
This old option, which has been broken for ages, is removed.
Brazilian Portuguese, thanks to Alexandre Folle de Menezes.
Croatian, thanks to Denis Lackovic.
When given `%token 'a' "A"', Bison used to output `#define 'a' 65'.
Tokens are output both as the traditional #define's, and, provided
the compiler supports ANSI C or is a C++ compiler, as enums.
This lets debuggers display names instead of integers.
In addition to --verbose, bison supports --report=THINGS, which
produces additional information:
- itemset
complete the core item sets with their closure
- lookahead
explicitly associate lookaheads to items
- solved
describe shift/reduce conflicts solving.
Bison used to systematically output this information on top of
the report. Solved conflicts are now attached to their states.
Previous versions don't complain when there is a type clash on
the default action if the rule has a mid-rule action, such as in:
%type bar
%%
bar: '0' {} '0';
This is fixed.