Accepted bisonc++ 1.5.0-1 (source)
Scott James Remnant
scott at ubuntu.com
Fri Nov 17 02:10:52 GMT 2006
Accepted:
bisonc++ 1.5.0-1 was ACCEPTED.
Component: universe Section: devel
Origin: Debian/unstable
Format: 1.7
Date: Thu, 16 Nov 2006 22:54:52 +0000
Source: bisonc++
Binary: bisonc++
Architecture: source
Version: 1.5.0-1
Distribution: feisty
Urgency: low
Maintainer: Frank B. Brokken <f.b.brokken at rug.nl>
Changed-By: Scott James Remnant <scott at ubuntu.com>
Description:
bisonc++ - Bison-style parser generator for C++
Closes: 391073
Changes:
bisonc++ (1.5.0-1) unstable; urgency=low
.
[ Frank B. Brokken (Tue, 31 Oct 2006 21:09:51 +0100)]
* New upstream release
(closes #395291)
.
[ George Danchev ]
* build depend on yodl 2.04a-1 to avoid possible rawmacro bugs
* install all README files
* remove old bison-docs
* added watch file
.
bisonc++ (1.4.0-3) unstable; urgency=low
.
[ George Danchev ]
* build-depend on icmake >= 6.30-1 (Closes: #391073)
* debhelper compat 5 - no changes needed
.
bisonc++ (1.4.0-2) unstable; urgency=low
.
[ George Danchev ]
* changelog: upstream author, url locations, debian packaging copyright
* rules: add get-orig-source and get-svn-trunk targets
* control: add Tony Mancill <tmancill at debian.org> to uploaders
* control: add Homepage: http://bisoncpp.sourceforge.net
.
bisonc++ (1.4.0-1) unstable; urgency=low
.
* New upstream release
.
[ Frank Brokken ]
* Some leftover references to the Academic Free License were replaced by
references to the GPL.
* Debian now uses icmake scripts, and INSTALL.im to define the locations
of the various targets. Added the directory ./icmake
[ George Danchev ]
* New build-depends: icmake and yodl >= 2.03
* Architecture: any (of course)
.
bisonc++ (1.03-1) unstable; urgency=low
.
* License changed to the GNU GENERAL PUBLIC LICENSE. See the file
`copyright'.
.
According to the manual page, the debug-output generated by parsers
created using the --debug option should be user-controllable through the
`setDebug()' member. These feature is now actually implemented.
.
The usage info now correctly shows the -V flag as a synonym for the
--verbose option.
.
Introduced George Danchev <danchev at spnet.net> as uploader
.
From now on this file will only reflect Debian-specific changes. See the
newly added file changelog for `upstream' changes. At this point,
changelog will be a copy of debian's changelog file.
.
bisonc++ (1.02) unstable; urgency=low
.
* Following suggestions made by George Danchev, this version was compiled by
the unstable's g++ compiler (version >= 4.1), which unveiled several flaws
in the library's class header files. These flaws were removed (i.e.,
repaired).
.
In order to facilitate compiler selection, the compiler to use is defined
in the INSTALL.cf file.
.
The debian control-files (i.e., all files under the debian subdirectory)
were removed from the source distribution, which is now also named in
accordance with the Debian policy. A diff.gz file was added.
.
bisonc++ (1.01) unstable; urgency=low
.
* Synchronized the version back to numbers-only, adapted the debian
standards and the required bobcat library in the debian/control file.
No implementation changes as compared to the previous version, but I felt
the need to join various sub-sub-versions back to just one standard
version.
.
bisonc++ (1.00a) unstable; urgency=low
.
* Debian's Linda and lintian errors, warnings and notes processed. No
messages are generated by linda and lintian in this version.
.
bisonc++ (1.00) unstable; urgency=low
.
* Bisonc++ Version 1.00 has changed markedly as compared to its predecessor,
bisonc++ 0.98.510.
The main reason for upgrading to 1.00 following a year of testing the 0.98
series is that the grammar analysis and lookahead propagation algorithms
as used in bisonc++ 0.98.510 were either too cumbersome and contained some
unfortunate errors.
The errors were discovered during my 2005-2006 C++ class, where some
students produced grammars which were simple, but were incorrectly
analyzed by bisonc++ 0.98. It turned out that the lookahead (LA)
propagation contained several flaws. Furthermore, a plain and simple bug
assigned the last-used priority to terminal tokens appearing literally in
the grammar (i.e., without explicitly defining them in a %token or
comparable directive). A simple, but potentially very confusing bug.
At the cosmetic level, the information produced with the --construction
option was modified, aiming at better legibility of the construction
process.
The `examples' directory was reduced in size, moving most examples to a
new directory `regression', which now contains a script `run' that can be
used to try each of the examples below the `regression' directory. Some of
the examples call `bison', so in order to run those examples `bison' must
be installed as well. It usually is.
A minor backward IN-compatibility results from a change in prototype of
some private parser member functions. This should only affect exising
Parser.h header files. Simply replacing the `support functions for
parse()' section shown at the end of the header file by the following
lines should make your header file up-to-date again. Note that bisonc++
does not by itself rewrite Parser.h to prevent undoing any modifications
you may have implemented in the parser-class header file:
// support functions for parse():
void executeAction(int ruleNr);
void errorRecovery();
int lookup();
void nextToken();
Please note that this version depends on bobcat 1.7.1 or beyond. If you
compile bobcat yourself, then you may want to know that bobcat's Milter
and Xpointer classes are not used by bisonc++, so they could optionally be
left out of bobcat's compilation.
.
bisonc++ (0.98.510) unstable; urgency=low
.
* When no %union has been declared, no $$ warnings are issued anymore about
non-exisiting types;
When no %union has been declared a $<type>i or $<type>$ warning is issued
about non-exisiting types.
.
The State table (in the generated parse.cc file) containing `PARSE_ACCEPT'
was created with a `REDUCE' indication for grammars whose start symbol's
production rules were non-repetitive. This was repaired in
state/writestatearray.cc by setting the (positive) non-reduce indication
for states using shifts and/or the accept state.
.
The logic in writeStateArray() was modifed: a separate ShiftReduce::Status
variable is now used to store the possible actions: SHIFT, REDUCE or
ACCEPT. The tables show `SHIFTS' if a state uses shifts; `ACCEPTS' if a
state contains PARSE_ACCEPT; and `REDUCE' otherwise.
.
bisonc++ (0.98.500) unstable; urgency=low
.
* Handling of $<type>i and $<type>$ repaired, added the
%negative-dollar-indices directive.
.
$<type> specifications were not properly parsed. Instead of $<type>i or
$<type>$ constructions like $i<type> and $$<type> were parsed, which is
contrary to the manual's specification. The function parsing the $-values
is defined in parser/handledollar.cc.
.
The handling of negative $-indices is improved. Negative $-indices are
used when synthesizing attributes. In that context, $0 is useful, since it
refers to the nonterminal matched before the current rule is starting to
be used, allowing rules like `vardef: typename varlist ' where `varlist'
inherits the type specification defined at `typename'.
.
In most situations indices are positive. Therefore bisonc++ will warn when
zero or non-positive $-indices are seen. The %negative-dollar-indices
directive may be used to suppress these warnings.
.
$-indices exceeding the number of elements continue to cause an error.
.
bisonc++ (0.98.402) unstable; urgency=low
.
* links against bobcat 1.6.0, using bobcat's new Arg:: interface
.
bisonc++ (0.98.400) unstable; urgency=low
.
* state/writestatearray.cc adds {} around individual union values to allow
warningless compilation of the generated parse.cc file by g++-4.0.
.
bisonc++ is now itself too compiled by g++-4.0.
.
bisonc++ (0.98.007) unstable; urgency=low
.
* Added a README.flex file giving some background information about the
provided implementation of the lexical scanner (bisonc++/scanner/yylex.cc)
.
Modified the compilation scripts: bisconc++/flex/FlexLexer.h is now
included by default. This FlexLexer.h file is expected by
bisonc++/scanner/yylex.cc and by the Scanner class.
.
Simplified some compilation scripts.
.
bisonc++ (0.98.006) unstable; urgency=low
.
* Removed the dependency on `icmake'. No change of functionality
See the instructions in the `INSTALL' file when you want to compile and
install `bisonc++' yourself, rather than using the binary (.deb)
distribution.
.
bisonc++ (0.98.005) unstable; urgency=low
.
* Removed the classes Arg, Errno, Msg and Wrap1, using the Bobcat library's
versions of these classes from now on. No feature-changes.
.
Added minor modifications to the `build' script.
.
Annoying Error: The function `ItemSets::deriveAction()' did not recognize
the `ACCEPT' action, so some (most ?) grammars could not be properly
recognized. I applied a quick hack: if an action isn't `shift' or
`reduce', it can be `accept', resulting in acceptance of the grammar. This
solves the actual problem, but I'll have to insepct this in a bit more
detail. For now, it should work ok.
.
bisonc++ (0.98.004) unstable; urgency=low
.
* When new lookahead set elements are added to existing states,
d_recheckState in itemsets/lookaheads.cc (ItemSets::checkLookaheads()) was
reassigned to the state index whose lookaheadset was enlarged. However, if
that happened for existing state `i' and then, during the same
state-inspection, for state `j' where j > i, then the recheck would start
at `j' rather than `i'. This problem was solved by giving d_recheckState
only a lower value than its current value.
With R/R conflicts involving `ACCEPT' reductions (with, e.g., `S_$: S .'),
ACCEPT is selected as the chosen alternative. See State::setReduce()
(state/setreduce.cc). Since this matches with the `first reduction rule'
principle, it should be ok.
%stype specifications may consist of multiple elements: the remainder of
the line beyond %stype is interpreted as the type definition. The
specification should (therefore) not contain comment or other characters
that are not part of the actual type definition. The man-page is adapted
accordingly. Same holds true for the %ltype directive
Added a check whether the grammar derives a sentence
(itemsets/derivesentence.cc). If not, a fatal error is issued. This
happens at the end of the program's actions, and at this point files
etc. have already been generated. They are kept rather than removed for
further reference. Grammars not deriving sentences should probably not be
used.
The original Bison documentation has been converted to a Bisonc++ user
guide. Furthermore, a html-converted manual page is now available under
/usr/share/doc/bisonc++/man
.
The `calculator' example used in the man-page is now under
/usr/share/doc/bisonc++/man/calculator
.
Bisonc++ is distributed under the Academic Free License, see the file
COPYING in /usr/share/doc/bisonc++
.
bisonc++ (0.98.003) unstable; urgency=low
.
* Incomplete default State constructor now explicitly defined, prevents
the incidental erroneous rapporting of conflicts for some states.
.
bisonc++ (0.98.002) unstable; urgency=low
.
* The Wrap1 configurable unary predicate template class replaces various
other templates (WrapStatic, Wrap, Pred1Wrap). No further usage or
implementation changes/modifications.
.
bisonc++ (0.98.001) unstable; urgency=low
.
* This is a complete rewrite of the former bisonc++ (0.91) version. The
program bisonc++ is now a C++ program, producing C++ sources, using the
algorithm for creating LALR-1 grammars as outlined by Aho, Sethi and
Ullman's (1986) `Dragon' book. The release number will remain 0.98 for a
while, and 0.98.001 holds the initial package, new style. Also see the
man-page, since some things have been changed (augmented) since the
previous version. No dramatic changes in the grammar specification method:
Bisonc++ still uses bison's way to specify grammars, but some features,
already obsolete in bisonc++ 0.91 were removed.
.
Also note my e-mail address: the U. of Groningen's official policy now is
to remove department specific information, so it's `@rug.nl' rather than
`@rc.rug.nl', as used before.
.
bisonc++ (0.91) unstable; urgency=low
.
* Added several missing short options (like -B etc) to the getopt() function
call. I forgot to add them to the previous version(s). Internally, all old
C style allocations were changed to C++ style allocations, using operators
new and delete. Where it was immediately obvious that a vector could be
used, I now use vectors. The internally used types `core' `shifts' and
'reductions' (types.h) now use a vector data member rather than an int [1]
member, which is then allocated to its proper (I may hope) size when the
structs are allocated.
.
bisonc++ (0.90) unstable; urgency=low
.
* Command-line options now override matching declarations specified in the
grammar specification file.
.
All %define declarations have been removed. Instead their first arguments
are now used to specify declarations. E.g., %parser-skeleton instead of
%define parser-skeleton.
.
All declarations use lower-case letters, and use only separating hyphens,
no underscores. E.g., %lsp-needed rather than %define LSP_NEEDED
The declaration %class-name replaces the former %name declaration
.
All yy and YY name prefixes of symbols defined by bisonc++ have been
removed. The parser-state `yydefault' has been renamed to `defaultstate'.
.
bisonc++ (0.82) unstable; urgency=low
.
* Added d_nError as protected data member to the base class. Missed it
during the initial conversion. d_nErrors counts the number of parsing
errors. Replaces yynerrs from bison(++)
.
bisonc++ (0.81) unstable; urgency=low
.
* Added the option --show-files to display the names of the files that are
used or generated by bisonc++.
.
bisonc++ (0.80) unstable; urgency=low
.
* Completed the initial debian release. No changes in the software.
.
bisonc++ (0.70-1) unstable; urgency=low
.
* Initial Release.
Files:
9ca8f61c41c296c928d4b280a60e6450 9151 devel optional bisonc++_1.5.0-1.diff.gz
35cd5e7d8600995916ea5c7b0d43f730 602927 devel optional bisonc++_1.5.0.orig.tar.gz
c8690042100270b81f5770e87242be67 753 devel optional bisonc++_1.5.0-1.dsc
More information about the feisty-changes
mailing list