debian/0000755000000000000000000000000012201616106007161 5ustar debian/watch0000644000000000000000000000011312201616106010205 0ustar version=3 https://www.icce.rug.nl/debian/bisonc++/bisonc\+\+_(.*)\.tar\.gz debian/rules0000755000000000000000000001012012201616106010233 0ustar #!/usr/bin/make -f # -*- makefile -*- # Sample debian/rules that uses debhelper. # This file was originally written by Joey Hess and Craig Small. # As a special exception, when this file is copied by dh-make into a # dh-make output file, you may use that output file without restriction. # This special exception was added by Craig Small in version 0.37 of dh-make. # The following is for internal development usage only # Update that sum when new _upstream_ releases occur, this # catches silent file content forges at the upstream server side # Archive downloaded from https://www.icce.rug.nl/debian/bisonc++ # file: bisonc++_x.y.z.tar.gz MD5TRUSTED := be544cafd9798d9c7610dd671b5b7da3 # 5eeb185a47e7e0d7384e68bbf3e6bbff # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 export DEB_BUILD_MAINT_OPTIONS = hardening=+all export CXX=g++-4.8 export CPPFLAGS = $(shell dpkg-buildflags --get CPPFLAGS) export LDFLAGS = $(shell dpkg-buildflags --get LDFLAGS) export CXXFLAGS = $(shell dpkg-buildflags --get CXXFLAGS) CXXFLAGS += --std=c++0x -Wall SKEL = /usr/share/bisonc++ configure: configure-stamp configure-stamp: dh_testdir # Add here commands to configure the package. touch configure-stamp build: build-arch build-indep build-arch: build-stamp build-indep: build-stamp build-stamp: configure-stamp dh_testdir # compile the package. ./build program ./build man touch build-stamp build-indep: ./build manual clean: dh_testdir dh_testroot rm -f build-stamp configure-stamp # Add here commands to clean up after the build process. ./build clean dh_clean install: build dh_testdir dh_testroot dh_prep dh_installdirs # Add here commands to install the package into debian/bisonc++. ./build install program debian/bisonc++/usr/bin/bisonc++ ./build install skel debian/bisonc++/usr/share/bisonc++ ./build install man debian/bisonc++/usr/share/man/man1 ./build install std debian/bisonc++/usr/share/doc/bisonc++ install-indep: ./build install manual debian/bisonc++-doc/usr/share/doc/bisonc++-doc ./build install extra debian/bisonc++-doc/usr/share/doc/bisonc++-doc # Build architecture-independent files here. binary-indep: build-indep install-indep dh_testdir -i dh_testroot -i dh_installdocs -i README.class-setup README.flex README.lookaheads README.states README.parser README.states-and-conflicts dh_installinfo -i dh_installchangelogs -i dh_link -i dh_compress -i dh_fixperms -i dh_installdeb -i dh_gencontrol -i dh_md5sums -i dh_builddeb -i # Build architecture-dependent files here. binary-arch: build install dh_testdir -a dh_testroot -a dh_installchangelogs -a dh_installdocs README-0.98 -a dh_installexamples -a #dh_installman -a dh_link -a dh_strip -a dh_compress -a dh_fixperms -a dh_installdeb -a dh_shlibdeps -a dh_gencontrol -a dh_md5sums -a dh_builddeb -a DEBVERSION:=$(shell head -n 1 debian/changelog | sed -e 's/^[^(]*(\([^)]*\)).*/\1/') UPVERSION:=$(shell echo $(DEBVERSION) | sed -e 's/^.*://' -e 's/-[0-9.]*$$//' -e 's/.dfsg$$//') UPNAME := bisonc++ UPFILE := $(UPNAME)_$(UPVERSION).tar.gz DEFILE := $(UPNAME)_$(UPVERSION).orig.tar.gz URL := https://www.icce.rug.nl/debian/bisonc++ MD5CURRENT := `md5sum ../tarballs/$(DEFILE) | sed -e 's/ .*//'` get-orig-source: @@dh_testdir @@[ -d ../tarballs/. ]||mkdir -p ../tarballs -@if [ ! -f ../tarballs/$(DEFILE) ] ; then \ echo -e "Downloading $(URL)/$(UPFILE)\nSaving into ../tarballs/$(DEFILE) ..." ; \ wget --no-check-certificate --quiet -N -nv -T20 -t3 -O \ ../tarballs/$(DEFILE) $(URL)/$(UPFILE) ; \ else \ echo "Upstream source tarball has already been downloaded" ; \ fi -@if [ "$(MD5CURRENT)" != "$(MD5TRUSTED)" ] ; then \ echo "Expecting upstream filename md5sum $(MD5TRUSTED), but $(MD5CURRENT) found" ; \ echo "Upstream filename md5sum is NOT trusted! Possible upstream filename forge!" ; \ false ; \ else \ echo "Upstream filename md5sum is trusted!" ; \ fi print-version: @@echo "Debian version: $(DEBVERSION)" @@echo "Upstream version: $(UPVERSION)" binary: binary-arch binary-indep .PHONY: build clean binary-indep binary-arch binary install configure debian/changelog0000644000000000000000000006441612201616106011046 0ustar bisonc++ (4.05.00-1) unstable; urgency=low [ Frank B. Brokken ] * New upstream release. - adds new directive, reinstalls the --namespace option, generates warnings for options/directives bisonc++ cannot handle. [ tony mancill ] * Switch g++ dependency to g++-4.8 to allow auto-builders to install the necessary compiler on architectures where g++ (>= 4:4.7) is not available. * Update Vcs fields to be canonical. * Relax debhelper build-dep to be >= 9. -- tony mancill Sat, 10 Aug 2013 22:05:58 -0700 bisonc++ (4.04.01-1) unstable; urgency=low * New upstream release. - Streamlines path specifications for generated files. * Removed the explicit compiler version (4.7) from debian/rules -- Frank B. Brokken Mon, 27 May 2013 17:23:09 +0200 bisonc++ (4.04.00-1) unstable; urgency=low * New upstream release repairs a bug in --target-directory handling, see the upstream's changelog. * Removed the 'git-build' target from debian/rules -- Frank B. Brokken Sun, 26 May 2013 14:34:50 +0200 bisonc++ (4.03.00-2) unstable; urgency=low * Upload to unstable. -- tony mancill Wed, 08 May 2013 20:20:54 -0700 bisonc++ (4.03.00-1) experimental; urgency=low * New upstream release, see the upstream's changelog. -- Frank B. Brokken Sun, 31 Mar 2013 11:46:26 +0200 bisonc++ (4.02.01-1) experimental; urgency=low [ Frank B. Brokken ] * New upstream release, see the upstream's changelog. * Added new 'exceptionHandler' member, updated documents, repaired minor flaws * build script recognizes CXX, CPPFLAGS, CXXFLAGS, LDFLAGS, and SKEL environment variables [ tony mancill ] * debian/rules - Add DEB_BUILD_HARDENING flag - Set CXX=g++-4.7 to match build dependency * debian/control - Update g++ build-dep to g++-4.7 - Bump Standards-Version to 3.9.4 (no changes) - Set Vcs fields to point to collab-maint git repo * Upload to experimental due to versioned dependency on bobcat -- tony mancill Tue, 12 Mar 2013 21:38:14 -0700 bisonc++ (4.01.00-1) unstable; urgency=low * new upstream release depends on bobcat >= 3.00.00 and fixes some small issues (cf. the upstream changelog) -- Frank B. Brokken Sat, 05 May 2012 17:44:12 +0200 bisonc++ (4.00.00-1) unstable; urgency=low * new upstream release moves to the next major release, as bisonc++ itself is now capable of generating a parser using polymorphic semantic values. No additional user-provided implementations are required. -- Frank B. Brokken Fri, 13 Apr 2012 14:21:58 +0200 bisonc++ (3.01.00-1) unstable; urgency=low [ Frank B. Brokken ] * new upstream release adds accidentally omitted '%print-tokens' directive. [ tony mancill ] * set Standards-Version to 3.9.3. -- tony mancill Mon, 27 Feb 2012 23:21:54 +0000 bisonc++ (3.00.00-1) unstable; urgency=low * new upstream release represents a major source overhaul and standardizes options and directives. See the upstream's changelog for details. * NOTE: Existing Parser class interfaces (i.e. parser.h) must be (hand-) modified by declaring a private member void print__(); See the man-page and/or manual for details about print__. -- Frank B. Brokken Mon, 20 Feb 2012 16:36:38 +0100 bisonc++ (2.09.04-1) unstable; urgency=low * new upstream release uses range-based for loops * Build-Depends on g++ (>= 4.6.2) -- Frank B. Brokken Wed, 04 Jan 2012 12:30:48 +0100 bisonc++ (2.09.03-1) unstable; urgency=low [ Frank B. Brokken ] * new upstream release cleans code and recognizes CXXFLAGS and LDFLAGS * Build-Depends on g++ (>= 4:4.6.0) [ tony mancill ] * Add build-arch target to debian/rules. -- tony mancill Mon, 27 Jun 2011 22:07:06 -0700 bisonc++ (2.09.02-2) unstable; urgency=low * build-depend on (fixed) bobcat >= 2.15.01. -- George Danchev Thu, 05 May 2011 22:44:52 +0300 bisonc++ (2.09.02-1) unstable; urgency=low [ Frank B. Brokken ] * New upstream release fixes bugs detected by g++ 4.6. [ tony mancill ] * Remove debian/patches/624958.patch. -- tony mancill Tue, 03 May 2011 21:14:48 -0700 bisonc++ (2.9.1-3) unstable; urgency=low * Set source package format to "3.0 (quilt)" * Add patch to include stdlib.h (FTBFS on sid) (Closes: #624958) * Bump standards version to 3.9.2 (no changes needed) * Depend on debhelper 7.0.15; bump debian/compat to 7. -- tony mancill Mon, 02 May 2011 21:18:26 -0700 bisonc++ (2.9.1-2) unstable; urgency=low * Set distribution to unstable. -- tony mancill Fri, 24 Dec 2010 18:25:41 -0800 bisonc++ (2.9.1-1) experimental; urgency=low New upstream release (build depends on Yodl 3.00.0) -- Frank B. Brokken Wed, 10 Nov 2010 15:04:24 +0100 bisonc++ (2.9.0-1) experimental; urgency=low [ Frank B. Brokken ] New upstream release (build depends on bobcat 2.09.02) [ tony mancill ] * Set distribution to experiemental. -- tony mancill Fri, 05 Nov 2010 22:13:41 -0700 bisonc++ (2.8.0-1) unstable; urgency=low New upstream release -- Frank B. Brokken Sun, 08 Aug 2010 15:22:26 +0200 bisonc++ (2.7.0-2) unstable; urgency=low New release linked against bobcat 2.08.00 -- Frank B. Brokken Tue, 04 May 2010 13:05:46 +0200 bisonc++ (2.7.0-1) unstable; urgency=low [ Frank B. Brokken ] * New upstream release [ George Danchev ] * Added source/format * Pass -a to debhelper scripts in binary-arch -- Frank B. Brokken Wed, 31 Mar 2010 15:58:14 +0200 bisonc++ (2.5.1-1) unstable; urgency=low * New upstream release -- Frank B. Brokken Mon, 08 Mar 2010 20:56:09 +0100 bisonc++ (2.5.0-1) unstable; urgency=low * New upstream release -- Frank B. Brokken Wed, 17 Feb 2010 19:36:58 +0100 bisonc++ (2.4.8-1) unstable; urgency=low * New upstream release * Build-Depends on bobcat 2.04.01 -- Frank B. Brokken Sat, 05 Sep 2009 17:41:44 +0200 bisonc++ (2.4.7-1) unstable; urgency=low * New upstream release -- Frank B. Brokken Wed, 06 May 2009 10:09:05 +0200 bisonc++ (2.4.6-1) unstable; urgency=low [ Frank B. Brokken ] * New upstream release (using modified build script) * Split-off a supplementary documention package bisonc++-doc * Application package bisonc++ now suggests bisonc++-doc * Added binary-indep, build-indep, install-indep for bisonc++-doc construction [ George Danchev ] * fix watch file to use https://www.icce.rug.nl/debian/bisonc++/ instead SF -- Frank B. Brokken Wed, 25 Mar 2009 08:24:48 +0100 bisonc++ (2.4.5-2) unstable; urgency=low * rebuild against bobcat 2.00.1-2 -- George Danchev Sun, 07 Dec 2008 06:55:19 +0200 bisonc++ (2.4.5-1) unstable; urgency=low * New upstream release * Bisonc++ automatically uses the correct bobcat dependency -- Frank B. Brokken Thu, 20 Nov 2008 12:41:32 +0100 bisonc++ (2.4.4-2) unstable; urgency=low * bisonc++ depends run-time on libbobcat1 >= 1.20.1, updated debian/control -- Frank B. Brokken Sun, 02 Nov 2008 11:27:51 +0100 bisonc++ (2.4.4-1) unstable; urgency=low * New upstream release, also new dependency (on libbobcat1 1.20.1) * Removed superfluous tabs from debian/rules -- Frank B. Brokken Sat, 13 Sep 2008 11:28:02 +0200 bisonc++ (2.4.3-1) unstable; urgency=low * New upstream release. -- Frank B. Brokken Tue, 12 Aug 2008 08:41:31 +0200 bisonc++ (2.4.2-1) unstable; urgency=low * New upstream release. (Closes: #465575) * Modified package description. (Closes: #466637) -- Frank B. Brokken Sun, 16 Mar 2008 14:21:37 +0100 bisonc++ (2.4.1-1) unstable; urgency=low [ Frank B. Brokken ] * New upstream release. * Build-Depends on >= libbobcat1-dev 1.17.1-1 * Bump Standards-Version 3.7.3 [ tony mancill ] * Add Homepage: and Vcs-Svn: fields to debian/control -- tony mancill Mon, 31 Dec 2007 15:35:18 -0800 bisonc++ (2.4.0-1) unstable; urgency=low * New upstream release. -- Frank B. Brokken Sun, 02 Dec 2007 11:28:21 +0100 bisonc++ (2.3.1-1) unstable; urgency=low * New upstream release. -- Frank B. Brokken Sat, 17 Nov 2007 15:37:36 +0100 bisonc++ (2.3.0-1) unstable; urgency=low * New upstream release. (Closes: #446127) -- Frank B. Brokken Thu, 18 Oct 2007 15:21:42 +0200 bisonc++ (2.2.0-1) unstable; urgency=low * New upstream release. (Closes: #441631) -- Frank B. Brokken Wed, 12 Sep 2007 11:42:38 +0200 bisonc++ (2.1.0-1) unstable; urgency=low * New upstream release. (Closes: #431470, #395291, #436593) -- Frank B. Brokken Tue, 04 Sep 2007 16:02:00 +0200 bisonc++ (2.0.0-2) unstable; urgency=low * Added missing ${misc:Depends} -- George Danchev Sun, 12 Aug 2007 19:03:56 +0300 bisonc++ (2.0.0-1) unstable; urgency=low * New upstream release. * Build-Depends on bobcat >= 1.15.1, yodl >= 2.11 -- Frank B. Brokken Tue, 07 Aug 2007 09:58:05 +0200 bisonc++ (1.6.1-1) unstable; urgency=low * New upstream release. * Build-Depends on bobcat >= 1.15.0 -- Frank B. Brokken Thu, 17 May 2007 15:56:28 +0200 bisonc++ (1.6.0-1) unstable; urgency=low * New upstream release. (Closes: #417119) * `gos' target in debian/rules changed to: ftp://ftp.icce.rug.nl/pub/frank/debian/tarballs/bisonc++ -- Frank B. Brokken Mon, 09 Apr 2007 15:02:00 +0200 bisonc++ (1.5.2-1) unstable; urgency=low * New upstream release: 1.5.1 is not released. It is available from the svn repository only and was created because of a presumed g++ bug. This release is undoing those changes, since a modification in Bobcat prevents the bug from occurring. Bisonc++ itself is not modified from release 1.5.0 until (including) release 1.5.2. -- Frank B. Brokken Thu, 30 Nov 2006 17:14:10 +0100 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 -- George Danchev Sat, 14 Oct 2006 21:16:13 +0300 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 -- George Danchev Sat, 7 Oct 2006 12:07:52 +0300 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 to uploaders * control: add Homepage: http://bisoncpp.sourceforge.net -- George Danchev Fri, 15 Sep 2006 08:47:20 +0300 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) -- Frank B. Brokken Fri, 21 Jul 2006 16:48:57 +0200 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 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. -- Frank B. Brokken Wed, 19 Jul 2006 13:12:39 +0200 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. -- Frank B. Brokken Thu, 6 Jul 2006 12:41:43 +0200 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. -- Frank B. Brokken Mon, 26 Jun 2006 12:11:15 +0200 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. -- Frank B. Brokken Sun, 28 May 2006 14:26:03 +0200 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. -- Frank B. Brokken Sun, 7 May 2006 15:10:05 +0200 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 $i or $$ 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. -- Frank B. Brokken Tue, 21 Mar 2006 20:47:49 +0100 bisonc++ (0.98.500) unstable; urgency=low * Handling of $i and $$ repaired, added the %negative-dollar-indices directive. $ specifications were not properly parsed. Instead of $i or $$ constructions like $i and $$ 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. -- Frank B. Brokken Sun, 5 Mar 2006 13:59:08 +0100 bisonc++ (0.98.402) unstable; urgency=low * links against bobcat 1.6.0, using bobcat's new Arg:: interface -- Frank B. Brokken Mon, 26 Dec 2005 19:25:42 +0100 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. -- Frank B. Brokken Fri, 18 Nov 2005 22:46:06 +0100 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. -- Frank B. Brokken Fri, 9 Sep 2005 11:42:24 +0200 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. -- Frank B. Brokken Sat, 3 Sep 2005 17:42:29 +0200 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. -- Frank B. Brokken Mon, 22 Aug 2005 13:05:28 +0200 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++ -- Frank B. Brokken Sun, 7 Aug 2005 13:49:07 +0200 bisonc++ (0.98.003) unstable; urgency=low * Incomplete default State constructor now explicitly defined, prevents the incidental erroneous rapporting of conflicts for some states. -- Frank B. Brokken Thu, 26 May 2005 07:21:20 +0200 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. -- Frank B. Brokken Sun, 22 May 2005 15:27:19 +0200 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. -- Frank B. Brokken Mon, 16 May 2005 13:39:38 +0200 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. -- Frank B. Brokken Sat, 19 Feb 2005 10:21:58 +0100 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'. -- Frank B. Brokken Sun, 6 Feb 2005 12:50:40 +0100 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(++) -- Frank B. Brokken Sat, 29 Jan 2005 18:58:24 +0100 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++. -- Frank B. Brokken Fri, 28 Jan 2005 14:50:48 +0100 bisonc++ (0.80) unstable; urgency=low * Completed the initial debian release. No changes in the software. -- Frank B. Brokken Fri, 28 Jan 2005 14:30:05 +0100 bisonc++ (0.70-1) unstable; urgency=low * Initial Release. -- Frank B. Brokken Thu, 27 Jan 2005 22:34:50 +0100 debian/patches/0000755000000000000000000000000012201616106010610 5ustar debian/patches/series0000644000000000000000000000000012201616106012013 0ustar debian/source/0000755000000000000000000000000012201616106010461 5ustar debian/source/format0000644000000000000000000000001412201616106011667 0ustar 3.0 (quilt) debian/compat0000644000000000000000000000000212201616106010357 0ustar 9 debian/copyright0000644000000000000000000000257612201616106011126 0ustar This package was debianized by Frank B. Brokken on Thu, 27 Jan 2005 22:34:50 +0100. It was downloaded from: http://heanet.dl.sourceforge.net/sourceforge/bisoncpp/ Upstream Author: Frank B. Brokken Copyright: Bisonc++ parser generator Copyright (c) 2005 - now by Frank B. Brokken, University of Groningen. License: This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this package; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. On Debian systems, the complete text of the GNU General Public License can be found in `/usr/share/common-licenses/GPL'. Debian packaging copyright:   (C) 2005, 2006 Frank B. Brokken   (C) 2006 George Danchev and is licensed under the GPL, see above. debian/control0000644000000000000000000001053612201616106010571 0ustar Source: bisonc++ Section: devel Priority: optional Maintainer: Frank B. Brokken Uploaders: George Danchev , tony mancill Build-Depends: debhelper (>= 9), libbobcat-dev (>= 3.12.00), icmake (>= 7.19.0), g++-4.8, yodl (>= 3.00.0), hardening-wrapper, hardening-includes Standards-Version: 3.9.4 Homepage: http://bisoncpp.sourceforge.net/ Vcs-Git: git://anonscm.debian.org/collab-maint/bisoncpp.git Vcs-Browser: http://anonscm.debian.org/gitweb/?p=collab-maint/bisoncpp.git Package: bisonc++ Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Suggests: bisonc++-doc, flexc++ Description: Bison-style parser generator for C++ Bisonc++ was designed after `bison++', created by Alain Coetmeur. Bisonc++ adds to bison++ a cleaner class-design, using a base-class to communicate lexical tokens to a lexical scanner. . Since bisonc++ generates the parser class as well as the parsing function. The class can easily be provided with additional members without needing polymorphic functions. Consequently, classes generated by bisonc++ have no virtual members and actually have but one public member: parse(), replacing the old-style bison and bison++ yyparse() function. . Bisonc++ offers many options, among which an option to define classes generated by bisonc++ in a separate namespace. This allows developers to define additional symbols, even outside of the class generated by bisonc++, without encountering name-collision problems. With bisonc++, artificial means to prevent name-collisions, like bison and bison++'s yy-convention are not required anymore when using bisonc++. Bisonc++ merely generates C++ code. If C code is required, bison should be used. Bisonc++'s grammar requirements are highly compatible with bison's requirements, so converting a bison grammar into a bisonc++ grammar should be fairly simple. . In addition to the bisonc++ parser generator itself and several skeleton files, the package contains an extensive man-page, a full manual rewritten after the original bison manual, and several examples. . Some history: Bisonc++ versions 0.98 is a complete rewrite of an LALR(1) parser generator, as described in Aho, Sethi and Ullman's (1986) book `Compilers' (a.k.a. the `Dragon Book'). Version 0.98 was completed in May 2005. Another major rewrite was completed one year later, May 2006, resulting in version 1.00. Package: bisonc++-doc Architecture: all Section: doc Depends: ${shlibs:Depends}, ${misc:Depends} Description: Bison-style parser generator for C++ Bisonc++ was designed after `bison++', created by Alain Coetmeur. Bisonc++ adds to bison++ a cleaner class-design, using a base-class to communicate lexical tokens to a lexical scanner. . Since bisonc++ generates the parser class as well as the parsing function. The class can easily be provided with additional members without needing polymorphic functions. Consequently, classes generated by bisonc++ have no virtual members and actually have but one public member: parse(), replacing the old-style bison and bison++ yyparse() function. . Bisonc++ offers many options, among which an option to define classes generated by bisonc++ in a separate namespace. This allows developers to define additional symbols, even outside of the class generated by bisonc++, without encountering name-collision problems. With bisonc++, artificial means to prevent name-collisions, like bison and bison++'s yy-convention are not required anymore when using bisonc++. Bisonc++ merely generates C++ code. If C code is required, bison should be used. Bisonc++'s grammar requirements are highly compatible with bison's requirements, so converting a bison grammar into a bisonc++ grammar should be fairly simple. . In addition to the bisonc++ parser generator itself and several skeleton files, the package contains an extensive man-page, a full manual rewritten after the original bison manual, and several examples. . Some history: Bisonc++ versions 0.98 is a complete rewrite of an LALR(1) parser generator, as described in Aho, Sethi and Ullman's (1986) book `Compilers' (a.k.a. the `Dragon Book'). Version 0.98 was completed in May 2005. Another major rewrite was completed one year later, May 2006, resulting in version 1.00. . This package provides the supplemental documentation for Bisonc++.